Internet Direct (Indy): An Open Source suite of Internet components

Internet Direct (Indy) An Open Source suite of Internet components. Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) an

Views 321 Downloads 4 File size 58MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Internet Direct (Indy) An Open Source suite of Internet components.

Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.

Table of Contents Introduction to the Indy Project What is Indy.Sockets? Introduction to Indy Licenses Technical Support Project Links Sponsors and Donors Credits

Introduction to Indy.Sockets version 10 What's new in Indy.Sockets Version 10? Packages and Assemblies Installing and Removing

Migrating to Indy.Sockets Version 10 .Net compatibility Packages Changes Changes to the Object Hierarchy

Symbol Reference Classes EComponentError Class ECompressionError Class EDecompressionError Class EHL7CommunicationError Class EIdAlreadyConnected Class EIdAlreadyRegisteredAuthenticationMethod Class EIdBlockingNotSupported Class EIdCanNotBindPortInRange Class EIdCanNotBindRang Class EIdCanNotCreateMessagePart Class EIdCannotSetIPVersionWhenConnected Class EIdCannotUseNonSocketIOHandler Class EIdClosedSocket Class EIdCmdTCPClientConnectError Class EIdCmdTCPClientError Class EIdCompressionError Class EIdCompressionException Class EIdCompressorInitFailure Class EIdConnClosedGracefully Class EIdConnectException Class EIdConnectionStateError Class EIdConnectTimeout Class EIdCorruptServicesFile Class EIdCouldNotBindSocket Class EIdDecompressionError Class EIdDecompressorInitFailure Class Internet Direct (Indy) Version 10.1.5

1 2 3 14 15 18 19 21

27 28 30 35

41 42 47 51

59 60 60 60 60 61 62 63 63 64 64 65 65 66 66 67 67 68 68 68 69 69 70 70 70 71 71 72 iii

EIdDirectSMTPCannotAssignHost Class EIdDirectSMTPCannotResolveMX Class EIdDisconnectedProbablyIdledOut Class EIdDnsResolverError Class EIdDNSServerSettingException Class EIdDNSServerSyncException Class EIdDoesNotSupportAPOP Class EIdEmailParseError Class EIdEmptySASLList Class EIdEndOfStream Class EIdException Class EIdExtensionAlreadyExists Class EIdFailedToRetreiveTimeZoneInfo Class EIdFiber Class EIdFiberFinished Class EIdFibersNotSupported Class EIdFileNotFound Class EIdFileSystemCannotRemoveDir Class EIdFileSystemException Class EIdFileSystemFileNotFound Class EIdFileSystemNotADir Class EIdFileSystemNotAFile Class EIdFileSystemPermissionDenied Class EIdFSPException Class EIdFSPFileAlreadyExists Class EIdFSPFileNotFound Class EIdFSPPacketTooSmall Class EIdFSPProtException Class EIdFTPAUTHException Class EIdFTPBoundPortMaxGreater Class EIdFTPBoundPortMinLess Class EIdFTPCannotBeNegative Class EIdFTPCanNotSetAUTHCon Class EIdFTPConnAssuranceFailure Class EIdFTPDataPortProtection Class EIdFTPException Class EIdFTPFileAlreadyExists Class EIdFTPImplicitTLSRequiresSSL Class EIdFTPMustUseExtWithIPv6 Class EIdFTPMustUseExtWithNATFastTrack Class EIdFTPNoAUTHWOSSL Class EIdFTPNoCCCWOEncryption Class EIdFTPNoDataPortProtectionAfterCCC Class EIdFTPNoDataPortProtectionWOEncryption Class EIdFTPOnCustomFTPProxyRequired Class EIdFTPPassiveMustBeTrueWithNATFT Class EIdFTPServerException Class EIdFTPServerNoOnListDirectory Class EIdFTPServerSentInvalidPort Class EIdFTPSiteToSiteTransfer Class EIdFTPSToSBothMostSupportSSCN Class EIdFTPSToSIPProtoMustBeSame Class iv

72 72 73 73 74 74 74 75 75 76 76 81 82 82 83 83 83 84 84 84 85 85 85 86 86 86 87 87 88 88 88 89 89 89 90 90 90 91 91 91 92 92 93 93 93 94 94 94 95 95 95 96 Internet Direct (Indy) Version 10.1.5

EIdFTPSToSNATFastTrack Class EIdFTPSToSNoDataProtection Class EIdFTPSToSTransModesMustBeSame Class EIdFTPUnknownOTPMethodException Class EIdFTPUploadFileNameCanNotBeEmpty Class EIdFTPWrongIOHandler Class EIdHostRequired Class EIdHTTPCannotSwitchSessionStateWhenActive Class EIdHTTPErrorParsingCommand Class EIdHTTPHeaderAlreadyWritten Class EIdHTTPProtocolException Class EIdHttpProxyError Class EIdHTTPServerError Class EIdHTTPUnsupportedAuthorisationScheme Class EIdIcmpException Class EIdIdentException Class EIdIdentHiddenUser Class EIdIdentInvalidPort Class EIdIdentNoUser Class EIdIdentQueryTimeOut Class EIdIdentReply Class EIdIdentUnknownError Class EIdIMAP4ImplicitTLSRequiresSSL Class EIdIMAP4ServerException Class EIdInterceptCircularLink Class EIdInterceptPropInvalid Class EIdInterceptPropIsNil Class EIdInvalidAlgorithm Class EIdInvalidFTPListingFormat Class EIdInvalidIPAddress Class EIdInvalidIPv6Address Class EIdInvalidObjectType Class EIdInvalidPortRange Class EIdInvalidServiceName Class EIdInvalidSocket Class EIdIOHandlerPropInvalid Class EIdIoHandlerRequiresLargeStream Class EIdIPv6Unavailable Class EIdIPVersionUnsupported Class EIdLPRErrorException Class EIdMaxCaptureLineExceeded Class EIdMCastException Class EIdMCastNoBindings Class EIdMCastNotValidAddress Class EIdMCastReceiveErrorZeroBytes Class EIdMessageCannotLoad Class EIdMessageException Class EIdMessageYencCorruptionException Class EIdMessageYencException Class EIdMessageYencInvalidCRCException Class EIdMessageYencInvalidSizeException Class EIdMissingColon Class Internet Direct (Indy) Version 10.1.5

96 96 97 97 98 98 98 99 99 100 100 102 102 103 103 104 104 105 105 105 106 106 107 107 107 108 108 108 109 109 110 110 111 111 112 112 112 113 113 114 114 114 115 115 116 116 116 117 117 117 118 118 v

EIdMustUseOpenProxy Class EIdNNTPConnectionRefused Class EIdNNTPException Class EIdNNTPImplicitTLSRequiresSSL Class EIdNNTPNoOnNewGroupsList Class EIdNNTPNoOnNewNewsList Class EIdNNTPNoOnNewsgroupList Class EIdNNTPNoOnXHDREntry Class EIdNNTPNoOnXOVER Class EIdNNTPServerException Class EIdNNTPStringListNotInitialized Class EIdNoDataToRead Class EIdNoExecuteSpecified Class EIdNotAllBytesSent Class EIdNotASocket Class EIdNotConnected Class EIdNotEnoughDataInBuffer Class EIdNumberInvalid Class EIdObjectTypeNotSupported Class EIdOpenSSLError Class EIdOpenSSLLoadError Class EIdOSSLAcceptError Class EIdOSSLConnectError Class EIdOSSLCouldNotLoadSSLLibrary Class EIdOSSLCreatingContextError Class EIdOSSLDataBindingError Class EIdOSSLGetMethodError Class EIdOSSLLoadingCertError Class EIdOSSLLoadingKeyError Class EIdOSSLLoadingRootCertError Class EIdOSSLModeNotSet Class EIdOSSLSettingCipherError Class EIdOTPSASLException Class EIdOTPSASLUnknownOTPMethodException Class EIdPackageSizeTooBig Class EIdPOP3Exception Class EIdPOP3ImplicitTLSRequiresSSL Class EIdPOP3ReplyException Class EIdPOP3ReplyInvalidEnhancedCode Class EIdPOP3ServerException Class EIdPortRequired Class EIdRangeException Class EIdReadLnMaxLineLengthExceeded Class EIdReadTimeout Class EIdReplyError Class EIdReplyIMAP4Error Class EIdReplyPOP3Error Class EIdReplyRFCError Class EIdResolveError Class EIdResponseError Class EIdReverseResolveError Class EIdSASLException Class vi

119 119 120 120 120 121 121 122 122 122 123 123 124 124 125 125 125 126 126 127 127 127 128 128 128 129 129 129 130 130 131 131 131 132 132 133 133 133 134 134 135 135 135 136 136 137 138 140 142 142 142 143 Internet Direct (Indy) Version 10.1.5

EIdSASLMechNeeded Class EIdSASLMsg Class EIdSASLNotSupported Class EIdSASLNotValidForProtocol Class EIdSchedulerException Class EIdSchedulerMaxThreadsExceeded Class EIdSetSizeExceeded Class EIdSilentException Class EIdSMTPReply Class EIdSMTPReplyError Class EIdSMTPReplyInvalidClass Class EIdSMTPReplyInvalidReplyString Class EIdSMTPServerError Class EIdSMTPServerNoRcptTo Class EIdSNPPConnectionRefused Class EIdSNPPException Class EIdSNPPNoMultiLineMessages Class EIdSNPPProtocolError Class EIdSocketError Class EIdSocketHandleError Class EIdSocksAuthError Class EIdSocksAuthMethodError Class EIdSocksError Class EIdSocksRequestFailed Class EIdSocksRequestIdentFailed Class EIdSocksRequestServerFailed Class EIdSocksServerAddressError Class EIdSocksServerCommandError Class EIdSocksServerConnectionRefusedError Class EIdSocksServerGeneralError Class EIdSocksServerHostUnreachableError Class EIdSocksServerNetUnreachableError Class EIdSocksServerPermissionError Class EIdSocksServerRespondError Class EIdSocksServerTTLExpiredError Class EIdSocksSvrAccessDenied Class EIdSocksSvrException Class EIdSocksSvrInvalidLogin Class EIdSocksSvrNotSupported Class EIdSocksSvrSocks5WrongATYP Class EIdSocksSvrUnexpectedClose Class EIdSocksSvrWrongSocksCmd Class EIdSocksSvrWrongSocksVer Class EIdSocksUDPNotSupportedBySOCKSVersion Class EIdSocksUnknownError Class EIdSSLProtocolReplyError Class EIdStackError Class EIdStackInitializationFailed Class EIdStackSetSizeExceeded Class EIdTCPConnectionError Class EIdTCPNoOnExecute Class EIdTCPServerError Class Internet Direct (Indy) Version 10.1.5

143 143 144 144 144 145 145 145 146 146 149 149 150 150 150 151 151 151 152 154 154 155 155 155 156 156 157 157 157 158 158 158 159 159 159 160 160 160 161 161 162 162 162 163 163 163 164 164 165 165 166 166 vii

EIdTelnetClientConnectError Class EIdTelnetError Class EIdTelnetServerOnDataAvailableIsNil Class EIdTerminateThreadTimeout Class EIdTextInvalidCount Class EIdTFTPAccessViolation Class EIdTFTPAllocationExceeded Class EIdTFTPException Class EIdTFTPFileAlreadyExists Class EIdTFTPFileNotFound Class EIdTFTPIllegalOperation Class EIdTFTPNoSuchUser Class EIdTFTPOptionNegotiationFailed Class EIdTFTPUnknownTransferID Class EIdThreadClassNotSpecified Class EIdThreadException Class EIdThreadMgrError Class EIdThreadTerminateAndWaitFor Class EIdTLSClientCanNotSetWhileActive Class EIdTLSClientCanNotSetWhileConnected Class EIdTLSClientException Class EIdTLSClientSSLIOHandlerRequred Class EIdTLSClientTLSHandShakeFailed Class EIdTLSClientTLSNegCmdFailed Class EIdTLSClientTLSNotAvailable Class EIdTLSServerException Class EIdTLSServerSSLIOHandlerRequired Class EIdTooMuchDataInBuffer Class EIdTransparentProxyCantBind Class EIdTransparentProxyCircularLink Class EIdTransparentProxyUDPNotSupported Class EIdUDPException Class EIdUDPReceiveErrorZeroBytes Class EIdUDPServerException Class EIdUnknownProtocol Class EIdUnrecognizedReply Class EIdURIException Class EIdUserPassProviderUnassigned Class EIdWrapperException Class EInvalidSyslogMessage Class EmUTF7Decode Class EmUTF7Encode Class EmUTF7Error Class EZlibError Class TAAAARecord Class TAppendFileStream Class TARecord Class TCNRecord Class TCompressionStream Class TCriticalSection Class TCustomZlibStream Class TDecompressionStream Class viii

167 167 168 168 168 169 169 170 170 170 171 171 171 172 172 172 173 173 174 174 174 175 175 175 176 176 176 177 177 178 178 178 179 179 180 180 180 181 181 182 182 182 183 183 184 188 189 190 191 193 196 196 Internet Direct (Indy) Version 10.1.5

TDNSHeader Class TErrorRecord Class TEvent Class TFileCreateStream Class THINFORecord Class TIdAEPLFFTPListItem Class TIdAntiFreezeBase Class TIdARPHdr Class TIdAS400FTPListItem Class TIdAttachment Class TIdAttachmentFile Class TIdAttachmentMemory Class TIdAuthentication Class TIdAuthenticationCollection Class TIdAuthenticationItem Class TIdAuthenticationManager Class TIdBaseComponent Class TIdBaseStream Class TIdBasicAuthentication Class TIdBubbleSortStringList Class TIdBuffer Class TIdCardAddressItem Class TIdCardPhoneNumber Class TIdChameleonNewtFTPListItem Class TIdChargenServer Class TIdChargenUDPServer Class TIdCiscoIOSFTPListItem Class TIdCmdTCPClient Class TIdCmdTCPClientListeningThread Class TIdCmdTCPServer Class TIdCommand Class TIdCommandHandler Class TIdCommandHandlers Class TIdComponent Class TIdCompressionIntercept Class TIdCompressorZLibEx Class TIdConnectionIntercept Class TIdConnectThroughHttpProxy Class TIdContext Class TIdCookieList Class TIdCookieManager Class TIdCookieRFC2109 Class TIdCookieRFC2965 Class TIdCookies Class TIdCreationDateFTPListItem Class TIdCriticalSection Class TIdCustomHTTP Class TIdCustomHTTPServer Class TIdCustomIcmpClient Class TIdCustomMappedTelnet Class TIdCustomSocksServer Class TIdCustomTCPServer Class Internet Direct (Indy) Version 10.1.5

198 207 207 212 213 216 217 223 227 227 236 244 253 258 260 263 266 270 275 278 279 306 311 313 313 315 317 317 323 326 335 341 350 355 360 364 368 374 376 381 382 388 391 394 402 404 404 434 445 447 450 453 ix

TIdCustomTime Class TIdCustomTimeServer Class TIdCustomTimeUDP Class TIdCustomTimeUDPServer Class TIdCustomTransparentProxy Class TIdCustomUserManager Class TIdDataChannel Class TIdDateTimeStamp Class TIdDayTime Class TIdDayTimeServer Class TIdDayTimeUDP Class TIdDayTimeUDPServer Class TIdDBInfo Class TIdDBList Class TIdDecoder Class TIdDecoder00E Class TIdDecoder4to3 Class TIdDecoderBinHex4 Class TIdDecoderMIME Class TIdDecoderMIMELineByLine Class TIdDecoderQuotedPrintable Class TIdDecoderUUE Class TIdDecoderXXE Class TIdDefinition Class TIdDefinitions Class TIdDICT Class TIdDICTServer Class TIdDigestAuthentication Class TIdDISCARDServer Class TIdDiscardUDPServer Class TIdDistinctTCPIPFTPListItem Class TIdDNS_ProcessThread Class TIdDNS_TCPServer Class TIdDNS_UDPServer Class TIdDNSHdr Class TIdDNSMap Class TIdDNSResolver Class TIdDNSServer Class TIdDNTreeNode Class TIdDomainExpireCheckThread Class TIdDomainNameServerMapping Class TIdDOSAttributes Class TIdDOSBaseFTPListItem Class TIdEcho Class TIdECHOServer Class TIdEchoUDP Class TIdEchoUDPServer Class TIdEMailAddressItem Class TIdEMailAddressList Class TIdEncoder Class TIdEncoder00E Class TIdEncoder3to4 Class x

470 473 474 476 477 482 486 489 517 520 522 524 526 527 530 533 535 538 542 542 545 546 547 548 550 552 567 573 576 578 580 581 584 586 595 598 600 608 612 617 617 619 627 629 633 635 639 641 647 653 655 657 Internet Direct (Indy) Version 10.1.5

TIdEncoderBinHex4 Class TIdEncoderMIME Class TIdEncoderQuotedPrintable Class TIdEncoderUUE Class TIdEncoderXXE Class TIdEntityHeaderInfo Class TIdEtherAddr Class TIdEthernetHdr Class TIdEventSocksServer Class TIdExplicitTLSClient Class TIdExplicitTLSServer Class TIdExtList Class TIdFinger Class TIdFingerServer Class TIdFormDataField Class TIdFormDataFields Class TIdFSP Class TIdFSPDirInfo Class TIdFSPListItem Class TIdFSPListItems Class TIdFSPPacket Class TIdFSPStatInfo Class TIdFTP Class TIdFTPBaseFileSystem Class TIdFTPClientIdentifier Class TIdFTPLineOwnedList Class TIdFTPListBase Class TIdFTPListBaseHeader Class TIdFTPListItem Class TIdFTPListItems Class TIdFTPListOutput Class TIdFTPListOutputItem Class TIdFTPLPAS400 Class TIdFTPLPBaseDOS Class TIdFTPLPChameleonNewt Class TIdFTPLPCiscoIOS Class TIdFTPLPDistinctTCPIP Class TIdFTPLPEPLF Class TIdFTPLPGOS7 Class TIdFTPLPGOS8 Class TIdFTPLPGOS8ListItem Class TIdFTPLPHellSoft Class TIdFTPLPKA9Q Class TIdFTPLPMicrowareOS9 Class TIdFTPLPMList Class TIdFTPLPMPiX Class TIdFTPLPMPiXBase Class TIdFTPLPMPiXWithPOSIX Class TIdFTPLPMusic Class TIdFTPLPMVS Class TIdFTPLPMVSJESInterface1 Class TIdFTPLPMVSJESInterface2 Class Internet Direct (Indy) Version 10.1.5

661 664 665 667 668 668 679 683 685 687 691 691 692 699 705 710 713 739 744 745 749 756 759 839 845 847 847 850 851 857 860 864 869 870 870 872 873 875 876 878 879 879 881 882 883 885 886 887 888 889 890 892 xi

TIdFTPLPMVSPartitionedDataSet Class TIdFTPLPNCSAforDOS Class TIdFTPLPNCSAforMACOS Class TIdFTPLPNetwarePSUDos Class TIdFTPLPNetwarePSUNFS Class TIdFTPLPNList Class TIdFTPLPNovellNetware Class TIdFTPLPOS2 Class TIdFTPLPPCNFSD Class TIdFTPLPSterComEntBase Class TIdFTPLPSterCommEntUx Class TIdFTPLPSterCommEntUxNS Class TIdFTPLPSterCommEntUxRoot Class TIdFTPLPSterCommExpOS390 Class TIdFTPLPStratusVOS Class TIdFTPLPSuperTCP Class TIdFTPLPTandemGuardian Class TIdFTPLPTOPS20 Class TIdFTPLPTSXPlus Class TIdFTPLPUnisysClearPath Class TIdFTPLPUnitree Class TIdFTPLPUnix Class TIdFTPLPVMBFS Class TIdFTPLPVMCMS Class TIdFTPLPVMS Class TIdFTPLPVSELibrary Class TIdFTPLPVSEPowerQueue Class TIdFTPLPVSERootDir Class TIdFTPLPVSESubLibrary Class TIdFTPLPVSEVSAMCatalog Class TIdFTPLPVSEVTOC Class TIdFTPLPVxWorks Class TIdFTPLPWfFTP Class TIdFTPLPWindowsNT Class TIdFTPLPWinQVNet Class TIdFTPLPXecomMicroRTOS Class TIdFTPLVirtualReader Class TIdFtpProxySettings Class TIdFTPRegParseList Class TIdFTPSecurityOptions Class TIdFTPServer Class TIdFTPServerContext Class TIdFTPServerContextBase Class TIdFTPTZInfo Class TIdGeneric Class TIdGopher Class TIdGopherMenu Class TIdGopherMenuItem Class TIdGopherServer Class TIdHash Class TIdHash128 Class TIdHash16 Class xii

894 895 896 898 899 901 902 904 905 907 907 909 910 912 913 915 917 918 919 921 922 923 925 926 928 930 931 933 934 936 937 939 940 941 943 944 945 947 949 953 956 970 976 979 980 982 987 989 995 1000 1001 1003 Internet Direct (Indy) Version 10.1.5

TIdHash160 Class TIdHash32 Class TIdHashCRC16 Class TIdHashCRC32 Class TIdHashElf Class TIdHashMessageDigest Class TIdHashMessageDigest2 Class TIdHashMessageDigest4 Class TIdHashMessageDigest5 Class TIdHashSHA1 Class TIdHeaderList Class TIdHellSoftFTPListItem Class TIdHL7 Class TIdHL7ClientThread Class TIdHTTP Class TIdHTTPCustomSessionList Class TIdHTTPDefaultSessionList Class TIdHTTPProtocol Class TIdHTTPProxyServer Class TIdHTTPRequest Class TIdHTTPRequestInfo Class TIdHTTPResponse Class TIdHTTPResponseInfo Class TIdHTTPServer Class TIdHTTPSession Class TIdicmp_dun Class TIdicmp_hun Class TIdicmp6_hdr Class TIdicmp6_un Class TIdIcmpClient Class TIdICMPEcho Class TIdICMPFrag Class TIdICMPHdr Class TIdICMPTs Class TIdIdent Class TIdIdentServer Class TIdIGMPHdr Class TIdIMAP4 Class TIdIMAP4PeerContext Class TIdIMAP4Server Class TIdIMAP4Tag Class TIdIMAPLineStruct Class TIdImapMessagePart Class TIdImapMessageParts Class TIdInAddr Class TIdInitializerComponent Class TIdInterceptSimLog Class TIdInterceptThrottler Class TIdInterfacedObject Class TIdIOHandler Class TIdIOHandlerSocket Class TIdIOHandlerStack Class Internet Direct (Indy) Version 10.1.5

1006 1008 1011 1013 1014 1016 1017 1019 1021 1022 1024 1031 1031 1040 1041 1052 1059 1064 1070 1072 1077 1085 1089 1102 1105 1111 1114 1117 1120 1123 1128 1130 1132 1135 1138 1143 1147 1150 1251 1253 1265 1266 1266 1270 1271 1273 1275 1280 1283 1284 1331 1342 xiii

TIdIOHandlerStream Class TIdIOHandlerStreamMsg Class TIdIPAddress Class TIdIPAddrMon Class TIdIPAddrMonThread Class TIdIPHdr Class TIdIPMCastBase Class TIdIPMCastClient Class TIdIPMCastListenerThread Class TIdIPMCastServer Class TIdIPOptions Class TIdIPWatch Class TIdIPWatchThread Class TIdIRC Class TIdIRCReplies Class TIdIRCServer Class TIdKA9QFTPListItem Class TIdListenerThread Class TIdLocalEvent Class TIdLogBase Class TIdLogDebug Class TIdLogEvent Class TIdLogFile Class TIdLogStream Class TIdLongWord Class TIdLPR Class TIdLPRControlFile Class TIdMailBox Class TIdMappedFTP Class TIdMappedFtpContext Class TIdMappedFtpDataThread Class TIdMappedPOP3 Class TIdMappedPOP3Thread Class TIdMappedPortContext Class TIdMappedPortTCP Class TIdMappedPortUDP Class TIdMappedTelnet Class TIdMappedTelnetThread Class TIdMatchItem Class TIdMatchList Class TIdMessage Class TIdMessageClient Class TIdMessageCollection Class TIdMessageDecoder Class TIdMessageDecoderInfo Class TIdMessageDecoderInfoMIME Class TIdMessageDecoderInfoUUE Class TIdMessageDecoderInfoYenc Class TIdMessageDecoderList Class TIdMessageDecoderMIME Class TIdMessageDecoderUUE Class TIdMessageDecoderYenc Class xiv

1348 1357 1361 1367 1372 1373 1377 1379 1384 1387 1392 1395 1401 1401 1433 1435 1445 1445 1449 1451 1457 1457 1460 1463 1466 1469 1475 1481 1488 1490 1494 1496 1499 1500 1505 1512 1514 1516 1518 1519 1521 1555 1561 1563 1569 1571 1573 1574 1575 1579 1584 1587 Internet Direct (Indy) Version 10.1.5

TIdMessageEncoder Class TIdMessageEncoderInfo Class TIdMessageEncoderInfoMIME Class TIdMessageEncoderInfoQuotedPrintable Class TIdMessageEncoderInfoUUE Class TIdMessageEncoderInfoXXE Class TIdMessageEncoderInfoYenc Class TIdMessageEncoderList Class TIdMessageEncoderMIME Class TIdMessageEncoderQuotedPrintable Class TIdMessageEncoderUUE Class TIdMessageEncoderUUEBase Class TIdMessageEncoderXXE Class TIdMessageEncoderYenc Class TIdMessageItem Class TIdMessagePart Class TIdMessageParts Class TIdMicrowareOS9FTPListItem Class TIdMIMEBoundary Class TIdMIMEBoundaryStrings Class TIdMimeTable Class TIdMinimalFTPListItem Class TIdMLSTFTPListItem Class TIdMPiXFTPListItem Class TIdMultiPartFormDataStream Class TIdMusicFTPListItem Class TIdMUTF7 Class TIdMVSFTPListItem Class TIdMVSJESFTPListItem Class TIdMVSJESIntF2FTPListItem Class TIdMWayTreeNode Class TIdNativeComponentHelper Class Helper TIdNCSAforDOSFTPListItem Class TIdNCSAforMACOSFTPListItem Class TIdNetscapeCookie Class TIdNetworkCalculator Class TIdNNTP Class TIdNNTPContext Class TIdNNTPServer Class TIdNotify Class TIdNotifyMethod Class TIdNovellBaseFTPListItem Class TIdNovellNetwareFTPListItem Class TIdNovellPSU_DOSFTPListItem Class TIdNovellPSU_NFSFTPListItem Class TIdNTLMAuthentication Class TIdObjectList Class TIdOS2FTPListItem Class TIdOTPCalculator Class TIdOwnerFTPListItem Class TIdPacketInfo Class TIdPCNFSDFTPListItem Class Internet Direct (Indy) Version 10.1.5

1588 1592 1594 1596 1597 1599 1600 1601 1604 1606 1607 1608 1609 1610 1611 1614 1623 1627 1629 1634 1636 1642 1644 1655 1657 1663 1665 1667 1671 1672 1675 1678 1678 1678 1679 1685 1692 1739 1742 1749 1752 1753 1755 1755 1755 1756 1757 1762 1762 1765 1766 1770 xv

TIdPOP3 Class TIdPOP3Server Class TIdPOP3ServerContext Class TIdProxyConnectionInfo Class TIdQOTD Class TIdQOTDServer Class TIdQOTDUDP Class TIdQotdUDPServer Class TIdRawBase Class TIdRawClient Class TIdRecFTPListItem Class TIdRemoteCMDClient Class TIdRemoteCMDServer Class TIdReplies Class TIdRepliesFTP Class TIdRepliesIMAP4 Class TIdRepliesPOP3 Class TIdRepliesRFC Class TIdRepliesSMTP Class TIdReply Class TIdReplyFTP Class TIdReplyIMAP4 Class TIdReplyPOP3 Class TIdReplyRFC Class TIdReplySMTP Class TIdRequestHeaderInfo Class TIdResponseHeaderInfo Class TIdRexec Class TIdRexecServer Class TIdRIPHdr Class TIdRR_A Class TIdRR_AAAA Class TIdRR_CName Class TIdRR_Error Class TIdRR_HINFO Class TIdRR_MB Class TIdRR_MG Class TIdRR_MINFO Class TIdRR_MR Class TIdRR_MX Class TIdRR_NS Class TIdRR_PTR Class TIdRR_SOA Class TIdRR_TXT Class TIdRR_WKS Class TIdRSH Class TIdRSHServer Class TIdSASL Class TIdSASLAnonymous Class TIdSASLCRAMMD5 Class TIdSASLEntries Class TIdSASLExternal Class xvi

1772 1786 1792 1795 1800 1802 1805 1807 1809 1814 1817 1817 1822 1825 1829 1830 1831 1832 1834 1836 1842 1844 1849 1851 1854 1857 1865 1870 1874 1876 1880 1882 1884 1887 1888 1890 1893 1895 1897 1900 1902 1904 1907 1910 1912 1914 1918 1921 1926 1929 1932 1936 Internet Direct (Indy) Version 10.1.5

TIdSASLListEntry Class TIdSASLLogin Class TIdSASLOTP Class TIdSASLPlain Class TIdSASLSKey Class TIdSASLUserPass Class TIdScheduler Class TIdSchedulerOfThread Class TIdSchedulerOfThreadDefault Class TIdSchedulerOfThreadPool Class TIdServerCompressionIntercept Class TIdServerCookie Class TIdServerCookies Class TIdServerIntercept Class TIdServerInterceptLogBase Class TIdServerInterceptLogEvent Class TIdServerInterceptLogFile Class TIdServerInterceptLogFileConnection Class TIdServerIOHandler Class TIdServerIOHandlerSocket Class TIdServerIOHandlerSSLBase Class TIdServerIOHandlerSSLOpenSSL Class TIdServerIOHandlerStack Class TIdSimpleServer Class TIdSimpleUserManager Class TIdSMTP Class TIdSMTPBase Class TIdSMTPEnhancedCode Class TIdSMTPRelay Class TIdSMTPRelayStatusItem Class TIdSMTPRelayStatusList Class TIdSMTPServer Class TIdSMTPServerContext Class TIdSNMP Class TIdSNPP Class TIdSNTP Class TIdSocketHandle Class TIdSocketHandles Class TIdSocketList Class TIdSocketListDotNet Class TIdSocketListWindows Class TIdSocksInfo Class TIdSocksServer Class TIdSocksServerContext Class TIdSSLCipher Class TIdSSLContext Class TIdSSLIOHandlerSocketBase Class TIdSSLIOHandlerSocketOpenSSL Class TIdSSLOptions Class TIdSSLRegEntry Class TIdSSLRegistry Class TIdSSLSocket Class Internet Direct (Indy) Version 10.1.5

1940 1941 1944 1947 1952 1954 1955 1961 1967 1970 1976 1979 1981 1983 1986 1988 1990 1992 1993 1996 1998 2001 2005 2007 2014 2017 2028 2033 2036 2042 2046 2047 2051 2056 2062 2067 2071 2090 2094 2101 2112 2118 2124 2125 2127 2129 2134 2137 2144 2146 2148 2150 xvii

TIdSSLSupportOptions Class TIdStack Class TIdStackBSDBase Class TIdStackDotNet Class TIdStackWindows Class TIdSterCommEntUxFTPListItem Class TIdSterCommEntUxNSFTPListItem Class TIdSterCommEntUxRootFTPListItem Class TIdSterCommExpOS390FTPListItem Class TIdStrategy Class TIdStrategyList Class TIdStratusVOSFTPListItem Class TIdStreamHelperVCL Class TIdStruct Class TIdSuperTCPFTPListItem Class TIdSync Class TIdSysBase Class TIdSysLog Class TIdSysLogMessage Class TIdSysLogMsgPart Class TIdSyslogServer Class TIdSysNativeVCL Class TIdSystat Class TIdSystatServer Class TIdSystatUDP Class TIdSystatUDPServer Class TIdSysVCL Class TIdSysWin32 Class TIdTandemGuardianFTPListItem Class TIdTask Class TIdTCPClient Class TIdTCPClientCustom Class TIdTCPConnection Class TIdTCPHdr Class TIdTCPOptions Class TIdTCPServer Class TIdTCPStream Class TIdTelnet Class TIdTelnetPeerContext Class TIdTelnetReadThread Class TIdTelnetServer Class TIdText Class TIdTextModeResourceRecord Class TIdTextModeRRs Class TIdThread Class TIdThreadComponent Class TIdThreadEx Class TIdThreadSafe Class TIdThreadSafeBoolean Class TIdThreadSafeCardinal Class TIdThreadSafeDateTime Class TIdThreadSafeDouble Class xviii

2154 2156 2183 2201 2233 2251 2252 2253 2253 2255 2255 2257 2261 2261 2263 2264 2267 2268 2271 2277 2280 2282 2290 2293 2296 2299 2302 2325 2328 2329 2333 2340 2349 2369 2373 2375 2381 2387 2394 2397 2399 2404 2408 2413 2415 2426 2434 2435 2437 2439 2443 2446 Internet Direct (Indy) Version 10.1.5

TIdThreadSafeInt64 Class TIdThreadSafeInteger Class TIdThreadSafeList Class TIdThreadSafeString Class TIdThreadSafeStringList Class TIdThreadWithTask Class TIdTime Class TIdTimeServer Class TIdTimeUDP Class TIdTimeUDPServer Class TIdTOPS20FTPListItem Class TIdTraceRoute Class TIdTrivialFTP Class TIdTrivialFTPServer Class TIdTSXPlusFTPListItem Class TIdUDPBase Class TIdUDPClient Class TIdUDPHdr Class TIdUDPListenerThread Class TIdUDPServer Class TIdUnion Class TIdUnisysClearPathFTPListItem Class TIdUnitreeFTPListItem Class TIdUnixBaseFTPListItem Class TIdUnixFTPListItem Class TIdUnixPermFTPListItem Class TIdUnixTime Class TIdUnixTimeServer Class TIdUnixTimeUDP Class TIdUnixTimeUDPServer Class TIdURI Class TIdUserAccount Class TIdUserAccounts Class TIdUserManager Class TIdUserPassProvider Class TIdVCard Class TIdVCardAddresses Class TIdVCardBusinessInfo Class TIdVCardEMailAddresses Class TIdVCardEMailItem Class TIdVCardEmbeddedObject Class TIdVCardGeog Class TIdVCardMailingLabelItem Class TIdVCardMailingLabels Class TIdVCardName Class TIdVCardTelephones Class TIdVMBFSFTPListItem Class TIdVMCMSFTPListItem Class TIdVMSFTPListItem Class TIdVMVirtualReaderFTPListItem Class TIdVSELibraryFTPListItem Class TIdVSEPowerQueueFTPListItem Class Internet Direct (Indy) Version 10.1.5

2449 2453 2457 2462 2465 2472 2475 2478 2481 2483 2486 2486 2488 2494 2497 2499 2509 2523 2525 2530 2535 2537 2538 2540 2541 2543 2544 2547 2549 2551 2552 2562 2565 2567 2569 2571 2578 2580 2583 2585 2588 2590 2592 2595 2597 2600 2602 2602 2604 2607 2609 2610 xix

TIdVSERootDirFTPListItem Class TIdVSESubLibraryFTPListItem Class TIdVSEVSAMCatalogFTPListItem Class TIdVSEVTOCFTPListItem Class TIdVxWorksFTPListItem Class TIdWfFTPFTPListItem Class TIdWhois Class TIdWhoIsServer Class TIdWin32ea Class TIdWindowsNTFTPListItem Class TIdWinQVNetFTPListItem Class TIdX509 Class TIdX509Name Class TIdXecomMicroRTOSTPListItem Class TIdYarn Class TIdYarnOfThread Class TIdZLibCompressorBase Class TIpProperty Class TMINFORecord Class TMXRecord Class TNAMERecord Class TNAPTRRecord Class TNSRecord Class TNTPGram Class TPTRRecord Class TQueryResult Class TRDATARecord Class TReadFileExclusiveStream Class TReadFileNonExclusiveStream Class TReplyStatus Class TResultRecord Class TSNMPInfo Class TSOARecord Class TSRVRecord Class TTelnetData Class TTextRecord Class TWKSRecord Class

Functions ABNFToText Function AddMissingYear Function adler32 Function adler32_combine Function AppendByte Function AppendBytes Function AppendString Function AS400Date Function ASNDecLen Function ASNDecOIDItem Function ASNEncInt Function ASNEncLen Function ASNEncOIDItem Function ASNEncUInt Function xx

2611 2612 2613 2613 2615 2615 2615 2620 2622 2625 2625 2625 2628 2630 2632 2632 2634 2639 2647 2649 2652 2654 2657 2658 2668 2669 2673 2676 2677 2679 2682 2687 2694 2698 2701 2702 2705

2711 2711 2711 2712 2712 2713 2713 2714 2715 2715 2716 2716 2717 2717 2717 Internet Direct (Indy) Version 10.1.5

ASNItem Function ASNObject Function BinStrToInt Function BinToHexStr Function BreakApart Function BuildType1Message Function BuildType3Message Function BytesToCardinal Function BytesToChar Function BytesToInt64 Function BytesToInteger Function BytesToIPv6 Function BytesToShort Function BytesToString Function BytesToWord Function ByteToHex Function ByteToOctal Function CardinalToFourChar Function CCheck Function CharIsInEOF Function CharIsInSet Function CharRange Function CharsInStr Function CharToHex Function CheckListing Function CheckListParse Function CheckListParseCapa Function ChmodNoToModeBits Function ChmodNoToPerms Function ChmodNoToPerms Function CommaAdd Function CommaSeparatedToStringList Function CompareDateTime Function CompareItems Function compress Function compress2 Function compressBound Function CompressBuf Function CompressStream Function ConvertToCanonical6IP Function ConvertToValidv6IP Function CopyBytesToHostCardinal Function CopyBytesToHostWord Function CopyFileTo Function CopyTIdByteArray Function CopyTIdBytes Function CopyTIdCardinal Function CopyTIdInt64 Function CopyTIdIPV6Address Function CopyTIdLongWord Function CopyTIdNetworkCardinal Function CopyTIdNetworkWord Function Internet Direct (Indy) Version 10.1.5

2718 2718 2719 2719 2719 2720 2721 2721 2722 2723 2724 2725 2727 2728 2729 2730 2731 2731 2732 2732 2733 2734 2734 2734 2735 2735 2736 2736 2737 2738 2738 2739 2739 2740 2741 2741 2742 2742 2742 2743 2743 2744 2744 2745 2746 2746 2747 2748 2749 2750 2751 2752 xxi

CopyTIdString Function CopyTIdWord Function crc32 Function CurrentProcessId Function CurrentThreadId Function DateDDStrMonthYY Function DateMMDDYY Function DateStrMonthDDYY Function DateTimeToUnix Function DateYYMMDD Function DateYYStrMonthDD Function DCheck Function DebugOutput Function Decode2022JP Function DecodeAddress Function DecodeAddresses Function DecodeHeader Function DecodeString Function DecompressBuf Function DecompressStream Function DecompressStream Function DecompressToUserBuf Function deflate Function deflateBound Function deflateCopy Function deflateEnd Function deflateInit_ Function deflateInit2_ Function deflateParams Function deflatePrime Function deflateReset Function deflateSetDictionary Function deflateSetHeader Function deflateTune Function DirectoryExists Function DispositionCodeToTIdVSEPQDisposition Function DomainName Function DomainNameToDNSStr Function DOSPathToUnixPath Function Encode2022JP Function EncodeAddress Function EncodeAddressItem Function EncodeHeader Function EncodeString Function EnsureMsgIDBrackets Function EnumFTPListParsers Function EPLFDateToGMTDateTime Function EPLFDateToLocalDateTime Function ExcludeQVNET Function ExtractHeaderSubItem Function ExtractNovellPerms Function ExtractNumber Function xxii

2752 2753 2754 2755 2755 2756 2757 2757 2758 2758 2758 2759 2759 2760 2760 2761 2761 2762 2763 2763 2764 2764 2765 2765 2765 2766 2766 2767 2767 2768 2768 2769 2769 2770 2770 2771 2771 2772 2772 2772 2773 2774 2774 2775 2776 2777 2777 2777 2778 2778 2779 2779 Internet Direct (Indy) Version 10.1.5

ExtractQVNETFileName Function ExtractRecFormat Function FacilityToString Function Fetch Function FetchBytes Function FetchCaseInsensitive Function FetchLength Function FileNameMSDOSToUnix Function FileNameMUSICSPToUnix Function FileNameMVSToUnix Function FileNameUnixToMPEiXHFS Function FileNameUnixToMPEiXTraditional Function FileNameUnixToMSDOS Function FileNameUnixToMUSICSP Function FileNameUnixToMVS Function FileNameUnixToOS9 Function FileNameUnixToVMCMS Function FileNameUnixToVMS Function FileNameUnixToWin32 Function FileNameVMCMSToUnix Function FileNameVMSToUnix Function FileNameWin32ToUnix Function FileSizeByName Function FillBytes Function FindAuthClass Function FindCharset Function FindDelimInNumbers Function FindFirstNotOf Function FindFirstOf Function FindPreferredCharset Function FTPDateTimeToMDTMD Function FTPGMTDateTimeToMLS Function FTPLocalDateTimeToMLS Function FTPMDTMToGMTDateTime Function FTPMLSToGMTDateTime Function FTPMLSToLocalDateTime Function get_crc_table Function GetClockValue Function GetErrorStr Function GetGMTDateByName Function GetMIMEDefaultFileExt Function GetMIMETypeFromFile Function GetRCodeStr Function GetThreadHandle Function GetTickDiff Function GetUniqueFileName Function GMTDateTimeToEPLFDate Function GmtOffsetStrToDateTime Function GMTToLocalDateTime Function IdDelete Function IdGetDefaultCharSet Function IdInsert Function Internet Direct (Indy) Version 10.1.5

2780 2780 2780 2781 2782 2782 2783 2784 2784 2784 2785 2785 2786 2786 2786 2787 2787 2788 2788 2788 2789 2789 2790 2790 2791 2791 2792 2792 2793 2794 2807 2807 2808 2808 2809 2809 2809 2810 2810 2810 2811 2812 2812 2812 2813 2814 2815 2815 2816 2816 2817 2817 xxiii

IdRawBuildArp Function IdRawBuildDns Function IdRawBuildEthernet Function IdRawBuildIcmpEcho Function IdRawBuildIcmpMask Function IdRawBuildIcmpRedirect Function IdRawBuildIcmpTimeExceed Function IdRawBuildIcmpTimestamp Function IdRawBuildIcmpUnreach Function IdRawBuildIgmp Function IdRawBuildIp Function IdRawBuildRip Function IdRawBuildTcp Function IdRawBuildUdp Function IdStackFactory Function IdToMib Function iif Function iif Function iif Function IndyCompareStr Function IndyComputerName Function IndyGetFileExt Function IndyGetFileName Function IndyGetFilePath Function IndyIsRelativePath Function IndyLowerCase Function IndyStrToBool Function IndyUpperCase Function inflate Function inflateBack Function inflateBackEnd Function inflateBackInit_ Function inflateCopy Function inflateEnd Function inflateGetHeader Function inflateInit_ Function inflateInit2_ Function inflatePrime Function inflateReset Function inflateSetDictionary Function inflateSync Function inflateSyncPoint Function InfoCallback Function InMainThread Function IntMibToStr Function IntToBin Function IPAddrToDNSStr Function IPv4ToDWord Function IPv4ToDWord Function IPv4ToHex Function IPv4ToOctal Function IPv6AAAAToDNSStr Function xxiv

2819 2819 2820 2820 2821 2821 2822 2823 2823 2824 2824 2825 2826 2826 2827 2827 2827 2828 2829 2829 2830 2830 2831 2831 2832 2832 2833 2833 2834 2834 2835 2835 2836 2836 2837 2837 2838 2838 2839 2839 2839 2840 2840 2841 2841 2842 2842 2842 2843 2844 2844 2845 Internet Direct (Indy) Version 10.1.5

IPv6AddressToStr Function IPv6ToIdIPv6Address Function IsASCII Function IsASCII Function IsASCIILDH Function IsASCIILDH Function IsBig5 Function IsBinary Function IsCurrentThread Function IsDDMonthYY Function IsDomain Function IsFQDN Function IsHex Function IsHexidecimal Function IsHexidecimal Function IsHHMMSS Function IsHostname Function IsIn6MonthWindow Function IsLeadChar Function IsLineStr Function IsMDTMDate Function IsMMDDYY Function IsNavPath Function IsNovelPSPattern Function IsNumeric Function IsNumeric Function IsOctal Function IsOctal Function IsSubDirContentsBanner Function IsTopDomain Function IsTotalLine Function IsUnixExec Function IsUnixHiddenFile Function IsUnixLsErr Function IsValidIP Function IsValidIPv6 Function IsValidNovellPermissionStr Function IsValidSterCommData Function IsValidSterCommFlags Function IsValidSterCommProt Function IsValidTimeStamp Function IsValidUnixPerms Function IsVMBFS Function IsWhiteString Function IsYYYYMMDD Function LocalDateTimeToEPLFDate Function logFacilityToNo Function LogicalAnd Function logSeverityToNo Function MakeAckPkt Function MakeCanonicalIPv4Address Function MakeCanonicalIPv6Address Function Internet Direct (Indy) Version 10.1.5

2845 2846 2846 2847 2847 2848 2849 2849 2850 2850 2851 2851 2852 2853 2854 2855 2855 2856 2856 2857 2857 2858 2858 2859 2859 2860 2861 2861 2862 2863 2863 2864 2864 2864 2865 2865 2866 2866 2867 2867 2867 2868 2868 2869 2869 2870 2870 2871 2871 2872 2872 2873 xxv

MakeDWordIntoIPv4Address Function MakeTempFilename Function Max Function Max Function MDTMOffset Function MibToId Function Min Function MinutesFromGMT Function ModeBitsToChmodNo Function ModeBitsToPermString Function MoveChars Function MVSDate Function NormalStrToDNSStr Function NoToFacility Function NoToSeverity Function OrdFourByteToCardinal Function PadSpaces Function ParseDateTimeStamp Function ParseListing Function ParseQuotedArgs Function PasswordCallback Function PatternsInStr Function PermsToChmodNo Function PermStringToModeBits Function PosBytes Function PosIdx Function PosInSmallIntArray Function PosInStrArray Function ProcessPath Function ReadCharFromStream Function ReadLnFromStream Function ReadStringFromStream Function ReadTIdBytesFromStream Function RegisterAuthenticationMethod Function RegisterFTPListParser Function RegisterSSL Function RemoveDuplicatePathSyms Function RemoveHeaderEntry Function ReplaceSpecString Function ReturnMIMEType Function RightStr Function ROL Function ROR Function RPos Function SameArray Function SendError Function SendError Function SendError Function SendError Function ServicesFilePath Function SetLocalTime Function SetStackClass Function xxvi

2874 2874 2875 2875 2876 2877 2877 2878 2878 2878 2879 2879 2880 2880 2880 2881 2882 2882 2883 2883 2883 2884 2884 2885 2885 2886 2886 2887 2887 2889 2890 2892 2892 2893 2893 2894 2895 2895 2896 2896 2897 2897 2898 2898 2899 2899 2900 2900 2901 2901 2902 2902 Internet Direct (Indy) Version 10.1.5

SetThreadName Function SetThreadPriority Function SeverityToString Function Sleep Function SplitColumns Function SplitColumnsNoTrim Function SplitString Function StartsWith Function StartsWithACE Function StrHtmlDecode Function StrHtmlEncode Function StrInternetToDateTime Function StripInitPathDelin Function StripNo Function StripPath Function StripSpaces Function StrPart Function StrToCard Function StrToDay Function StrToMonth Function StrToWord Function StrXHtmlDecode Function StrXHtmlEncode Function TextIsSame Function TextStartsWith Function Ticks Function TIdVSEPQDispositionDispositionCode Function TimeHHMMSS Function TimeZoneBias Function ToBytes Function ToBytes Function ToBytes Function ToBytes Function ToBytes Function ToBytes Function ToBytes Function ToBytes Function ToBytes Function ToBytesF Function ToBytesF Function ToBytesF Function ToBytesF Function ToBytesF Function ToBytesF Function ToBytesF Function ToBytesF Function ToDo Function ToHex Function ToHex Function TrimAllOf Function TwoByteToWord Function TwoCharToWord Function Internet Direct (Indy) Version 10.1.5

2903 2903 2904 2904 2905 2906 2907 2907 2908 2908 2909 2909 2910 2911 2911 2911 2912 2912 2913 2913 2914 2914 2915 2916 2916 2917 2918 2918 2919 2919 2919 2920 2921 2921 2922 2922 2923 2924 2924 2925 2925 2925 2925 2925 2926 2926 2926 2926 2927 2927 2928 2929 xxvii

uncompress Function UnfoldLines Function UnixDateTimeToDelphiDateTime Function UnixPathToDOSPath Function UnquotedStr Function UnregisterAuthenticationMethod Function UnregisterFTPListParser Function UpCaseFirst Function VerifyCallback Function Win32Type Function WordToStr Function WordToTwoBytes Function WrapText Function WriteMemoryStreamToStream Function WriteStringToStream Function WriteTIdBytesToStream Function Y2Year Function zError Function zlibAllocMem Function zlibCompileFlags Function zlibFreeMem Function

Structs, Records, Enums Taddrinfo Record TAuthCmd Enumeration TAuthenticationType Enumeration TByteArray Record TCheckResp Record TCompressionLevel Enumeration TConnectionResult Enumeration TDays Enumeration TDNSQueryRecordTypes Enumeration TDNSServerTypes Enumeration TEVP_MD Record TgzHeaderRec Record THL7CommunicationMode Enumeration THTTPCommandType Enumeration TIdAuthenticationSchemes Enumeration TIdAuthWhatsNext Enumeration TIdCharSet Enumeration TIdCookieAccess Enumeration TIdCookieVersion Enumeration TIdCustomUserManagerOption Enumeration TIdDataReply Enumeration TIdDICTAuthenticationType Enumeration TIdDirItemType Enumeration TIdDirOutputFormat Enumeration TIdEncoding Enumeration TIdFTPDataPortSecurity Enumeration TIdFTPDataStructure Enumeration TIdFTPDirFormat Enumeration TIdFTPFactOutput Enumeration TIdFTPOperation Enumeration xxviii

2929 2930 2930 2930 2931 2931 2932 2932 2932 2933 2933 2934 2934 2935 2936 2936 2937 2938 2938 2938 2939

2940 2940 2940 2940 2940 2941 2941 2941 2942 2942 2943 2943 2944 2944 2944 2945 2945 2946 2946 2947 2947 2947 2948 2948 2949 2949 2950 2950 2950 2950 2951 Internet Direct (Indy) Version 10.1.5

TIdFTPPathProcessing Enumeration TIdFtpProxyType Enumeration TIdFTPTelnetState Enumeration TIdFTPTransferMode Enumeration TIdFTPTransferType Enumeration TIdFTPUserType Enumeration TIdHL7Status Enumeration TIdHTTPConnectionType Enumeration TIdHTTPOption Enumeration TIdHTTPProtocolVersion Enumeration TIdHTTPWhatsNext Enumeration TIdIdentErrorType Enumeration TIdIMAP4AuthenticationType Enumeration TIdIMAP4Commands Enumeration TIdIMAP4ConnectionState Enumeration TIdIMAP4FolderTreatment Enumeration TIdIMAP4SearchKey Enumeration TIdIMAP4SearchRec Record TIdIMAP4StatusDataItem Enumeration TIdIMAP4StoreDataItem Enumeration TIdIn4Addr Record TIdIn6Addr Record TIdInt64Parts Record TIdIOHandlerStreamType Enumeration TIdIPAddressRec Record TIdIPAddressType Enumeration TIdIPMreq Record TIdIPv6Mreq Record TIdIPVersion Enumeration TIdIRCStat Enumeration TIdIRCUserMode Enumeration TIdJESJobStatus Enumeration TIdLPRFileFormat Enumeration TIdLPRStatus Enumeration TIdMailBoxAttributes Enumeration TIdMailBoxState Enumeration TIdMailFromReply Enumeration TIdMappedFtpOutboundDcMode Enumeration TIdMaxLineAction Enumeration TIdMessageCoderPartType Enumeration TIdMessageEncoding Enumeration TIdMessageFlags Enumeration TIdMessagePartType Enumeration TIdMessagePriority Enumeration TIdMLSDAttr Enumeration TIdModeSetResult Enumeration TIdModeType Enumeration TIdNNTPPermission Enumeration TIdOSType Enumeration TIdPOP3AuthenticationType Enumeration TIdRCPToReply Enumeration TIdReplyRFCFormat Enumeration Internet Direct (Indy) Version 10.1.5

2951 2951 2951 2952 2953 2953 2954 2954 2954 2955 2956 2956 2957 2957 2957 2957 2958 2958 2958 2958 2959 2959 2960 2960 2960 2961 2962 2962 2962 2963 2963 2963 2963 2964 2965 2965 2966 2966 2966 2967 2968 2968 2969 2970 2970 2970 2971 2971 2971 2972 2973 2973 xxix

TIdRetrieveOnSelect Enumeration TIdReuseSocket Enumeration TIdSASLResult Enumeration TIdSMTPAuthenticationType Enumeration TIdSMTPRelayStatusAction Enumeration TIdSMTPState Enumeration TIdSSLAction Enumeration TIdSSLCtxMode Enumeration TIdSSLMode Enumeration TIdSSLSupport Enumeration TIdSSLVerifyMode Enumeration TIdSSLVersion Enumeration TIdStatus Enumeration TIdSyslogFacility Enumeration TIdSyslogSeverity Enumeration TIdTelnetCommand Enumeration TIdTelnetState Enumeration TIdTFTPMode Enumeration TIdThreadStopMode Enumeration TIdURIOptionalFields Enumeration TIdUseTLS Enumeration TIdVCardEMailType Enumeration TIdVSEPQDisposition Enumeration TIdWin32Type Enumeration TIpStruct Record Tipv6_mreq Record TLinger Record TMonths Enumeration TNetworkClass Enumeration TPeerInfo Record TQueryRecordTypes Enumeration TReplyStatusTypes Enumeration TResultSection Enumeration TSendResponse Enumeration TSocksAuthentication Enumeration TSocksVersion Enumeration TTransfer Enumeration TULong Record TWaitResult Enumeration TWorkInfo Record TWorkMode Enumeration type_1_message_header Record type_2_message_header Record TZStreamRec Record TIdSunB Record TIdSunW Record

Types Pdes_key_schedule Type PgzHeaderRec Type PIdIn4Addr Type PIdIn6Addr Type PIdInAddr Type xxx

2973 2973 2974 2974 2975 2976 2976 2976 2976 2977 2977 2977 2978 2978 2979 2980 2980 2981 2981 2982 2982 2983 2983 2983 2984 2984 2985 2985 2985 2986 2986 2987 2988 2988 2988 2988 2989 2989 2989 2990 2990 2991 2991 2991 2992 2992

2994 2994 2994 2994 2994 2995 Internet Direct (Indy) Version 10.1.5

PLongInt Type Short Type T128BitRecord Type T16x4LongWordRecord Type T384BitRecord Type T4x4LongWordRecord Type T4x4x4LongWordRecord Type T512BitRecord Type T5x4LongWordRecord Type TAccessFileEvent Type TAlloc Type TAnsiCharSet Type TAuthenticationEvent Type TAuthenticationTypes Type TCallbackEvent Type TClassIdException Type TCPClient Type TFree Type Tfreeaddrinfo Type Tgetaddrinfo Type TGetEvent Type Tgetnameinfo Type THandle Type TIdAfterCommandHandlerEvent Type TIdAlertEvent Type TIdAttachmentClass Type TIdAuthenticationClass Type TIdAuthSchemeSet Type TIdBaseObject Type TIdBeforeCommandHandlerEvent Type TIdBufferBytesRemoved Type TIdBytes Type TIdCardAddressAttributes Type TIdClientSSLClass Type TIdCmdTCPClientAfterCommandHandlerEvent Type TIdCmdTCPClientBeforeCommandHandlerEvent Type TIdCmdTCPServerAfterCommandHandlerEvent Type TIdCmdTCPServerBeforeCommandHandlerEvent Type TIdCollection Type TIdCollectionItem Type TIdCommandEvent Type TIdCommandHandlerClass Type TIdCommandHandlersExceptionEvent Type TIdComponentClass Type TIdComponentName Type TIdCompressionLevel Type TIdContextAfterRun Type TIdContextBeforeRun Type TIdContextClass Type TIdContextRun Type TIdCreateAttachmentEvent Type TIdCreateFTPList Type Internet Direct (Indy) Version 10.1.5

2995 2995 2996 2996 2996 2997 2997 2998 2998 2998 2999 2999 2999 3000 3001 3001 3001 3001 3002 3002 3002 3003 3003 3003 3004 3004 3005 3005 3005 3006 3006 3007 3007 3008 3008 3009 3010 3010 3011 3011 3011 3012 3012 3012 3013 3013 3014 3014 3015 3015 3016 3016 xxxi

TIdCustomTransparentProxyClass Type TIdCustomUserManagerOptions Type TIdDateTimeBase Type TIdDecoderClass Type TIdDecodeTable Type TIdDICTAuthEvent Type TIdDICTDefineEvent Type TIdDICTGetEvent Type TIdDICTMatchEvent Type TIdDICTOtherEvent Type TIdDICTShowEvent Type TIdDNSAfterCacheSaved Type TIdDNSAfterQueryEvent Type TIdDNSBeforeQueryEvent Type TIdEncoder3to4Class Type TIdEncoderClass Type TIdEvenTIdNewsgroupList Type TIdEventNewNewsList Type TIdEventStreaming Type TIdEventXHDREntry Type TIdEventXOVER Type TIdExceptionThreadComponentEvent Type TIdExceptionThreadComponentEventEx Type TIdExceptionThreadEvent Type TIdFileStream Type TIdFingerGetEvent Type TIdFSPLogEvent Type TIdFtpAfterGet Type TIdFTPBannerEvent Type TIdFTPFactOutputs Type TIdFTPListOnGetCustomListFormat Type TIdFTPListParseClass Type TIdGopherMenuEvent Type TIdHL7ConnCountEvent Type TIdHTTPCommandEvent Type TIdHTTPInvalidSessionEvent Type TIdHTTPMethod Type TIdHTTPOnHeadersAvailable Type TIdHTTPOnRedirectEvent Type TIdHTTPOptions Type TIdIdentQueryEvent Type TIdIMAP4CommandBeforeEvent Type TIdIMAP4CommandBeforeSendEvent Type TIdIMAP4DefMech1 Type TIdIMAP4DefMech10 Type TIdIMAP4DefMech11 Type TIdIMAP4DefMech12 Type TIdIMAP4DefMech13 Type TIdIMAP4DefMech14 Type TIdIMAP4DefMech2 Type TIdIMAP4DefMech3 Type TIdIMAP4DefMech4 Type xxxii

3016 3017 3017 3017 3018 3018 3019 3019 3019 3020 3021 3021 3022 3022 3022 3022 3023 3024 3024 3025 3025 3025 3025 3026 3026 3026 3027 3027 3028 3028 3028 3028 3029 3029 3029 3029 3030 3031 3031 3031 3032 3032 3033 3033 3033 3033 3034 3034 3034 3034 3035 3035 Internet Direct (Indy) Version 10.1.5

TIdIMAP4DefMech5 Type TIdIMAP4DefMech6 Type TIdIMAP4DefMech7 Type TIdIMAP4DefMech8 Type TIdIMAP4DefMech9 Type TIdIMAP4SearchKeyArray Type TIdIMAP4SearchRecArray Type TIdInitializeIsoEvent Type TIdInterceptNotifyEvent Type TIdInterceptStreamEvent Type TIdIOHandlerClass Type TIdIOHandlerSocketClass Type TIdIPAddrMonEvent Type TIdIPv6Address Type TIdIPv6AddressRec Type TIdIRCAdminInfoRecvEvent Type TIdIRCAwayEvent Type TIdIRCChanBANListEvent Type TIdIRCChanEXCListEvent Type TIdIRCChanINVListEvent Type TIdIRCChanModeEvent Type TIdIRCCTCPQueryEvent Type TIdIRCCTCPReplyEvent Type TIdIRCDCCAcceptEvent Type TIdIRCDCCChatEvent Type TIdIRCDCCResumeEvent Type TIdIRCDCCSendEvent Type TIdIRCFiveParmEvent Type TIdIRCGetEvent Type TIdIRCInviteEvent Type TIdIRCInvitingEvent Type TIdIRCIsOnIRCEvent Type TIdIRCJoinEvent Type TIdIRCKickEvent Type TIdIRCKillErrorEvent Type TIdIRCKillEvent Type TIdIRCKnownServerNamesEvent Type TIdIRCMOTDEvent Type TIdIRCNickErrorEvent Type TIdIRCNickListEvent Type TIdIRCNicknameChangedEvent Type TIdIRCNoticeEvent Type TIdIRCOneParmEvent Type TIdIRCOpEvent Type TIdIRCOtherEvent Type TIdIRCPartEvent Type TIdIRCPingPongEvent Type TIdIRCPrivMessageEvent Type TIdIRCQuitEvent Type TIdIRCRawEvent Type TIdIRCRehashEvent Type TIdIRCServerErrorEvent Type Internet Direct (Indy) Version 10.1.5

3035 3035 3036 3036 3036 3036 3037 3037 3037 3038 3038 3039 3039 3040 3040 3041 3041 3041 3041 3042 3042 3042 3042 3043 3043 3043 3043 3044 3044 3044 3044 3045 3045 3045 3045 3046 3046 3046 3046 3047 3047 3047 3047 3048 3048 3048 3048 3049 3049 3049 3049 3050 xxxiii

TIdIRCServerEvent Type TIdIRCServerListEvent Type TIdIRCServerStatsEvent Type TIdIRCServerTraceEvent Type TIdIRCServerUsersEvent Type TIdIRCServerWelcomeEvent Type TIdIRCServiceEvent Type TIdIRCSummonEvent Type TIdIRCSvrTimeEvent Type TIdIRCSvrVersionEvent Type TIdIRCThreeParmEvent Type TIdIRCTopicEvent Type TIdIRCTwoParmEvent Type TIdIRCUserEvent Type TIdIRCUserInfoRecvEvent Type TIdIRCUserModeEvent Type TIdIRCUserModes Type TIdIRCWallopsEvent Type TIdIRCWhoEvent Type TIdIRCWhoIsEvent Type TIdIRCWhoWasEvent Type TIdLinger Type TIdList Type TIdListenExceptionEvent Type TIdLPRStatusEvent Type TIdMailBoxAttributesSet Type TIdMappedPortOutboundConnectEvent Type TIdMappedTelnetCheckHostPort Type TIdMemoryStream Type TIdMessageEncoderClass Type TIdMessageEvent Type TIdMessageFlagsSet Type TIdMessageItems Type TIdMessagePartClass Type TIdMLSDAttrs Type TIdMultiReadExclusiveWriteSynchronizer Type TIdMWayTreeNodeClass Type TIdNativeComponent Type TIdNativeComponentState Type TIdNativeThread Type TIdNeedAccountEvent Type TIdNetTime Type TIdNewsTransporTIdEvent Type TIdNNTPOnArticleByID Type TIdNNTPOnArticleByNo Type TIdNNTPOnAuth Type TIdNNTPOnCheckListGroup Type TIdNNTPOnCheckMsgNo Type TIdNNTPOnIHaveCheck Type TIdNNTPOnMovePointer Type TIdNNTPOnNewGroupsList Type TIdNNTPOnNewNews Type xxxiv

3050 3050 3050 3051 3051 3051 3051 3052 3052 3052 3052 3053 3053 3053 3053 3054 3054 3054 3054 3055 3055 3055 3055 3056 3056 3057 3057 3057 3058 3058 3058 3059 3059 3060 3060 3060 3060 3061 3061 3061 3061 3062 3062 3062 3063 3063 3063 3063 3064 3064 3064 3064 Internet Direct (Indy) Version 10.1.5

TIdNNTPOnPost Type TIdNNTPOnSelectGroup Type TIdNNTPOnXHdr Type TIdNNTPOnXOver Type TIdNotifyEvent Type TIdNotifyThreadComponentEvent Type TIdNotifyThreadEvent Type TIdOnAuthenticate Type TIdOnAuthorization Type TIdOnBanner Type TIdOnBeforeBind Type TIdOnBeforeConnect Type TIdOnClientID Type TIdOnCommandBind Type TIdOnCommandConnect Type TIdOnDataChannelCreate Type TIdOnDataChannelDestroy Type TIdOnFTPStatEvent Type TIdOnGetCustomListFormat Type TIdOnGetStreams Type TIdOnLogString Type TIdOnMLST Type TIdOnParseCustomListFormat Type TIdOnPASV Type TIdOnSelectAuthorization Type TIdOnTLSNegotiationFailure Type TIdOperation Type TIdOwnedCollection Type TIdPersistent Type TIdPhoneAttributes Type TIdPID Type TIdPOP3ServerAPOPCommandEvent Type TIdPOP3ServerLogin Type TIdPOP3ServerMessageNumberEvent Type TIdPOP3ServerNoParamEvent Type TIdPOP3ServerStatEvent Type TIdPOP3ServerTOPCommandEvent Type TIdPort Type TIdQOTDGetEvent Type TIdQotdUDPGetEvent Type TIdReadLnFunction Type TIdRepliesClass Type TIdReplyClass Type TIdRexecCommandEvent Type TIdRSHCommandEvent Type TIdSASLServiceName Type TIdSeekOrigin Type TIdServeFile Type TIdServerSSLClass Type TIdServerThreadEvent Type TIdServerThreadExceptionEvent Type TIdSMTPFailedRecipient Type Internet Direct (Indy) Version 10.1.5

3065 3065 3065 3065 3066 3066 3066 3067 3067 3067 3068 3068 3068 3068 3069 3069 3069 3069 3070 3070 3070 3071 3071 3071 3071 3072 3072 3072 3073 3073 3074 3074 3074 3075 3075 3075 3075 3076 3076 3076 3077 3077 3077 3078 3078 3079 3079 3079 3080 3080 3081 3081 xxxv

TIdSMTPRelayStatus Type TIdSocketListClass Type TIdSocketOption Type TIdSocketOptionLevel Type TIdSocketProtocol Type TIdSocketType Type TIdSortCompare Type TIdSSLVerifyModeSet Type TIdStackClass Type TIdStackSocketHandle Type TIdStatusEvent Type TIdStream Type TIdStreamHelper Type TIdStringList Type TIdStringListSortCompare Type TIdStringMessageEvent Type TIdStrings Type TIdStringStream Type TIdSynchronizeThreadEvent Type TIdSyslogPRI Type TIdSystatEvent Type TIdTelnetCommandEvent Type TIdTelnetDataAvailEvent Type TIdTelnetNegotiateEvent Type TIdThreadClass Type TIdThreadList Type TIdThreadMethod Type TIdThreadOptions Type TIdThreadPriority Type TIdThreadWithTaskClass Type TIdUDPExceptionEvent Type TIdUDPSystatEvent Type TIdURIOptionalFieldsSet Type TIdUserAccess Type TIdUserHandle Type TIdUserManagerAuthenticationEvent Type TIdUserManagerLogoffEvent Type TIdZLibCompressorBaseClass Type TIMAP4CommandEvent Type TInFunc Type TIOHandlerNotify Type TIPMCastReadEvent Type TLogItemDataEvent Type TLogItemStatusEvent Type TLongIntArray Type TMessageArriveEvent Type TMessageReceiveEvent Type TOnAfterClientLogin Type TOnAfterUserLoginEvent Type TOnCacheChecksum Type TOnCheckFileEvent Type TOnCheckSumFile Type xxxvi

3082 3082 3083 3084 3084 3085 3085 3086 3086 3086 3087 3087 3088 3088 3089 3089 3089 3090 3090 3090 3091 3091 3092 3092 3093 3093 3093 3094 3094 3095 3095 3096 3096 3097 3097 3097 3098 3098 3098 3098 3099 3099 3099 3100 3101 3101 3101 3101 3102 3102 3102 3102 Internet Direct (Indy) Version 10.1.5

TOnCombineFiles Type TOnCreateEvent Type TOnCreatePostStream Type TOnCreateSession Type TOnCustomListDirectoryEvent Type TOnCustomPathProcess Type TOnDataPortBind Type TOnDestroyEvent Type TOnDirectoryEvent Type TOnFileEvent Type TOnFTPUserLoginEvent Type TOnGetFileDateEvent Type TOnGetFileSizeEvent Type TOnGetMessagePartStream Type TOnHTTPDocument Type TOnListDirectoryEvent Type TOnMailFromEvent Type TOnManagerEvent Type TOnMsgReceive Type TOnNewCookieEvent Type TOnRcptToEvent Type TOnReceived Type TOnRenameFileEvent Type TOnReplyEvent Type TOnRetrieveFileEvent Type TOnSessionEndEvent Type TOnSessionStartEvent Type TOnSetATTRIB Type TOnSetFileDateEvent Type TOnSiteCHGRP Type TOnSiteCHMOD Type TOnSiteCHOWN Type TOnSiteUMASK Type TOnSiteUTIME Type TOnSMTPEvent Type TOnSMTPUserLoginEvent Type TOnStoreFileEvent Type TOnSyslogEvent Type TOnVerifyChecksum Type TOutFunc Type TPasswordEvent Type TPlusRequestEvent Type TPosProc Type TQueryType Type TReceiveErrorEvent Type TRequestEvent Type TResultRecordClass Type TResultSections Type TStringEvent Type TSysCharSet Type TTransferCompleteEvent Type TUDPReadEvent Type Internet Direct (Indy) Version 10.1.5

3103 3103 3103 3104 3104 3105 3105 3105 3106 3106 3106 3106 3107 3107 3107 3108 3108 3108 3109 3109 3110 3110 3110 3110 3111 3111 3112 3112 3112 3113 3113 3113 3113 3114 3114 3114 3114 3115 3115 3115 3116 3116 3116 3117 3117 3117 3118 3118 3118 3119 3119 3119 xxxvii

TVerifyPeerEvent Type TWorkBeginEvent Type TWorkEndEvent Type TWorkEvent Type WordStr Type

Variables GAntiFreeze Variable GBase64DecodeTable Variable GBinHex4DecodeTable Variable GBSDStack Variable GDotNetComputerName Variable GlobalSASLList Variable GServeFileProc Variable GSocketListClass Variable GSSLRegistry Variable GStack Variable GThreadCount Variable GUUEDecodeTable Variable GWindowsStack Variable GXXEDecodeTable Variable IdMIMEBoundaryStrings Variable IdUserAccessDenied Variable IdUserHandleBroadcast Variable IdUserHandleNone Variable IndyFalseBoolStrs Variable IndyPos Variable IndyTrueBoolStrs Variable MIMEMediaType Variable

Constants AAlwaysValidOpts Constant ASN1_COUNTER Constant ASN1_GAUGE Constant ASN1_INT Constant ASN1_IPADDR Constant ASN1_NULL Constant ASN1_OBJID Constant ASN1_OCTSTR Constant ASN1_OPAQUE Constant ASN1_SEQ Constant ASN1_TIMETICKS Constant AVAIL_DEF Constant B_CR Constant B_EQUALS Constant B_LF Constant B_NUL Constant B_PERIOD Constant B_TAB Constant b64Chars Constant b64Index Constant b64Table Constant BACKSPACE Constant BufferSize Constant xxxviii

3120 3120 3121 3121 3122

3123 3123 3123 3124 3124 3124 3125 3125 3125 3126 3126 3126 3127 3127 3128 3128 3128 3129 3129 3129 3129 3130 3130

3132 3132 3132 3132 3132 3133 3133 3133 3133 3134 3134 3134 3134 3135 3135 3135 3135 3135 3135 3136 3136 3136 3137 3137 Internet Direct (Indy) Version 10.1.5

BUFLEN Constant cA Constant cAAAA Constant CAPAPIPELINE Constant cAt Constant cAXFR Constant CC_BYE Constant CC_CH_PASSW Constant CC_DEL_DIR Constant CC_DEL_FILE Constant CC_ERR Constant CC_GET_DIR Constant CC_GET_FILE Constant CC_GET_PRO Constant CC_GRAB_DONE Constant CC_GRAB_FILE Constant CC_INFO Constant CC_INSTALL Constant CC_LIMIT Constant CC_MAKE_DIR Constant CC_RENAME Constant CC_SET_PRO Constant CC_STAT Constant CC_TEST Constant CC_UP_LOAD Constant CC_VERSION Constant cCName Constant CDATE_PART_SEP Constant CHAR0 Constant CHAR32 Constant cHINFO Constant cInclude Constant cIXFR Constant Class_CHAOS Constant CLASS_DEF Constant Class_IN Constant cLOC Constant cMB Constant cMD Constant cMF Constant cMG Constant cMINFO Constant cMR Constant cMX Constant cNS Constant cNSAP Constant cNSAP_PTR Constant cNULL Constant cOrigin Constant cPTR Constant CR Constant cRCodeFormatErr Constant Internet Direct (Indy) Version 10.1.5

3137 3137 3138 3138 3138 3139 3139 3140 3142 3143 3145 3146 3148 3149 3151 3152 3153 3155 3156 3158 3159 3161 3162 3164 3165 3167 3168 3168 3169 3169 3169 3170 3170 3170 3170 3171 3171 3171 3171 3172 3172 3172 3172 3173 3173 3173 3173 3174 3174 3174 3174 3175 xxxix

cRCodeNameErr Constant cRCodeNoError Constant cRCodeNotImplemented Constant cRCodeQueryCacheFindError Constant cRCodeQueryCacheOK Constant cRCodeQueryNotFound Constant cRCodeQueryNotImplement Constant cRCodeQueryOK Constant cRCodeQueryReturned Constant cRCodeRefused Constant cRCodeServerErr Constant cRCodeStrs Constant crlf Constant csDesigning Constant csLoading Constant cSOA Constant cSTAR Constant cTXT Constant CUR_DIR Constant cWKS Constant DATA_ACCEPT Constant DATA_CMD Constant DATA_PERIOD_ACCEPT Constant DEF_ATYPE Constant DEF_BANNERPAGE Constant DEF_DIR_GRP_PERM Constant DEF_DIR_OTHER_PERM Constant DEF_DIR_OWN_PERM Constant DEF_DIRFORMAT Constant DEF_FILE_GRP_PERM Constant DEF_FILE_OTHER_PERM Constant DEF_FILE_OWN_PERM Constant DEF_FILEFormat Constant DEF_FTP_BLOCK_ALL_PORTS Constant DEF_FTP_DISABLE_STAT Constant DEF_FTP_DISABLE_SYST Constant DEF_FTP_HIDE_INVALID_USER Constant DEF_FTP_IMPLICIT_FTP Constant DEF_FTP_INVALIDPASS_DELAY Constant DEF_FTP_NO_RESERVED_PORTS Constant DEF_FTP_PASSWORDATTEMPTS Constant DEF_FTP_PASV_SAME_IP Constant DEF_FTP_PERMIT_CCC Constant DEF_FTP_PORT_SAME_IP Constant DEF_FTP_REPORT_EX_MSG Constant DEF_Id_FTP_AUTH_CMD Constant DEF_Id_FTP_READTIMEOUT Constant DEF_Id_FTP_UseCCC Constant DEF_Id_FTP_UseExtendedDataPort Constant DEF_Id_TIdFTP_Implicit Constant DEF_Id_TIdFTP_UseExtendedData Constant DEF_Id_TIdFTP_UseMIS Constant xl

3175 3175 3175 3176 3176 3176 3176 3177 3177 3177 3177 3178 3178 3178 3178 3179 3179 3179 3179 3180 3180 3180 3181 3181 3181 3182 3182 3182 3182 3183 3183 3183 3183 3183 3184 3184 3184 3184 3185 3185 3185 3185 3186 3186 3186 3186 3187 3187 3187 3187 3188 3188 Internet Direct (Indy) Version 10.1.5

DEF_IMAP4_AUTH Constant DEF_IMAP4_IMPLICIT_TLS Constant DEF_IMP_LOOPBACK Constant DEF_IMP_THREADEDEVENT Constant DEF_IMP_TTL Constant DEF_INDENTCOUNT Constant DEF_MAILWHENPRINTED Constant DEF_MAXSIZE Constant DEF_MAXSPACE Constant DEF_MEM_LEVEL Constant DEF_NNTP_IMPLICIT_TLS Constant DEF_OneConnectionPerDomain Constant DEF_OUTPUTWIDTH Constant DEF_OWNER Constant DEF_PACKET_SIZE Constant DEF_PASV_BOUND_MAX Constant DEF_PASV_BOUND_MIN Constant DEF_PATHPROCESSING Constant DEF_POP3_IMPLICIT_TLS Constant DEF_POP3USE_IMPLICIT_TLS Constant DEF_REPLY_CODE Constant DEF_ReplyFormat Constant DEF_SENT Constant DEF_SMTP_AUTH Constant DEF_SMTP_PIPELINE Constant DEF_SMTP_Use_ImplicitTLS Constant DEF_SSL_SUPPORT Constant DEF_TRY_IMPLICITTLS Constant DEF_TRYMIME Constant DEF_USETLS Constant DEF_ZLIB_COMP_LEVEL Constant DEF_ZLIB_MEM_LEVEL Constant DEF_ZLIB_METHOD Constant DEF_ZLIB_STRATAGY Constant DEF_ZLIB_WINDOW_BITS Constant DEFAULT_ADDRESS Constant DEFAULT_COMM_MODE Constant DEFAULT_CONN_LIMIT Constant DEFAULT_IS_LISTENER Constant DEFAULT_PORT Constant DEFAULT_RECEIVE_TIMEOUT Constant DEFAULT_RECONNECT_DELAY Constant DEFAULT_TIMEOUT Constant DefIdSysUDPTimeout Constant DICT_AUTHDEF Constant EBadValue Constant EGenErr Constant ENoError Constant ENoSuchName Constant EOL Constant EPLF_BASE_DATE Constant EReadOnly Constant Internet Direct (Indy) Version 10.1.5

3188 3188 3189 3189 3189 3190 3190 3190 3191 3191 3191 3192 3192 3192 3192 3193 3193 3193 3194 3194 3194 3194 3195 3195 3195 3196 3196 3196 3197 3197 3197 3198 3198 3198 3198 3199 3199 3199 3199 3200 3200 3200 3200 3201 3201 3201 3201 3202 3202 3202 3203 3203 xli

ERR Constant ErrAccessViolation Constant ErrAllocationExceeded Constant ErrFileAlreadyExists Constant ErrFileNotFound Constant ErrIllegalOperation Constant ErrNoSuchUser Constant ErrOptionNegotiationFailed Constant ErrUndefined Constant ErrUnknownTransferID Constant ETooBig Constant ExplicitTLSVals Constant fmCreate Constant fmOpenRead Constant fmOpenReadWrite Constant fmOpenWrite Constant fmShareDenyNone Constant fmShareDenyWrite Constant fmShareExclusive Constant GBase64CodeTable Constant GBinHex4CodeTable Constant GBinHex4IdentificationString Constant GContentType Constant GFContentLength Constant GFMaxAge Constant GFRequestedBlockSize Constant GFTTL Constant GLoginAttempts Constant GOSType Constant GPathDelim Constant GReceiveTimeout Constant GRecvBufferSizeDefault Constant GResponseNo Constant GSendBufferSizeDefault Constant GServerSoftware Constant GSessionIDCookie Constant GTransferMode Constant GUUECodeTable Constant GXXECodeTable Constant GZIP_WINBITS Constant hdrsize Constant HEXPREFIX Constant HSIZE Constant HTTPRequestStrings Constant iAA_Authoritative Constant iAA_NotAuthoritative Constant ICMP_MIN Constant ICMP6_DST_UNREACH Constant ICMP6_DST_UNREACH_ADDR Constant ICMP6_DST_UNREACH_ADMIN Constant ICMP6_DST_UNREACH_NOPORT Constant ICMP6_DST_UNREACH_NOROUTE Constant xlii

3203 3203 3204 3204 3204 3204 3205 3205 3205 3205 3206 3206 3206 3206 3207 3207 3207 3208 3208 3208 3209 3210 3210 3210 3211 3211 3211 3212 3212 3212 3213 3213 3214 3214 3214 3215 3215 3216 3216 3218 3218 3218 3219 3220 3220 3220 3220 3221 3221 3221 3221 3222 Internet Direct (Indy) Version 10.1.5

ICMP6_DST_UNREACH_NOTNEIGHBOR Constant ICMP6_DST_UNREACH_REJCT_DST Constant ICMP6_DST_UNREACH_SOURCE_FILTERING Constant ICMP6_ECHO_REPLY Constant ICMP6_ECHO_REQUEST Constant ICMP6_INFOMSG_MASK Constant ICMP6_MEMBERSHIP_QUERY Constant ICMP6_MEMBERSHIP_REDUCTION Constant ICMP6_MEMBERSHIP_REPORT Constant ICMP6_PACKET_TOO_BIG Constant ICMP6_PARAM_PROB Constant ICMP6_PARAMPROB_HEADER Constant ICMP6_PARAMPROB_NEXTHEADER Constant ICMP6_PARAMPROB_OPTION Constant ICMP6_TIME_EXCEED_REASSEMBLY Constant ICMP6_TIME_EXCEED_TRANSIT Constant ICMP6_TIME_EXCEEDED Constant Id__S_IEXEC Constant Id__S_IREAD Constant Id__S_ISGID Constant Id__S_ISUID Constant Id__S_ISVTX Constant Id__S_IWRITE Constant ID_ACCEPT_WAIT Constant Id_AIPN_0_HOP Constant Id_AIPN_3PC Constant Id_AIPN_A_N Constant Id_AIPN_Any_Distributed_File_System Constant Id_AIPN_Any_Host_Internal Constant Id_AIPN_Any_LAN Constant Id_AIPN_Any_Private_Encryption Constant Id_AIPN_ARGUS Constant Id_AIPN_ARIS Constant Id_AIPN_AX_25 Constant Id_AIPN_BBN_RCC_MON Constant Id_AIPN_BNA Constant Id_AIPN_BR_SAT_MON Constant Id_AIPN_CFTP Constant Id_AIPN_CHAOS Constant Id_AIPN_Compaq_Peer Constant Id_AIPN_CPHB Constant Id_AIPN_CPNX Constant Id_AIPN_CRTP Constant Id_AIPN_CRUDP Constant Id_AIPN_DCN_MEAS Constant Id_AIPN_DDP Constant Id_AIPN_DDX Constant Id_AIPN_DGP Constant Id_AIPN_EGP Constant Id_AIPN_EMCON Constant Id_AIPN_ENCAP Constant Id_AIPN_ETHERIP Constant Internet Direct (Indy) Version 10.1.5

3222 3222 3222 3223 3223 3223 3223 3224 3224 3224 3224 3225 3225 3225 3225 3226 3226 3226 3226 3227 3227 3227 3227 3228 3228 3228 3229 3229 3229 3230 3230 3230 3231 3231 3231 3232 3232 3232 3233 3233 3233 3234 3234 3234 3235 3235 3235 3236 3236 3236 3237 3237 xliii

Id_AIPN_EXPAK Constant Id_AIPN_FC Constant Id_AIPN_FIRE Constant Id_AIPN_GGP Constant Id_AIPN_GMTP Constant Id_AIPN_GRE Constant Id_AIPN_HMP Constant Id_AIPN_I_NLSP Constant Id_AIPN_IATP Constant Id_AIPN_ICMP Constant Id_AIPN_IDPR Constant Id_AIPN_IDPR_CMTP Constant Id_AIPN_IDRP Constant Id_AIPN_IFMP Constant Id_AIPN_IGMP Constant Id_AIPN_IGP Constant Id_AIPN_IGRP Constant Id_AIPN_IL Constant Id_AIPN_IP Constant Id_AIPN_IPComp Constant Id_AIPN_IPCV Constant Id_AIPN_IPIP Constant Id_AIPN_IPLT Constant Id_AIPN_IPPC Constant Id_AIPN_IPV6_ICMP Constant Id_AIPN_IPV6_NO_NEXT Constant Id_AIPN_IPV6_OPTS Constant Id_AIPN_IPX_In_IP Constant Id_AIPN_IRTP Constant Id_AIPN_ISIS Constant Id_AIPN_ISO_IP Constant Id_AIPN_ISO_TP4 Constant Id_AIPN_KRYPTOLAN Constant Id_AIPN_Kryptonet Constant Id_AIPN_L2TP Constant Id_AIPN_LARP Constant Id_AIPN_LEAF_1 Constant Id_AIPN_LEAF_2 Constant Id_AIPN_MERIT_IMP Constant Id_AIPN_MHRP Constant Id_AIPN_MICP Constant Id_AIPN_MOBILE Constant Id_AIPN_MTP Constant Id_AIPN_MUX Constant Id_AIPN_NETBLT Constant Id_AIPN_NFE_NSP Constant Id_AIPN_NHRP Constant Id_AIPN_NSFNET_IGP Constant Id_AIPN_NVP_II Constant Id_AIPN_OSPFIGP Constant Id_AIPN_PGM Constant Id_AIPN_PIM Constant xliv

3237 3238 3238 3238 3239 3239 3239 3240 3240 3240 3241 3241 3241 3242 3242 3242 3243 3243 3243 3244 3244 3244 3245 3245 3245 3246 3246 3246 3247 3247 3247 3248 3248 3248 3249 3249 3249 3250 3250 3250 3251 3251 3251 3252 3252 3252 3253 3253 3253 3254 3254 3254 Internet Direct (Indy) Version 10.1.5

Id_AIPN_PIPE Constant Id_AIPN_PNNI Constant Id_AIPN_PRM Constant Id_AIPN_PTP Constant Id_AIPN_PUP Constant Id_AIPN_PVP Constant Id_AIPN_QNX Constant Id_AIPN_RDP Constant Id_AIPN_Reserved Constant Id_AIPN_Reserved2 Constant Id_AIPN_RSVP Constant Id_AIPN_RSVP_E2E_IGNORE Constant Id_AIPN_RVD Constant Id_AIPN_SAT_EXPACK Constant Id_AIPN_SAT_MON Constant Id_AIPN_SCC_SP Constant Id_AIPN_SCPS Constant Id_AIPN_SCTP Constant Id_AIPN_SDRP Constant Id_AIPN_SECURE_VMTP Constant Id_AIPN_SEP Constant Id_AIPN_SIP Constant Id_AIPN_SIP_FRAG Constant Id_AIPN_SIP_SR Constant Id_AIPN_SIPP_AH Constant Id_AIPN_SIPP_ESB Constant Id_AIPN_SKIP Constant Id_AIPN_SM Constant Id_AIPN_SMP Constant Id_AIPN_SNP Constant Id_AIPN_Sprite_RPC Constant Id_AIPN_SPS Constant Id_AIPN_SRP Constant Id_AIPN_SSCOPMCE Constant Id_AIPN_ST Constant Id_AIPN_STP Constant Id_AIPN_SUN_ND Constant Id_AIPN_SWIPE Constant Id_AIPN_TCF Constant Id_AIPN_TCP Constant Id_AIPN_TLSP Constant Id_AIPN_TP_PLUS_PLUS Constant Id_AIPN_TRUNK_1 Constant Id_AIPN_TRUNK_2 Constant Id_AIPN_TTP Constant Id_AIPN_UCL Constant Id_AIPN_UDP Constant Id_AIPN_UTI Constant Id_AIPN_VINES Constant Id_AIPN_VISA Constant Id_AIPN_VMTP Constant Id_AIPN_VRRP Constant Internet Direct (Indy) Version 10.1.5

3255 3255 3255 3256 3256 3256 3257 3257 3257 3258 3258 3258 3259 3259 3259 3260 3260 3260 3261 3261 3261 3262 3262 3262 3263 3263 3263 3264 3264 3264 3265 3265 3265 3266 3266 3266 3267 3267 3267 3268 3268 3268 3269 3269 3269 3270 3270 3270 3271 3271 3271 3272 xlv

Id_AIPN_WB_MON Constant Id_AIPN_WSM Constant Id_AIPN_XNET Constant Id_AIPN_XNS_IDP Constant Id_AIPN_XTP Constant Id_AIVN_IP Constant Id_AIVN_PIP Constant Id_AIVN_Reserved2 Constant Id_AIVN_Rserved Constant Id_AIVN_SIP Constant Id_AIVN_ST Constant Id_AIVN_TP_IX Constant Id_AIVN_Tuba Constant Id_ARP_HSIZE Constant Id_ARPHRD_ETHER Constant Id_ARPOP_INVREPLY Constant Id_ARPOP_INVREQUEST Constant Id_ARPOP_REPLY Constant Id_ARPOP_REQUEST Constant Id_ARPOP_REVREPLY Constant Id_ARPOP_REVREQUEST Constant Id_CS_ISO_8859_1 Constant Id_CS_ISO_8859_2 Constant Id_CS_ISO_8859_3 Constant Id_CS_ISO_8859_4 Constant Id_CS_ISO_8859_5 Constant Id_CS_ISO_8859_6 Constant Id_CS_ISO_8859_7 Constant Id_CS_ISO_8859_8 Constant Id_CS_ISO_8859_9 Constant Id_CS_US_ASCII Constant Id_DEF_AllowAnon Constant Id_DEF_PassStrictCheck Constant ID_DEFAULT_IP_VERSION Constant ID_Default_TIdAntiFreezeBase_Active Constant ID_Default_TIdAntiFreezeBase_ApplicationHasPriority Constant ID_Default_TIdAntiFreezeBase_IdleTimeOut Constant ID_Default_TIdAntiFreezeBase_OnlyWhenIdle Constant Id_DNS_HSIZE Constant Id_EHR_GENERIC_OK Constant Id_EHR_GENERIC_PERM Constant Id_EHR_GENERIC_TRANS Constant Id_EHR_MB_DISABLED_PERM Constant Id_EHR_MB_DISABLED_TEMP Constant Id_EHR_MB_FULL Constant Id_EHR_MB_ML_EXPAN_PERM Constant Id_EHR_MB_ML_EXPAN_TEMP Constant Id_EHR_MB_MSG_LEN_LIMIT Constant Id_EHR_MB_OTHER_STATUS_OK Constant Id_EHR_MB_OTHER_STATUS_PERM Constant Id_EHR_MB_OTHER_STATUS_TRANS Constant Id_EHR_MD_INCORRECT_CONFIG_PERM Constant xlvi

3272 3272 3273 3273 3273 3274 3274 3274 3275 3275 3275 3276 3276 3276 3276 3277 3277 3277 3277 3278 3278 3278 3278 3279 3279 3280 3280 3280 3281 3281 3281 3282 3282 3282 3282 3283 3283 3283 3284 3284 3284 3285 3285 3285 3285 3286 3286 3286 3286 3287 3287 3287 Internet Direct (Indy) Version 10.1.5

Id_EHR_MD_INCORRECT_CONFIG_TRANS Constant Id_EHR_MD_MAIL_SYSTEM_FULL Constant Id_EHR_MD_NOT_CAPABLE_FEAT_PERM Constant Id_EHR_MD_NOT_CAPABLE_FEAT_TRANS Constant Id_EHR_MD_NOT_EXCEPTING_PERM Constant Id_EHR_MD_NOT_EXCEPTING_TRANS Constant Id_EHR_MD_OTHER_OK Constant Id_EHR_MD_OTHER_PERM Constant Id_EHR_MD_OTHER_TRANS Constant Id_EHR_MD_TOO_BIG Constant Id_EHR_MED_CONV_FAILED_PERM Constant Id_EHR_MED_CONV_FAILED_TRANS Constant Id_EHR_MED_CONV_LOSS_ERROR Constant Id_EHR_MED_CONV_LOSS_WARNING Constant Id_EHR_MED_CONV_REQUIRED_NOT_SUP_PERM Constant Id_EHR_MED_CONV_REQUIRED_NOT_SUP_TRANS Constant Id_EHR_MED_CONV_REQUIRED_PROHIB_PERM Constant Id_EHR_MED_CONV_REQUIRED_PROHIB_TRANS Constant Id_EHR_MED_NOT_SUPPORTED Constant Id_EHR_MED_OTHER_OK Constant Id_EHR_MED_OTHER_PERM Constant Id_EHR_MED_OTHER_TRANS Constant Id_EHR_MSG_AMBIG_DEST Constant Id_EHR_MSG_BAD_DEST Constant Id_EHR_MSG_BAD_DEST_SYNTAX Constant Id_EHR_MSG_BAD_DEST_SYST Constant Id_EHR_MSG_BAD_SENDER_ADDR Constant Id_EHR_MSG_DEST_MOVED_NOFORWARD Constant Id_EHR_MSG_OTH_OK Constant Id_EHR_MSG_OTH_PERM Constant Id_EHR_MSG_OTH_TRANS Constant Id_EHR_MSG_SENDER_BOX_SYNTAX Constant Id_EHR_MSG_VALID_DEST Constant Id_EHR_NR_BAD_CONNECTION Constant Id_EHR_NR_DELIVERY_EXPIRED_PERM Constant Id_EHR_NR_DELIVERY_EXPIRED_TEMP Constant Id_EHR_NR_DIR_SVR_FAILURE Constant Id_EHR_NR_LOOP_DETECTED Constant Id_EHR_NR_NO_ANSWER Constant Id_EHR_NR_OTHER_OK Constant Id_EHR_NR_OTHER_PERM Constant Id_EHR_NR_OTHER_TRANS Constant Id_EHR_NR_SYSTEM_CONGESTION Constant Id_EHR_NR_UNABLE_TO_ROUTE_PERM Constant Id_EHR_NR_UNABLE_TO_ROUTE_TRANS Constant Id_EHR_PR_INVALID_CMD Constant Id_EHR_PR_INVALID_CMD_ARGS Constant Id_EHR_PR_OTHER_OK Constant Id_EHR_PR_OTHER_PERM Constant Id_EHR_PR_OTHER_TEMP Constant Id_EHR_PR_SYNTAX_ERR Constant Id_EHR_PR_TOO_MANY_RECIPIENTS_PERM Constant Internet Direct (Indy) Version 10.1.5

3287 3288 3288 3288 3288 3289 3289 3289 3289 3290 3290 3290 3290 3291 3291 3291 3291 3292 3292 3292 3292 3293 3293 3293 3293 3294 3294 3294 3294 3295 3295 3295 3295 3296 3296 3296 3296 3297 3297 3297 3297 3298 3298 3298 3298 3299 3299 3299 3299 3300 3300 3300 xlvii

Id_EHR_PR_TOO_MANY_RECIPIENTS_TEMP Constant Id_EHR_PR_WRONG_VER_PERM Constant Id_EHR_PR_WRONG_VER_TRANS Constant Id_EHR_SEC_CONV_REQ_NOT_POSSIBLE Constant Id_EHR_SEC_CRYPT_ALG_NOT_SUP_PERM Constant Id_EHR_SEC_CRYPT_ALG_NOT_SUP_TRANS Constant Id_EHR_SEC_CRYPT_FAILURE_PERM Constant Id_EHR_SEC_CRYPT_FAILURE_TRANS Constant Id_EHR_SEC_DEL_NOT_AUTH Constant Id_EHR_SEC_EXP_NOT_AUTH Constant Id_EHR_SEC_INTEGRETIY_FAILED_TRANS Constant Id_EHR_SEC_INTEGRETIY_FAILED_WARN Constant Id_EHR_SEC_NOT_SUPPORTED Constant Id_EHR_SEC_OTHER_OK Constant Id_EHR_SEC_OTHER_PERM Constant Id_EHR_SEC_OTHER_TRANS Constant Id_EHR_USE_STARTTLS Constant Id_ETH_HSIZE Constant Id_ETHER_ADDR_LEN Constant Id_ETHERTYPE_ARP Constant Id_ETHERTYPE_IP Constant Id_ETHERTYPE_LOOPBACK Constant Id_ETHERTYPE_PUP Constant Id_ETHERTYPE_REVARP Constant Id_ETHERTYPE_VLAN Constant Id_HTTPMethodConnect Constant Id_HTTPMethodDelete Constant Id_HTTPMethodGet Constant Id_HTTPMethodHead Constant Id_HTTPMethodOptions Constant Id_HTTPMethodPost Constant Id_HTTPMethodPut Constant Id_HTTPMethodTrace Constant Id_ICMP_AUTH_FAILED Constant Id_ICMP_BAD_SPI Constant Id_ICMP_CONV_32BIT_ROLLOVER_AND_ACK Constant Id_ICMP_CONV_DONTCONV_OPTION Constant Id_ICMP_CONV_IP_HEADER_LEN_EXCEEDED Constant Id_ICMP_CONV_OVERALL_LENGTH_EXCEEDED Constant Id_ICMP_CONV_PORT_OUT_OF_RANGE Constant Id_ICMP_CONV_TRANS_HEADER_LEN_EXCEEDED Constant Id_ICMP_CONV_TRANS_PROT_255 Constant Id_ICMP_CONV_UNKNOWN_MAN_OPTION Constant Id_ICMP_CONV_UNKNOWN_MAN_TRANS_OPTION Constant Id_ICMP_CONV_UNKNWON_UNSEP_OPTION Constant Id_ICMP_CONV_UNSEP_TRANSPORT Constant Id_ICMP_CONV_UNSPEC Constant Id_ICMP_DATAGRAM_CONV Constant Id_ICMP_DECOMPRESS_FAILED Constant Id_ICMP_DECRYPTION_FAILED Constant Id_ICMP_ECHO Constant Id_ICMP_ECHO_HSIZE Constant xlviii

3300 3301 3301 3301 3301 3302 3302 3302 3302 3303 3303 3303 3303 3304 3304 3304 3304 3305 3305 3305 3305 3306 3306 3306 3306 3307 3307 3308 3308 3309 3309 3310 3310 3311 3311 3311 3311 3312 3312 3312 3312 3313 3313 3313 3313 3314 3314 3314 3314 3315 3315 3315 Internet Direct (Indy) Version 10.1.5

Id_ICMP_ECHOREPLY Constant Id_ICMP_HSIZE Constant Id_ICMP_IPv6_I_AM_HERE Constant Id_ICMP_IPv6_WHERE_ARE_YOU Constant Id_ICMP_IREQ Constant Id_ICMP_IREQREPLY Constant Id_ICMP_MASK_HSIZE Constant Id_ICMP_MASKREPLY Constant Id_ICMP_MASKREQ Constant Id_ICMP_MOB_HOST_REDIR Constant Id_ICMP_MOB_REG_REPLY Constant Id_ICMP_MOB_REG_REQ Constant Id_ICMP_NEED_AUTHENTICATION Constant Id_ICMP_NEED_AUTHORIZATION Constant Id_ICMP_PARAMPROB Constant Id_ICMP_PARAMPROB_OPTABSENT Constant Id_ICMP_PHOTURIS Constant Id_ICMP_REDIRECT Constant Id_ICMP_REDIRECT_HOST Constant Id_ICMP_REDIRECT_HSIZE Constant Id_ICMP_REDIRECT_NET Constant Id_ICMP_REDIRECT_TOSHOST Constant Id_ICMP_REDIRECT_TOSNET Constant Id_ICMP_ROUTERADVERT Constant Id_ICMP_ROUTERSOLICIT Constant Id_ICMP_SKIP Constant Id_ICMP_SOURCEQUENCH Constant Id_ICMP_TIMEXCEED_HSIZE Constant Id_ICMP_TIMXCEED Constant Id_ICMP_TIMXCEED_INTRANS Constant Id_ICMP_TIMXCEED_REASS Constant Id_ICMP_TRACEROUTE Constant Id_ICMP_TRACEROUTE_NO_ROUTE Constant Id_ICMP_TRACEROUTE_PACKET_FORWARDED Constant Id_ICMP_TS_HSIZE Constant Id_ICMP_TSTAMP Constant Id_ICMP_TSTAMPREPLY Constant Id_ICMP_UNREACH Constant Id_ICMP_UNREACH_FILTER_PROHIB Constant Id_ICMP_UNREACH_HOST Constant Id_ICMP_UNREACH_HOST_PRECEDENCE Constant Id_ICMP_UNREACH_HOST_PROHIB Constant Id_ICMP_UNREACH_HOST_UNKNOWN Constant Id_ICMP_UNREACH_HSIZE Constant Id_ICMP_UNREACH_ISOLATED Constant Id_ICMP_UNREACH_NEEDFRAG Constant Id_ICMP_UNREACH_NET Constant Id_ICMP_UNREACH_NET_PROHIB Constant Id_ICMP_UNREACH_NET_UNKNOWN Constant Id_ICMP_UNREACH_PORT Constant Id_ICMP_UNREACH_PRECEDENCE_CUTOFF Constant Id_ICMP_UNREACH_PROTOCOL Constant Internet Direct (Indy) Version 10.1.5

3315 3316 3316 3316 3316 3317 3317 3317 3317 3318 3318 3318 3318 3319 3319 3319 3319 3320 3320 3320 3320 3321 3321 3321 3321 3322 3322 3322 3322 3323 3323 3323 3323 3324 3324 3324 3324 3325 3325 3325 3325 3326 3326 3326 3326 3327 3327 3327 3327 3328 3328 3328 xlix

Id_ICMP_UNREACH_SRCFAIL Constant Id_ICMP_UNREACH_TOSHOST Constant Id_ICMP_UNREACH_TOSNET Constant Id_ICMP6_ECHO_HSIZE Constant Id_IGMP_HSIZE Constant Id_IGMP_LEAVE_GROUP Constant Id_IGMP_MEMBERSHIP_QUERY Constant Id_IGMP_V1_MEMBERSHIP_REPORT Constant Id_IGMP_V2_MEMBERSHIP_REPORT Constant Id_IOHandler_MaxCapturedLines Constant Id_IP_DF Constant Id_IP_HSIZE Constant Id_IP_MAXPACKET Constant Id_IP_MF Constant Id_IP_OFFMASK Constant Id_IP_RF Constant Id_IPMC_3Com Constant Id_IPMC_3Com_AMP3 Constant Id_IPMC_8x8 Constant Id_IPMC_Administratively_Max Constant Id_IPMC_Administratively_Min Constant Id_IPMC_AGENTVIEW Constant Id_IPMC_Al_MPP_Hello Constant Id_IPMC_Alchemy Constant Id_IPMC_All_CDT_Routers Constant Id_IPMC_All_Routers Constant Id_IPMC_All_Systems Constant Id_IPMC_ampr_info Constant Id_IPMC_Artificial_Horizons Constant Id_IPMC_AUDIONEWS Constant Id_IPMC_B1RMonitor Constant Id_IPMC_Base_Address Constant Id_IPMC_Border_Max Constant Id_IPMC_Border_Min Constant Id_IPMC_Cal_Max Constant Id_IPMC_Cal_Min Constant Id_IPMC_CDPD_Max Constant Id_IPMC_CDPD_Min Constant Id_IPMC_ciena Constant Id_IPMC_Cisco_nhap Constant Id_IPMC_cisco_rp_announce Constant Id_IPMC_cisco_rp_discovery Constant Id_IPMC_CN Constant Id_IPMC_CNN Constant Id_IPMC_CNR_Max Constant Id_IPMC_CNR_Min Constant Id_IPMC_compaq_peer Constant Id_IPMC_CoolCast_Max Constant Id_IPMC_CoolCast_Min Constant Id_IPMC_Cornell_Max Constant Id_IPMC_Cornell_Min Constant Id_IPMC_CS_Multicasting Constant l

3328 3329 3329 3329 3329 3330 3330 3330 3330 3331 3331 3331 3332 3332 3332 3332 3333 3333 3333 3334 3334 3334 3335 3335 3335 3336 3336 3337 3337 3337 3338 3338 3338 3339 3339 3339 3340 3340 3341 3341 3341 3342 3342 3342 3343 3343 3343 3344 3344 3345 3345 3345 Internet Direct (Indy) Version 10.1.5

Id_IPMC_dantz Constant Id_IPMC_dcap_clients Constant Id_IPMC_dcap_servers Constant Id_IPMC_designated_sbm Constant Id_IPMC_DHCP_All_PIM_Routers Constant Id_IPMC_DHCP_Server Constant Id_IPMC_DHCP_SERVERS Constant Id_IPMC_dieboldmcast Constant Id_IPMC_digistar Constant Id_IPMC_DirecPC_SI Constant Id_IPMC_DIS_Max Constant Id_IPMC_DIS_Min Constant Id_IPMC_DLSw_Max Constant Id_IPMC_DLSw_Min Constant Id_IPMC_Domain_Max Constant Id_IPMC_Domain_Min Constant Id_IPMC_Dow_Max Constant Id_IPMC_Dow_Min Constant Id_IPMC_DTC_Announcement Constant Id_IPMC_dtn_mc Constant Id_IPMC_DVMRP_on_MOSPF Constant Id_IPMC_DVMRP_Routers Constant Id_IPMC_DXCLUSTER Constant Id_IPMC_EMS_InterDev Constant Id_IPMC_EMWIN Constant Id_IPMC_ETC_Control Constant Id_IPMC_extended_sys Constant Id_IPMC_ff_system_Management Constant Id_IPMC_gatekeeper Constant Id_IPMC_GE_FANUC Constant Id_IPMC_GilatSkySurfer Constant Id_IPMC_GLOBECAST_ID Constant Id_IPMC_GLOP_Max Constant Id_IPMC_GLOP_Min Constant Id_IPMC_HAVI_Sim Constant Id_IPMC_heartbeat Constant Id_IPMC_Hewlett_Max Constant Id_IPMC_Hewlett_Min Constant Id_IPMC_host_announce Constant Id_IPMC_host_request Constant Id_IPMC_hp_device_disc Constant Id_IPMC_HSPP Constant Id_IPMC_HYPERFEED Constant Id_IPMC_HYPERFEED_Max Constant Id_IPMC_HYPERFEED_Min Constant Id_IPMC_iapp Constant Id_IPMC_IAPP2 Constant Id_IPMC_iberiagames Constant Id_IPMC_IETF_1_Audio Constant Id_IPMC_IETF_1_Low_Audio Constant Id_IPMC_IETF_1_Video Constant Id_IPMC_IETF_2_Audio Constant Internet Direct (Indy) Version 10.1.5

3346 3346 3346 3347 3347 3347 3348 3348 3349 3349 3349 3350 3350 3350 3351 3351 3351 3352 3352 3353 3353 3353 3354 3354 3354 3355 3355 3355 3356 3356 3357 3357 3357 3358 3358 3358 3359 3359 3359 3360 3360 3361 3361 3361 3362 3362 3362 3363 3363 3363 3364 3364 li

Id_IPMC_IETF_2_Low_Audio Constant Id_IPMC_IETF_2_Video Constant Id_IPMC_IGMP Constant Id_IPMC_IGRP_Routers Constant Id_IPMC_IIG_Max Constant Id_IPMC_IIG_Min Constant Id_IPMC_imFtmSvc Constant Id_IPMC_INDIGO_VHDP Constant Id_IPMC_Infront Constant Id_IPMC_Intline Constant Id_IPMC_Intline_1 Constant Id_IPMC_Intline_10 Constant Id_IPMC_Intline_11 Constant Id_IPMC_Intline_12 Constant Id_IPMC_Intline_13 Constant Id_IPMC_Intline_14 Constant Id_IPMC_Intline_15 Constant Id_IPMC_Intline_2 Constant Id_IPMC_Intline_3 Constant Id_IPMC_Intline_4 Constant Id_IPMC_Intline_5 Constant Id_IPMC_Intline_6 Constant Id_IPMC_Intline_7 Constant Id_IPMC_Intline_8 Constant Id_IPMC_Intline_9 Constant Id_IPMC_INTV_Max Constant Id_IPMC_INTV_Min Constant Id_IPMC_Invisible_Max Constant Id_IPMC_Invisible_Min Constant Id_IPMC_IPAllIntermediate_Systems Constant Id_IPMC_IPAllL1ISs Constant Id_IPMC_IPAllL2ISs Constant Id_IPMC_isma_1 Constant Id_IPMC_isma_2 Constant Id_IPMC_itb301 Constant Id_IPMC_jini_announcement Constant Id_IPMC_jini_request Constant Id_IPMC_LiebDevMgmg_DM Constant Id_IPMC_ll_sbms Constant Id_IPMC_lmsc_calren_1 Constant Id_IPMC_lmsc_calren_2 Constant Id_IPMC_lmsc_calren_3 Constant Id_IPMC_lmsc_calren_4 Constant Id_IPMC_Mac Constant Id_IPMC_Make Constant Id_IPMC_marratech_cc Constant Id_IPMC_mbone_vcr_directory Constant Id_IPMC_mcntp_directory Constant Id_IPMC_MDAP Constant Id_IPMC_mdhcpdisover Constant Id_IPMC_mDNS Constant Id_IPMC_Mercantile_Max Constant lii

3365 3365 3365 3366 3366 3366 3367 3367 3367 3368 3368 3369 3369 3369 3370 3370 3370 3371 3371 3371 3372 3372 3373 3373 3373 3374 3374 3374 3375 3375 3375 3376 3376 3377 3377 3377 3378 3378 3378 3379 3379 3379 3380 3380 3381 3381 3381 3382 3382 3382 3383 3383 Internet Direct (Indy) Version 10.1.5

Id_IPMC_Mercantile_Min Constant Id_IPMC_Metropol_Max Constant Id_IPMC_Metropol_Min Constant Id_IPMC_Microsoft_DS Constant Id_IPMC_Microsoft_Max Constant Id_IPMC_Microsoft_Min Constant Id_IPMC_MLOADD Constant Id_IPMC_MMP_bundle_discovery1 Constant Id_IPMC_MMP_bundle_discovery2 Constant Id_IPMC_mmtp_poll Constant Id_IPMC_Mobile_Agents Constant Id_IPMC_MRM Constant Id_IPMC_MS_IP_TV_Max Constant Id_IPMC_MS_IP_TV_Min Constant Id_IPMC_MSP Constant Id_IPMC_MTP_Protocol Constant Id_IPMC_mtrace Constant Id_IPMC_multihasc_com Constant Id_IPMC_Multimedia_Max Constant Id_IPMC_Multimedia_Min Constant Id_IPMC_Music_Service Constant Id_IPMC_NBC_Pfn Constant Id_IPMC_NBC_Pro Constant Id_IPMC_NCC_NET_Max Constant Id_IPMC_NCC_NET_Min Constant Id_IPMC_NDQMD1_Max Constant Id_IPMC_NDQMD1_Min Constant Id_IPMC_NLANR_Max Constant Id_IPMC_NLANR_Min Constant Id_IPMC_NLVL12 Constant Id_IPMC_NLVL12R Constant Id_IPMC_NODSA Constant Id_IPMC_NODSAR Constant Id_IPMC_NODSB Constant Id_IPMC_NODSBR Constant Id_IPMC_NODSC Constant Id_IPMC_NODSCR Constant Id_IPMC_NODSD Constant Id_IPMC_NODSDR Constant Id_IPMC_Nokia Constant Id_IPMC_NorthernData Constant Id_IPMC_NQDS4 Constant Id_IPMC_NQDS4R Constant Id_IPMC_NQDS5 Constant Id_IPMC_NQDS5R Constant Id_IPMC_NQDS6 Constant Id_IPMC_NQDS6R Constant Id_IPMC_NSS Constant Id_IPMC_NTDS1 Constant Id_IPMC_NTDS1R Constant Id_IPMC_NTDS2 Constant Id_IPMC_NTDS2R Constant Internet Direct (Indy) Version 10.1.5

3383 3384 3384 3385 3385 3385 3386 3386 3386 3387 3387 3387 3388 3388 3389 3389 3389 3390 3390 3390 3391 3391 3391 3392 3392 3393 3393 3393 3394 3394 3394 3395 3395 3395 3396 3396 3397 3397 3397 3398 3398 3398 3399 3399 3399 3400 3400 3401 3401 3401 3402 3402 liii

Id_IPMC_NTP_Protocol Constant Id_IPMC_nwn_adaptor Constant Id_IPMC_nwn_discovery Constant Id_IPMC_ODN_DTV_Max Constant Id_IPMC_ODN_DTV_Min Constant Id_IPMC_Organization_Local_Max Constant Id_IPMC_Organization_Local_Min Constant Id_IPMC_OSPFIGP_All_Routers Constant Id_IPMC_OSPFIGP_Designated_Routers Constant Id_IPMC_OTT Constant Id_IPMC_pdrncs Constant Id_IPMC_Pipesplatform Constant Id_IPMC_PolyCom Constant Id_IPMC_pq_lic_mcast Constant Id_IPMC_Private_Expiriment Constant Id_IPMC_ProCast Constant Id_IPMC_proshare_mc Constant Id_IPMC_Proxim Constant Id_IPMC_pt2_discover Constant Id_IPMC_ptk_cluster Constant Id_IPMC_PTP_alternate1 Constant Id_IPMC_PTP_alternate2 Constant Id_IPMC_PTP_alternate3 Constant Id_IPMC_PTP_primary Constant Id_IPMC_Query_Max Constant Id_IPMC_Query_Min Constant Id_IPMC_rasadv Constant Id_IPMC_Reliable_Max Constant Id_IPMC_Reliable_Min Constant Id_IPMC_Report_Max Constant Id_IPMC_Report_Min Constant Id_IPMC_RFE_Generic_Max Constant Id_IPMC_RFE_Generic_Min Constant Id_IPMC_RFE_Individual_Max Constant Id_IPMC_RFE_Individual_Min Constant Id_IPMC_RIP2_Routers Constant Id_IPMC_rln_server Constant Id_IPMC_router_to_switch Constant Id_IPMC_RSVP_encap_1 Constant Id_IPMC_RSVP_encap_2 Constant Id_IPMC_RSVP_ENCAPSULATION Constant Id_IPMC_rtv_audio Constant Id_IPMC_rtv_video Constant Id_IPMC_rwho Constant Id_IPMC_Rwhod Constant Id_IPMC_SAP_Max Constant Id_IPMC_SAP_Min Constant Id_IPMC_SAPv0 Constant Id_IPMC_SAPv1 Constant Id_IPMC_Satcast_1 Constant Id_IPMC_Satcast_2 Constant Id_IPMC_Satcast_3 Constant liv

3402 3403 3403 3403 3404 3404 3405 3405 3405 3406 3406 3406 3407 3407 3407 3408 3408 3409 3409 3409 3410 3410 3410 3411 3411 3411 3412 3412 3413 3413 3413 3414 3414 3414 3415 3415 3415 3416 3416 3417 3417 3417 3418 3418 3418 3419 3419 3419 3420 3420 3421 3421 Internet Direct (Indy) Version 10.1.5

Id_IPMC_sde_discovery Constant Id_IPMC_SEANET_IMAGE Constant Id_IPMC_SEANET_TELEMETRY Constant Id_IPMC_serv_discovery Constant Id_IPMC_SGI_Dogfight Constant Id_IPMC_SharesLive Constant Id_IPMC_shinbroadband Constant Id_IPMC_SIAC_Market_Max Constant Id_IPMC_SIAC_Market_Min Constant Id_IPMC_SIAC_Market2_Max Constant Id_IPMC_SIAC_Market2_Min Constant Id_IPMC_SIAC_Market3_Max Constant Id_IPMC_SIAC_Market3_Min Constant Id_IPMC_SIAC_Max Constant Id_IPMC_SIAC_Min Constant Id_IPMC_SIAC_MYSE_Max Constant Id_IPMC_SIAC_MYSE_Min Constant Id_IPMC_Simple Constant Id_IPMC_SIP Constant Id_IPMC_Site_Local1_Max Constant Id_IPMC_Site_Local1_Min Constant Id_IPMC_Site_Local2_Max Constant Id_IPMC_Site_Local2_Min Constant Id_IPMC_Site_Local3_Max Constant Id_IPMC_Site_Local3_Min Constant Id_IPMC_Site_Local4_Max Constant Id_IPMC_Site_Local4_Min Constant Id_IPMC_Source_Max Constant Id_IPMC_Source_Min Constant Id_IPMC_SpectraLinkGW Constant Id_IPMC_ST_Hosts Constant Id_IPMC_ST_Routers Constant Id_IPMC_SUMAConfig Constant Id_IPMC_SUN Constant Id_IPMC_sun_mc_grp Constant Id_IPMC_SUN_NIS_Plus_Information Constant Id_IPMC_sunscalar Constant Id_IPMC_SVRLOC Constant Id_IPMC_SVRLOC_DA Constant Id_IPMC_Talarian_Max Constant Id_IPMC_Talarian_Min Constant Id_IPMC_Teleborsa Constant Id_IPMC_telerate Constant Id_IPMC_Tibco_1 Constant Id_IPMC_Tibco_2 Constant Id_IPMC_Tivoli Constant Id_IPMC_tms_production Constant Id_IPMC_tns_adv_multi Constant Id_IPMC_TRACKTICKER Constant Id_IPMC_TRACKTICKER_Max Constant Id_IPMC_TRACKTICKER_Min Constant Id_IPMC_TRIBALVOICE Constant Internet Direct (Indy) Version 10.1.5

3421 3422 3422 3422 3423 3423 3423 3424 3424 3425 3425 3425 3426 3426 3426 3427 3427 3427 3428 3428 3429 3429 3429 3430 3430 3430 3431 3431 3431 3432 3432 3433 3433 3433 3434 3434 3434 3435 3435 3435 3436 3436 3437 3437 3437 3438 3438 3438 3439 3439 3439 3440 lv

Id_IPMC_TS_MC_1 Constant Id_IPMC_TVE_ANNOUNCE Constant Id_IPMC_TVE_FILE Constant Id_IPMC_Unassigned Constant Id_IPMC_UUNET_Max Constant Id_IPMC_UUNET_Min Constant Id_IPMC_vcals_dmu Constant Id_IPMC_VMTP_Managers Constant Id_IPMC_VNP Constant Id_IPMC_VRRP Constant Id_IPMC_Walt_Max Constant Id_IPMC_Walt_Min Constant Id_IPMC_Where_Are_You_Max Constant Id_IPMC_Where_Are_You_Min Constant Id_IPMC_WORLD_Max Constant Id_IPMC_WORLD_Min Constant Id_IPMC_WOZ_Garage_Max Constant Id_IPMC_WOZ_Garage_Min Constant Id_IPMC_Xenoscience_Max Constant Id_IPMC_Xenoscience_Min Constant Id_IPMC_XingNet_Max Constant Id_IPMC_XingNet_Min Constant Id_IPMC_XINGTV Constant Id_IPMC_XRX Constant Id_IPMC_XYPOINT Constant Id_IPMC_zeroconfaddr_Max Constant Id_IPMC_zeroconfaddr_Min Constant Id_IPMC_zuba Constant Id_IPREL_AAP Constant Id_IPREL_DHCPV4 Constant Id_IPREL_DNS Constant Id_IPREL_MADCAP Constant Id_IPREL_MBUS Constant Id_IPREL_MZAP Constant Id_IPREL_SAP Constant Id_IPREL_SLPV2 Constant Id_IPREL_SSDP Constant Id_IPv6_HSIZE Constant Id_MAX_IPOPTLEN Constant Id_MN_68000 Constant Id_MN_Alto Constant Id_MN_Altos_6800 Constant Id_MN_Amdahl_V7 Constant Id_MN_Amiga_1000 Constant Id_MN_Amiga_1000_010 Constant Id_MN_Amiga_1000_020 Constant Id_MN_Amiga_1000_030 Constant Id_MN_Amiga_1000_EC030 Constant Id_MN_Amiga_1200 Constant Id_MN_Amiga_1200_030 Constant Id_MN_Amiga_1200_040 Constant Id_MN_Amiga_1200_EC030 Constant lvi

3440 3441 3441 3441 3442 3442 3442 3443 3443 3443 3444 3444 3445 3445 3445 3446 3446 3446 3447 3447 3447 3448 3448 3449 3449 3449 3450 3450 3450 3451 3451 3451 3451 3452 3452 3452 3452 3453 3453 3453 3454 3454 3454 3455 3455 3455 3456 3456 3456 3457 3457 3458 Internet Direct (Indy) Version 10.1.5

Id_MN_Amiga_1200_EC040 Constant Id_MN_Amiga_1200_LC040 Constant Id_MN_Amiga_2000 Constant Id_MN_Amiga_2000_010 Constant Id_MN_Amiga_2000_020 Constant Id_MN_Amiga_2000_030 Constant Id_MN_Amiga_2000_040 Constant Id_MN_Amiga_2000_EC030 Constant Id_MN_Amiga_2000_EC040 Constant Id_MN_Amiga_2000_LC040 Constant Id_MN_Amiga_3000 Constant Id_MN_Amiga_3000_040 Constant Id_MN_Amiga_3000_060 Constant Id_MN_Amiga_3000_EC040 Constant Id_MN_Amiga_3000_LC040 Constant Id_MN_Amiga_4000_030 Constant Id_MN_Amiga_4000_040 Constant Id_MN_Amiga_4000_060 Constant Id_MN_Amiga_4000_EC030 Constant Id_MN_Amiga_4000_LC040 Constant Id_MN_Amiga_500 Constant Id_MN_Amiga_500_010 Constant Id_MN_Amiga_500_020 Constant Id_MN_Amiga_500_030 Constant Id_MN_Amiga_500_EC030 Constant Id_MN_Amiga_600 Constant Id_MN_Apollo Constant Id_MN_Apple_Macintosh Constant Id_MN_Apple_Powerbook Constant Id_MN_Atari_104ST Constant Id_MN_ATT_3B1 Constant Id_MN_ATT_3B2 Constant Id_MN_ATT_3B20 Constant Id_MN_ATT_7300 Constant Id_MN_AXP Constant Id_MN_BBN_C_60 Constant Id_MN_Burroughs_B_29 Constant Id_MN_Burroughs_B_4800 Constant Id_MN_Butterfly Constant Id_MN_C_30 Constant Id_MN_C_70 Constant Id_MN_Cadlinc Constant Id_MN_CadR Constant Id_MN_CD32 Constant Id_MN_CDC_170 Constant Id_MN_CDC_170_750 Constant Id_MN_CDC_173 Constant Id_MN_CDTV Constant Id_MN_CDTV_060 Constant Id_MN_Celerity_1200 Constant Id_MN_Club_386 Constant Id_MN_Compaq_386_20 Constant Internet Direct (Indy) Version 10.1.5

3458 3458 3459 3459 3459 3460 3460 3460 3461 3461 3462 3462 3462 3463 3463 3463 3464 3464 3464 3465 3465 3466 3466 3466 3467 3467 3467 3468 3468 3468 3469 3469 3470 3470 3470 3471 3471 3471 3472 3472 3472 3473 3473 3474 3474 3474 3475 3475 3475 3476 3476 3476 lvii

Id_MN_Comten_3690 Constant Id_MN_CP8040 Constant Id_MN_Cray_1 Constant Id_MN_Cray_2 Constant Id_MN_Cray_X_MP Constant Id_MN_CTIWS_117 Constant Id_MN_Dandelion Constant Id_MN_DEC_10 Constant Id_MN_DEC_1050 Constant Id_MN_DEC_1077 Constant Id_MN_DEC_1080 Constant Id_MN_DEC_1090 Constant Id_MN_DEC_1090B Constant Id_MN_DEC_1090T Constant Id_MN_DEC_2020T Constant Id_MN_DEC_2040 Constant Id_MN_DEC_2040T Constant Id_MN_DEC_2050T Constant Id_MN_DEC_2060 Constant Id_MN_DEC_2060T Constant Id_MN_DEC_2065 Constant Id_MN_DEC_AXP Constant Id_MN_DEC_Falcon Constant Id_MN_DEC_KS10 Constant Id_MN_DEC_VAX Constant Id_MN_DEC_VAX_11730 Constant Id_MN_DEC_VAXCluster Constant Id_MN_DEC_VAXStation Constant Id_MN_DECStation Constant Id_MN_Dorado Constant Id_MN_DPS8_70M Constant Id_MN_Elxsi_6400 Constant Id_MN_Emens Constant Id_MN_EverEx_386 Constant Id_MN_Foonly_F2 Constant Id_MN_Foonly_F3 Constant Id_MN_Foonly_F4 Constant Id_MN_Gould Constant Id_MN_Gould_6050 Constant Id_MN_Gould_6080 Constant Id_MN_Gould_9050 Constant Id_MN_Gould_9080 Constant Id_MN_H_316 Constant Id_MN_H_60_68 Constant Id_MN_H_68 Constant Id_MN_H_68_80 Constant Id_MN_H_89 Constant Id_MN_Honeywell_BPS_8_70 Constant Id_MN_Honeywell_DPS_6 Constant Id_MN_HP3000 Constant Id_MN_HP3000_64 Constant Id_MN_IBM_158 Constant lviii

3477 3477 3478 3478 3478 3479 3479 3479 3480 3480 3480 3481 3481 3482 3482 3482 3483 3483 3483 3484 3484 3484 3485 3485 3486 3486 3486 3487 3487 3487 3488 3488 3488 3489 3489 3490 3490 3490 3491 3491 3491 3492 3492 3492 3493 3493 3494 3494 3494 3495 3495 3495 Internet Direct (Indy) Version 10.1.5

Id_MN_IBM_3081 Constant Id_MN_IBM_3084QX Constant Id_MN_IBM_3101 Constant Id_MN_IBM_360_67 Constant Id_MN_IBM_370_3033 Constant Id_MN_IBM_4331 Constant Id_MN_IBM_4341 Constant Id_MN_IBM_4361 Constant Id_MN_IBM_4381 Constant Id_MN_IBM_4956 Constant Id_MN_IBM_6152 Constant Id_MN_IBM_PC Constant Id_MN_IBM_PC_AT Constant Id_MN_IBM_PC_RT Constant Id_MN_IBM_PC_XT Constant Id_MN_IBM_RS_6000 Constant Id_MN_IBM_Series_1 Constant Id_MN_Imagen Constant Id_MN_Imagen_8_300 Constant Id_MN_Imsai Constant Id_MN_Integrated_Solutions Constant Id_MN_Integrated_Solutions_68K Constant Id_MN_Integrated_Solutions_Creator Constant Id_MN_Integrated_Solutions_Creator_8 Constant Id_MN_INTEL_386 Constant Id_MN_INTEL_IPSC Constant Id_MN_Is_1 Constant Id_MN_Is_68010 Constant Id_MN_LMI Constant Id_MN_LSI_11 Constant Id_MN_LSI_11_2 Constant Id_MN_LSI_11_23 Constant Id_MN_LSI_11_73 Constant Id_MN_M68000 Constant Id_MN_Mac_II Constant Id_MN_Mac_Powerbook Constant Id_MN_MacIntosh Constant Id_MN_MassComp Constant Id_MN_MC500 Constant Id_MN_Microport Constant Id_MN_MicroVAX Constant Id_MN_MicroVAX_I Constant Id_MN_MV_8000 Constant Id_MN_NAS3_5 Constant Id_MN_NCR_Comten_3690 Constant Id_MN_Next_N1000_316 Constant Id_MN_Now Constant Id_MN_Onyx_Z8000 Constant Id_MN_PDP_11 Constant Id_MN_PDP_11_23 Constant Id_MN_PDP_11_24 Constant Id_MN_PDP_11_3 Constant Internet Direct (Indy) Version 10.1.5

3496 3496 3496 3497 3497 3498 3498 3498 3499 3499 3499 3500 3500 3500 3501 3501 3502 3502 3502 3503 3503 3503 3504 3504 3504 3505 3505 3506 3506 3506 3507 3507 3507 3508 3508 3508 3509 3509 3510 3510 3510 3511 3511 3511 3512 3512 3512 3513 3513 3514 3514 3514 lix

Id_MN_PDP_11_34 Constant Id_MN_PDP_11_40 Constant Id_MN_PDP_11_44 Constant Id_MN_PDP_11_45 Constant Id_MN_PDP_11_50 Constant Id_MN_PDP_11_70 Constant Id_MN_PDP_11_73 Constant Id_MN_PE_3205 Constant Id_MN_PE_7_32 Constant Id_MN_PE_Perq Constant Id_MN_Plexus_P_60 Constant Id_MN_PLI Constant Id_MN_Pluribus Constant Id_MN_Prime_2250 Constant Id_MN_Prime_2350 Constant Id_MN_Prime_2450 Constant Id_MN_Prime_2655 Constant Id_MN_Prime_2755 Constant Id_MN_Prime_550II Constant Id_MN_Prime_750 Constant Id_MN_Prime_850 Constant Id_MN_Prime_9650 Constant Id_MN_Prime_9655 Constant Id_MN_Prime_9750 Constant Id_MN_Prime_9755 Constant Id_MN_Prime_9950 Constant Id_MN_Prime_9955 Constant Id_MN_Prime_9955II Constant Id_MN_Pyramid_90 Constant Id_MN_Pyramid_90MX Constant Id_MN_Pyramid_90X Constant Id_MN_Ridge Constant Id_MN_Ridge_32 Constant Id_MN_Ridge_32C Constant Id_MN_ROLM_1666 Constant Id_MN_RS_6000 Constant Id_MN_S1_MKIIA Constant Id_MN_Sequent_Balance_8000 Constant Id_MN_SGI_Iris_2400 Constant Id_MN_SGI_Iris_2500 Constant Id_MN_SGI_Iris_3010 Constant Id_MN_SGI_Iris_3020 Constant Id_MN_SGI_Iris_3030 Constant Id_MN_SGI_Iris_3110 Constant Id_MN_SGI_Iris_3115 Constant Id_MN_SGI_Iris_3120 Constant Id_MN_SGI_Iris_3130 Constant Id_MN_SGI_Iris_4D_120GTX Constant Id_MN_SGI_Iris_4D_120S Constant Id_MN_SGI_Iris_4D_20 Constant Id_MN_SGI_Iris_4D_20G Constant Id_MN_SGI_Iris_4D_210GTX Constant lx

3515 3515 3515 3516 3516 3516 3517 3517 3518 3518 3518 3519 3519 3519 3520 3520 3520 3521 3521 3522 3522 3522 3523 3523 3523 3524 3524 3524 3525 3525 3526 3526 3526 3527 3527 3527 3528 3528 3528 3529 3529 3530 3530 3530 3531 3531 3531 3532 3532 3532 3533 3533 Internet Direct (Indy) Version 10.1.5

Id_MN_SGI_Iris_4D_210S Constant Id_MN_SGI_Iris_4D_220GTX Constant Id_MN_SGI_Iris_4D_220S Constant Id_MN_SGI_Iris_4D_240GTX Constant Id_MN_SGI_Iris_4D_240S Constant Id_MN_SGI_Iris_4D_25 Constant Id_MN_SGI_Iris_4D_25G Constant Id_MN_SGI_Iris_4D_25S Constant Id_MN_SGI_Iris_4D_280GTX Constant Id_MN_SGI_Iris_4D_280S Constant Id_MN_SGI_Iris_4D_50 Constant Id_MN_SGI_Iris_4D_50G Constant Id_MN_SGI_Iris_4D_50GT Constant Id_MN_SGI_Iris_4D_60 Constant Id_MN_SGI_Iris_4D_60G Constant Id_MN_SGI_Iris_4D_60GT Constant Id_MN_SGI_Iris_4D_60T Constant Id_MN_SGI_Iris_4D_70 Constant Id_MN_SGI_Iris_4D_70G Constant Id_MN_SGI_Iris_4D_70GT Constant Id_MN_SGI_Iris_4D_80GT Constant Id_MN_SGI_Iris_4D_80S Constant Id_MN_SGI_Iris_4Server_8 Constant Id_MN_SGI_Iris_CS_12 Constant Id_MN_Silicon_Graphics Constant Id_MN_Silicon_Graphics_Iris Constant Id_MN_SMI Constant Id_MN_Sperry_DCP_10 Constant Id_MN_Sun Constant Id_MN_Sun_100 Constant Id_MN_Sun_120 Constant Id_MN_Sun_130 Constant Id_MN_Sun_150 Constant Id_MN_Sun_170 Constant Id_MN_Sun_2 Constant Id_MN_Sun_2_100 Constant Id_MN_Sun_2_120 Constant Id_MN_Sun_2_130 Constant Id_MN_Sun_2_140 Constant Id_MN_Sun_2_150 Constant Id_MN_Sun_2_160 Constant Id_MN_Sun_2_170 Constant Id_MN_Sun_2_50 Constant Id_MN_Sun_3_110 Constant Id_MN_Sun_3_140 Constant Id_MN_Sun_3_150 Constant Id_MN_Sun_3_160 Constant Id_MN_Sun_3_180 Constant Id_MN_Sun_3_200 Constant Id_MN_Sun_3_260 Constant Id_MN_Sun_3_280 Constant Id_MN_Sun_3_470 Constant Internet Direct (Indy) Version 10.1.5

3534 3534 3534 3535 3535 3535 3536 3536 3536 3537 3537 3538 3538 3538 3539 3539 3539 3540 3540 3540 3541 3541 3542 3542 3542 3543 3543 3543 3544 3544 3544 3545 3545 3546 3546 3546 3547 3547 3547 3548 3548 3548 3549 3549 3550 3550 3550 3551 3551 3551 3552 3552 lxi

Id_MN_Sun_3_480 Constant Id_MN_Sun_3_50 Constant Id_MN_Sun_3_60 Constant Id_MN_Sun_3_75 Constant Id_MN_Sun_3_80 Constant Id_MN_Sun_386i_250 Constant Id_MN_Sun_4_110 Constant Id_MN_Sun_4_150 Constant Id_MN_Sun_4_200 Constant Id_MN_Sun_4_260 Constant Id_MN_Sun_4_280 Constant Id_MN_Sun_4_330 Constant Id_MN_Sun_4_370 Constant Id_MN_Sun_4_390 Constant Id_MN_Sun_4_60 Constant Id_MN_Sun_50 Constant Id_MN_Sun_68000 Constant Id_MN_Symbolics_3600 Constant Id_MN_Symbolics_3670 Constant Id_MN_Symmetric_375 Constant Id_MN_Symult Constant Id_MN_Tandem_TXP Constant Id_MN_Tandy_6000 Constant Id_MN_Tek_6130 Constant Id_MN_TI_Explorer Constant Id_MN_TP_4000 Constant Id_MN_TRS_80 Constant Id_MN_Univac_1100 Constant Id_MN_Univac_1100_60 Constant Id_MN_Univac_1100_62 Constant Id_MN_Univac_1100_63 Constant Id_MN_Univac_1100_64 Constant Id_MN_Univac_1100_70 Constant Id_MN_Univac_1160 Constant Id_MN_Unknown Constant Id_MN_VAX Constant Id_MN_VAX_11_725 Constant Id_MN_VAX_11_730 Constant Id_MN_VAX_11_750 Constant Id_MN_VAX_11_780 Constant Id_MN_VAX_11_785 Constant Id_MN_VAX_11_790 Constant Id_MN_VAX_11_8600 Constant Id_MN_VAX_8600 Constant Id_MN_VAXCluster Constant Id_MN_VAXStation Constant Id_MN_Wang_PC002 Constant Id_MN_Wang_VS100 Constant Id_MN_Wang_VS400 Constant Id_MN_Wyse_386 Constant Id_MN_Wyse_WN5004 Constant Id_MN_Wyse_WN5008 Constant lxii

3552 3553 3553 3554 3554 3554 3555 3555 3555 3556 3556 3556 3557 3557 3558 3558 3558 3559 3559 3559 3560 3560 3560 3561 3561 3562 3562 3562 3563 3563 3563 3564 3564 3564 3565 3565 3566 3566 3566 3567 3567 3567 3568 3568 3568 3569 3569 3570 3570 3570 3571 3571 Internet Direct (Indy) Version 10.1.5

Id_MN_Wyse_WN5104 Constant Id_MN_Wyse_WN5108 Constant Id_MN_Wyse_WX15C Constant Id_MN_Wyse_WX17C Constant Id_MN_Wyse_WX17M Constant Id_MN_Wyse_WX19C Constant Id_MN_Wyse_WX19M Constant Id_MN_Wyse_WYX14M Constant Id_MN_Wyse_WYX5 Constant Id_MN_Xerox_1108 Constant Id_MN_Xerox_8010 Constant Id_MN_Zenith_148 Constant ID_MSG_NODECODE Constant ID_MSG_PRIORITY Constant ID_MSG_USESNOWFORDATE Constant ID_NC_MASK_LENGTH Constant Id_NET_BSD_1_0 Constant Id_NET_BSD_1_1 Constant Id_NET_BSD_1_2 Constant Id_NET_BSD_1_3 Constant Id_NET_BSD_3_0 Constant Id_NET_BSD_3_11 Constant Id_NET_BSD_4_0 Constant Id_NET_BSD_4_1 Constant Id_NET_BSD_5_0 Constant ID_NETWORKCLASS Constant Id_OS_Aegis Constant Id_OS_AIX_370 Constant Id_OS_AIX_PS2 Constant Id_OS_Amiga_1_2 Constant Id_OS_Amiga_1_3 Constant Id_OS_Amiga_2_0 Constant Id_OS_Amiga_2_1 Constant Id_OS_Amiga_3_0 Constant Id_OS_Amiga_3_1 Constant Id_OS_Amiga_3_5 Constant Id_OS_Amiga_3_9 Constant Id_OS_Apollo Constant Id_OS_BEOS_4_5_2 Constant Id_OS_BEOS_5_0 Constant Id_OS_BS_2000 Constant Id_OS_Cedar Constant Id_OS_CGW Constant Id_OS_CHORUS Constant Id_OS_Chrysalis Constant Id_OS_CMOS Constant Id_OS_CMS Constant Id_OS_COS Constant Id_OS_CPIX Constant Id_OS_CTOS Constant Id_OS_CTSS Constant Id_OS_DCN Constant Internet Direct (Indy) Version 10.1.5

3571 3572 3572 3572 3573 3573 3574 3574 3574 3575 3575 3575 3576 3576 3576 3577 3577 3577 3578 3578 3578 3579 3579 3579 3580 3580 3580 3581 3581 3581 3582 3582 3582 3583 3583 3584 3584 3584 3585 3585 3585 3586 3586 3586 3587 3587 3588 3588 3588 3589 3589 3589 lxiii

Id_OS_DDNOS Constant Id_OS_DOMAIN Constant Id_OS_DOS Constant Id_OS_EDX Constant Id_OS_ELF Constant Id_OS_EMBOS Constant Id_OS_EMMOS Constant Id_OS_EPOS Constant Id_OS_FOONEX Constant Id_OS_FORTH Constant Id_OS_FUZZ Constant Id_OS_GCOS Constant Id_OS_GPOS Constant Id_OS_HDOS Constant Id_OS_Imagen Constant Id_OS_Impress Constant Id_OS_Instant_Internet Constant Id_OS_Intercom Constant Id_OS_Interlisp Constant Id_OS_IOS Constant Id_OS_IRIX Constant Id_OS_ISI Constant Id_OS_ITS Constant Id_OS_KOSOS Constant Id_OS_Linux Constant Id_OS_Linux_1_0 Constant Id_OS_Linux_1_2 Constant Id_OS_Linux_2_0 Constant Id_OS_Linux_2_2 Constant Id_OS_LISP Constant Id_OS_LISPM Constant Id_OS_LOCUS Constant Id_OS_MACOS Constant Id_OS_MINOS Constant Id_OS_MOS Constant Id_OS_MPE5 Constant Id_OS_MPEIX Constant Id_OS_MPEV Constant Id_OS_MSDOS Constant Id_OS_MULTICS Constant Id_OS_MUSIC Constant Id_OS_MUSICSP Constant Id_OS_MVS Constant Id_OS_MVSSP Constant Id_OS_NEXUS Constant Id_OS_NMS Constant Id_OS_NONSTOP Constant Id_OS_NOS_2 Constant Id_OS_NTOS Constant Id_OS_OpenBSD Constant Id_OS_OpenVMS Constant Id_OS_OS_2 Constant lxiv

3590 3590 3590 3591 3591 3592 3592 3592 3593 3593 3593 3594 3594 3594 3595 3595 3596 3596 3596 3597 3597 3597 3598 3598 3598 3599 3599 3600 3600 3600 3601 3601 3601 3602 3602 3602 3603 3603 3604 3604 3604 3605 3605 3605 3606 3606 3606 3607 3607 3608 3608 3608 Internet Direct (Indy) Version 10.1.5

Id_OS_OS_4 Constant Id_OS_OS_6 Constant Id_OS_OSDDP Constant Id_OS_OSX Constant Id_OS_PCDOS Constant Id_OS_PERQOS Constant Id_OS_PLI Constant Id_OS_Primos Constant Id_OS_PSDDOSMIT Constant Id_OS_RISC_OS Constant Id_OS_RISC_OS_3_10 Constant Id_OS_RISC_OS_3_50 Constant Id_OS_RISC_OS_3_60 Constant Id_OS_RISC_OS_3_70 Constant Id_OS_RISC_OS_4_00 Constant Id_OS_RMXRDOS Constant Id_OS_ROS Constant Id_OS_RSX11M Constant Id_OS_RTE_A Constant Id_OS_Satops Constant Id_OS_SCO_Open_Desktop_1_0 Constant Id_OS_SCO_Open_Desktop_1_1 Constant Id_OS_SCO_Open_Desktop_2_0 Constant Id_OS_SCO_Open_Desktop_3_0 Constant Id_OS_SCO_Open_Desktop_Lite_3_0 Constant Id_OS_SCO_Open_Server_3_0 Constant Id_OS_SCO_Unix_3_2_0 Constant Id_OS_SCO_Unix_3_2V1_0 Constant Id_OS_SCO_Unix_3_2V2_0 Constant Id_OS_SCO_Unix_3_2V4_1 Constant Id_OS_SCO_Unix_3_2V4_2 Constant Id_OS_SCO_Unix_S_2V4_0 Constant Id_OS_SCO_Xenix_386_2_3_2 Constant Id_OS_SCO_Xenix_386_2_3_3 Constant Id_OS_SCO_Xenix_386_2_3_4 Constant Id_OS_SCS Constant Id_OS_SIMP Constant Id_OS_Sinix Constant Id_OS_SUN Constant Id_OS_SUN_OS_3_5 Constant Id_OS_SUN_OS_4_0 Constant Id_OS_Swift Constant Id_OS_Tac Constant Id_OS_Tandem Constant Id_OS_Tenex Constant Id_OS_The_Major_BBS Constant Id_OS_Tops10 Constant Id_OS_Tops20 Constant Id_OS_TOS Constant Id_OS_TP3010 Constant Id_OS_TRSDOS Constant Id_OS_Ultrix Constant Internet Direct (Indy) Version 10.1.5

3609 3609 3609 3610 3610 3610 3611 3611 3612 3612 3612 3613 3613 3613 3614 3614 3614 3615 3615 3616 3616 3616 3617 3617 3617 3618 3618 3618 3619 3619 3620 3620 3620 3621 3621 3621 3622 3622 3622 3623 3623 3624 3624 3624 3625 3625 3625 3626 3626 3626 3627 3627 lxv

Id_OS_Unix Constant Id_OS_Unix_BSD Constant Id_OS_Unix_PC Constant Id_OS_Unix_Unknown Constant Id_OS_Unix_V Constant Id_OS_Unix_V_1 Constant Id_OS_Unix_V_2 Constant Id_OS_Unix_V_3 Constant Id_OS_Unix_V1AT Constant Id_OS_UT2D Constant Id_OS_V Constant Id_OS_VM Constant Id_OS_VM_370 Constant Id_OS_VM_CMS Constant Id_OS_VM_SP Constant Id_OS_VMS Constant Id_OS_VMS_Eunice Constant Id_OS_VRTX Constant Id_OS_Waits Constant Id_OS_Wang Constant Id_OS_Win32 Constant Id_OS_Windows_95 Constant Id_OS_Windows_95OSR1 Constant Id_OS_Windows_95OSR2 Constant Id_OS_Windows_98 Constant Id_OS_Windows_CE Constant Id_OS_Windows_NT Constant Id_OS_Windows_NT_2 Constant Id_OS_Windows_NT_3 Constant Id_OS_Windows_NT_3_5 Constant Id_OS_Windows_NT_3_51 Constant Id_OS_Windows_NT_4 Constant Id_OS_Windows_NT_5 Constant Id_OS_WorldGroup Constant Id_OS_Wyse_Wyxware Constant Id_OS_X11R3 Constant Id_OS_XDE Constant Id_OS_Xenix Constant Id_PORT_3com_amp3 Constant Id_PORT_acap Constant Id_PORT_accessnetwork Constant Id_PORT_acp Constant Id_PORT_afpovertcp Constant Id_PORT_agentx Constant Id_PORT_aminet Constant Id_PORT_aodv Constant Id_PORT_asa_appl_proto Constant Id_PORT_asia Constant Id_PORT_asipregistry Constant Id_PORT_aurora_cmgr Constant Id_PORT_aux_bus_shunt Constant Id_PORT_bdp Constant lxvi

3628 3628 3628 3629 3629 3629 3630 3630 3630 3631 3631 3632 3632 3632 3633 3633 3633 3634 3634 3634 3635 3635 3636 3636 3636 3637 3637 3637 3638 3638 3638 3639 3639 3640 3640 3640 3641 3641 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 Internet Direct (Indy) Version 10.1.5

Id_PORT_bh611 Constant Id_PORT_bhevent Constant Id_PORT_biff Constant Id_PORT_bmpp Constant Id_PORT_borland_dsj Constant Id_PORT_cab_protocol Constant Id_PORT_cal Constant Id_PORT_cimplex Constant Id_PORT_cisco_tdp Constant Id_PORT_citadel Constant Id_PORT_cloanto_net_1 Constant Id_PORT_codaauth2 Constant Id_PORT_collaborator Constant Id_PORT_compaq_evm Constant Id_PORT_connendp Constant Id_PORT_corba_iiop Constant Id_PORT_corba_iiop_ssl Constant Id_PORT_crs Constant Id_PORT_cryptoadmin Constant Id_PORT_dantz Constant Id_PORT_datex_asn Constant Id_PORT_dctp Constant Id_PORT_dec_dlm Constant Id_PORT_decbsrv Constant Id_PORT_dei_icda Constant Id_PORT_dhcp_failover Constant Id_PORT_dhcp_failover2 Constant Id_PORT_direct Constant Id_PORT_disclose Constant Id_PORT_dtag_ste_sb Constant Id_PORT_dtk Constant Id_PORT_dwr Constant Id_PORT_entrust_aaas Constant Id_PORT_entrust_aams Constant Id_PORT_entrust_ash Constant Id_PORT_entrust_sps Constant Id_PORT_escp_ip Constant Id_PORT_esro_emsdp Constant Id_PORT_eudora_set Constant Id_PORT_exec Constant Id_PORT_eyelink Constant Id_PORT_fcp Constant Id_PORT_FirstClass Constant Id_PORT_gnf_ncp Constant Id_PORT_ha_cluster Constant Id_PORT_hap Constant Id_PORT_hcp_wismar Constant Id_PORT_hello_port Constant Id_PORT_hmmp_ind Constant Id_PORT_hmmp_op Constant Id_PORT_http_alt Constant Id_PORT_http_rpc_epmap Constant Internet Direct (Indy) Version 10.1.5

3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 lxvii

Id_PORT_hyperwave_isp Constant Id_PORT_iclcnet_locate Constant Id_PORT_iclcnet_svinfo Constant Id_PORT_ideafarm_catch Constant Id_PORT_ideafarm_chat Constant Id_PORT_idfp Constant Id_PORT_ieee_mms Constant Id_PORT_ieee_mms_ssl Constant Id_PORT_imap4_ssl_dp Constant Id_PORT_inbusiness Constant Id_PORT_intrinsa Constant Id_PORT_ipcd Constant Id_PORT_ipdd Constant Id_PORT_ipp Constant Id_PORT_isakmp Constant Id_PORT_ISO_ILL Constant Id_PORT_itm_mcell_s Constant Id_PORT_keyserver Constant Id_PORT_lanserver Constant Id_PORT_ldaps Constant Id_PORT_ldp Constant Id_PORT_login Constant Id_PORT_mac_srvr_admin Constant Id_PORT_mailbox_lm Constant Id_PORT_masqdialer Constant Id_PORT_matip_type_a Constant Id_PORT_matip_type_b Constant Id_PORT_mcns_sec Constant Id_PORT_mdc_portmapper Constant Id_PORT_mecomm Constant Id_PORT_meregister Constant Id_PORT_mftp Constant Id_PORT_mortgageware Constant Id_PORT_mrm Constant Id_PORT_msdp Constant Id_PORT_msexch_routing Constant Id_PORT_ndsauth Constant Id_PORT_nmap Constant Id_PORT_nsrmp Constant Id_PORT_obex Constant Id_PORT_odmr Constant Id_PORT_ohimsrv Constant Id_PORT_olsr Constant Id_PORT_omginitialrefs Constant Id_PORT_passgo Constant Id_PORT_passgo_tivoli Constant Id_PORT_password_chg Constant Id_PORT_pftp Constant Id_PORT_philips_vc Constant Id_PORT_pim_rp_disc Constant Id_PORT_pkix_3_ca_ra Constant Id_PORT_pssc Constant lxviii

3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 Internet Direct (Indy) Version 10.1.5

Id_PORT_ptcnameservice Constant Id_PORT_purenoise Constant Id_PORT_qbikgdp Constant Id_PORT_qmqp Constant Id_PORT_rda Constant Id_PORT_realm_rusd Constant Id_PORT_repcmd Constant Id_PORT_repscmd Constant Id_PORT_rlzdbase Constant Id_PORT_rmc Constant Id_PORT_rpc2portmap Constant Id_PORT_rrp Constant Id_PORT_rsvp_tunnel Constant Id_PORT_rsync Constant Id_PORT_rushd Constant Id_PORT_sanity Constant Id_PORT_scc_security Constant Id_PORT_sco_dtmgr Constant Id_PORT_sco_inetmgr Constant Id_PORT_sco_sysmgr Constant Id_PORT_sco_websrvrmg3 Constant Id_PORT_sco_websrvrmgr Constant Id_PORT_scoi2odialog Constant Id_PORT_secure_aux_bus Constant Id_PORT_semantix Constant Id_PORT_shrinkwrap Constant Id_PORT_siam Constant Id_PORT_silc Constant Id_PORT_smpnameres Constant Id_PORT_smsd Constant Id_PORT_snare Constant Id_PORT_sntp_heartbeat Constant Id_PORT_spmp Constant Id_PORT_srssend Constant Id_PORT_sshell Constant Id_PORT_stmf Constant Id_PORT_submission Constant Id_PORT_sun_dr Constant ID_PORT_surf Constant Id_PORT_syslog_conn Constant Id_PORT_tenfold Constant Id_PORT_tinc Constant Id_PORT_tns_cml Constant Id_PORT_tpip Constant Id_PORT_uuidgen Constant Id_PORT_vacdsm_app Constant Id_PORT_vacdsm_sws Constant Id_PORT_vatp Constant Id_PORT_vnas Constant Id_PORT_vpp Constant Id_PORT_vpps_qua Constant Id_PORT_vpps_via Constant Internet Direct (Indy) Version 10.1.5

3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 lxix

Id_PORT_xfr Constant Id_PORT_xvttp Constant Id_RIP_HSIZE Constant Id_RIPCMD_MAX Constant Id_RIPCMD_POLL Constant Id_RIPCMD_POLLENTRY Constant Id_RIPCMD_REQUEST Constant Id_RIPCMD_RESPONSE Constant Id_RIPCMD_TRACEOFF Constant Id_RIPCMD_TRACEON Constant Id_RIPVER_0 Constant Id_RIPVER_1 Constant Id_RIPVER_2 Constant ID_SOCKS_AUTH Constant ID_SOCKS_VER Constant Id_TCP_ACK Constant Id_TCP_FIN Constant Id_TCP_HSIZE Constant Id_TCP_PUSH Constant Id_TCP_RST Constant Id_TCP_SYN Constant Id_TCP_URG Constant Id_TId_HTTPAutoStartSession Constant Id_TId_HTTPMaximumHeaderLineCount Constant Id_TId_HTTPServer_KeepAlive Constant Id_TId_HTTPServer_ParseParams Constant Id_TId_HTTPServer_SessionState Constant Id_TId_HTTPSessionTimeOut Constant Id_TIdFTP_DataConAssurance Constant Id_TIdFTP_DataPortProtection Constant Id_TIdFTP_HostPortDelimiter Constant Id_TIdFTP_Passive Constant Id_TIdFTP_TransferType Constant Id_TIdFTP_UseNATFastTrack Constant Id_TIdHTTP_HandleRedirects Constant Id_TIdHTTP_MaxAuthRetries Constant Id_TIdHTTP_MaxHeaderLines Constant Id_TIdHTTP_ProtocolVersion Constant Id_TIdHTTP_RedirectMax Constant Id_TIDICMP_ReceiveTimeout Constant Id_TIdRawBase_BufferSize Constant Id_TIdRawBase_Port Constant ID_UDP_BUFFERSIZE Constant Id_UDP_HSIZE Constant IdBeatsInDay Constant IdBoundPortDefault Constant IdCharsetNames Constant IdDayNames Constant IdDayShortNames Constant IdDaysInCentury Constant IdDaysInFourYears Constant IdDaysInLeapCentury Constant lxx

3811 3812 3813 3813 3813 3813 3814 3814 3814 3814 3815 3815 3815 3815 3816 3816 3816 3816 3817 3817 3817 3817 3818 3818 3818 3819 3819 3819 3820 3820 3820 3821 3821 3821 3821 3822 3822 3822 3823 3823 3823 3824 3824 3824 3824 3825 3825 3827 3827 3828 3828 3828 Internet Direct (Indy) Version 10.1.5

IdDaysInLeapYear Constant IdDaysInLeapYearCycle Constant IdDaysInMonth Constant IdDaysInShortLeapYearCycle Constant IdDaysInShortNonLeapYearCycle Constant IdDaysInWeek Constant IdDaysInYear Constant IdDEF_UseEhlo Constant IdDefIdentQueryTimeOut Constant IdDefTimeout Constant IdDNSServerVersion Constant iddupAccept Constant iddupError Constant iddupIgnore Constant iDEFAULTPACKETSIZE Constant iDEFAULTREPLYBUFSIZE Constant IdEnabledDefault Constant IDF_DEFAULT_MS_TO_WAIT_TO_CLEAR_BUFFER Constant IdFetchCaseSensitiveDefault Constant IdFetchDeleteDefault Constant IdFetchDelimDefault Constant IdFILE_ATTRIBUTE_ARCHIVE Constant IdFILE_ATTRIBUTE_COMPRESSED Constant IdFILE_ATTRIBUTE_DEVICE Constant IdFILE_ATTRIBUTE_DIRECTORY Constant IdFILE_ATTRIBUTE_ENCRYPTED Constant IdFILE_ATTRIBUTE_HIDDEN Constant IdFILE_ATTRIBUTE_NORMAL Constant IdFILE_ATTRIBUTE_NOT_CONTENT_INDEXED Constant IdFILE_ATTRIBUTE_OFFLINE Constant IdFILE_ATTRIBUTE_READONLY Constant IdFILE_ATTRIBUTE_REPARSE_POINT Constant IdFILE_ATTRIBUTE_SPARSE_FILE Constant IdFILE_ATTRIBUTE_SYSTEM Constant IdFILE_ATTRIBUTE_TEMPORARY Constant IdFromBeginning Constant IdFromCurrent Constant IdFromEnd Constant IdGopherItem_Binary Constant IdGopherItem_BinDOS Constant IdGopherItem_BinHex Constant IdGopherItem_CSO Constant IdGopherItem_Directory Constant IdGopherItem_Document Constant IdGopherItem_Error Constant IdGopherItem_GIF Constant IdGopherItem_HTML Constant IdGopherItem_Image Constant IdGopherItem_Image2 Constant IdGopherItem_Information Constant IdGopherItem_MIME Constant IdGopherItem_Movie Constant Internet Direct (Indy) Version 10.1.5

3829 3829 3829 3829 3830 3830 3830 3830 3831 3831 3831 3831 3832 3832 3832 3832 3833 3833 3833 3834 3834 3834 3835 3835 3835 3835 3836 3836 3836 3836 3837 3837 3837 3837 3838 3838 3838 3838 3839 3839 3839 3839 3840 3840 3840 3840 3841 3841 3841 3841 3842 3842 lxxi

IdGopherItem_Redundant Constant IdGopherItem_Search Constant IdGopherItem_Sound Constant IdGopherItem_Sound2 Constant IdGopherItem_Telnet Constant IdGopherItem_TN3270 Constant IdGopherItem_UUE Constant IdGopherPlusAbstract Constant IdGopherPlusAdmin Constant IdGopherPlusAsk Constant IdGopherPlusAskFileName Constant IdGopherPlusAskLong Constant IdGopherPlusAskPassword Constant IdGopherPlusChoose Constant IdGopherPlusChooseFile Constant IdGopherPlusData_BeginSign Constant IdGopherPlusData_EndSign Constant IdGopherPlusData_ErrorBeginSign Constant IdGopherPlusData_ErrorUnknownSize Constant IdGopherPlusData_UnknownSize Constant IdGopherPlusDirectoryInformation Constant IdGopherPlusError_ItemMoved Constant IdGopherPlusError_NotAvailable Constant IdGopherPlusError_TryLater Constant IdGopherPlusIndicator Constant IdGopherPlusInfo Constant IdGopherPlusInformation Constant IdGopherPlusSelect Constant IdGopherPlusViews Constant IdHelpVisibleDef Constant IdHexDigits Constant IdHoursInDay Constant IdHoursInHalfDay Constant IdIdentQryTimeout Constant IdIPAddrMonInterval Constant IdIPFamily Constant IdIRCCTCP Constant IdIRCDCC Constant IdIRCStatChars Constant IdIRCUserModeChars Constant IdListenQueueDefault Constant IdMaxLineLengthDefault Constant IdMillisecondsInDay Constant IdMillisecondsInHour Constant IdMillisecondsInMinute Constant IdMilliSecondsInSecond Constant IdMillisecondsInWeek Constant IdMinutesInHour Constant IdMonthNames Constant IdMonthShortNames Constant IdMonthsInYear Constant IdOctalDigits Constant lxxii

3842 3843 3843 3843 3843 3844 3844 3844 3844 3845 3845 3845 3845 3846 3846 3846 3847 3847 3847 3847 3848 3848 3848 3848 3849 3849 3849 3850 3850 3850 3850 3851 3851 3851 3852 3852 3852 3853 3853 3853 3853 3854 3854 3855 3855 3855 3855 3856 3856 3856 3856 3857 Internet Direct (Indy) Version 10.1.5

IdParseParamsDefault Constant IdPOPRT_xact_backup Constant IdPORT_3COM_TSMUX Constant IdPORT_914c_g Constant IdPORT_9pfs Constant IdPORT_ACAS Constant IdPORT_accessbuilder Constant IdPORT_aci Constant IdPORT_acmaint_dbd Constant IdPORT_acmaint_transd Constant IdPORT_ACR_NAME Constant IdPORT_aed_512 Constant IdPORT_alpes Constant IdPORT_ampr_rcmd Constant IdPORT_ANASTRADER Constant IdPORT_anet Constant IdPORT_ANSANOTIFY Constant IdPORT_ANY_FILE Constant IdPORT_ANYDIAL Constant IdPORT_ANYPRINTER Constant IdPORT_ANYPRIVATE_TERMINAL Constant IdPORT_ANYRJE Constant IdPORT_ANYTERMINALLINK Constant IdPORT_ANYTERMINIL Constant IdPORT_apertus_ldp Constant IdPORT_appleqtc Constant IdPORT_appleqtcsrvr Constant IdPORT_applix Constant IdPORT_ariel1 Constant IdPORT_ariel2 Constant IdPORT_ariel3 Constant IdPORT_arns Constant IdPORT_as_servermap Constant IdPORT_asa Constant IdPORT_at_3 Constant IdPORT_at_5 Constant IdPORT_at_7 Constant IdPORT_at_8 Constant IdPORT_at_echo Constant IdPORT_at_nbp Constant IdPORT_at_rtmp Constant IdPORT_at_zis Constant IdPORT_AUDIONEWS Constant IdPORT_audit Constant IdPORT_AUDITD Constant IdPORT_aurp Constant IdPORT_AUTH Constant IdPORT_avian Constant IdPORT_banyan_rpc Constant IdPORT_banyan_vip Constant IdPORT_BBN_LOGIN Constant IdPORT_bftp Constant Internet Direct (Indy) Version 10.1.5

3857 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 lxxiii

IdPORT_bgp Constant IdPORT_bgs_nsi Constant IdPORT_bl_idm Constant IdPORT_bnet Constant IdPORT_BOOTPC Constant IdPORT_BOOTPS Constant IdPORT_busboy Constant IdPORT_cadlock Constant IdPORT_cadlock2 Constant IdPORT_CAIlic Constant IdPORT_cdc Constant IdPORT_CFDPTKT Constant IdPORT_CHARGEN Constant IdPORT_chshell Constant IdPORT_CISCO_FNA Constant IdPORT_cisco_sys Constant IdPORT_cisco_tna Constant IdPORT_cl_1 Constant IdPORT_clearcase Constant IdPORT_cmd Constant IdPORT_cmip_agent Constant IdPORT_cmip_man Constant IdPORT_COMPRESSNET_CMP Constant IdPORT_COMPRESSNET_MGM Constant IdPORT_comscm Constant IdPORT_con Constant IdPORT_concert Constant IdPORT_conference Constant IdPORT_contentserver Constant IdPORT_courier Constant IdPORT_COVIA Constant IdPORT_creativepartnr Constant IdPORT_creativeserver Constant IdPORT_cronus Constant IdPORT_csi_sgwp Constant IdPORT_CSNET_NS Constant IdPORT_CTF Constant IdPORT_cvc_hostd Constant IdPORT_cybercash Constant IdPORT_cycleserv Constant IdPORT_cycleserv2 Constant IdPORT_dasp Constant IdPORT_datasurfsrv Constant IdPORT_datasurfsrvsec Constant IdPORT_DAYTIME Constant IdPORT_dbase Constant IdPORT_DCP Constant IdPORT_ddm_byte Constant IdPORT_ddm_dfm Constant IdPORT_ddm_rdb Constant IdPORT_decap Constant IdPORT_decladebug Constant lxxiv

3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 Internet Direct (Indy) Version 10.1.5

IdPORT_decvms_sysmgt Constant IdPORT_DEOS Constant IdPORT_device Constant IdPORT_deviceshare Constant IdPORT_dhcp_client_v6 Constant IdPORT_dhcp_server_v6 Constant IdPORT_DICT Constant IdPORT_digital_vrc Constant IdPORT_dis Constant IdPORT_DISCARD Constant IdPORT_DIXIE Constant IdPORT_dls Constant IdPORT_dls_mon Constant IdPORT_dn6_nlm_aud Constant IdPORT_dn6_smm_red Constant IdPORT_dna_cml Constant IdPORT_DNSIX Constant IdPORT_DOMAIN Constant IdPORT_doom Constant IdPORT_dsETOS Constant IdPORT_dsf Constant IdPORT_dsfgw Constant IdPORT_DSP Constant IdPORT_dsp3270 Constant IdPORT_ECHO Constant IdPORT_efs Constant IdPORT_elcsd Constant IdPORT_embl_ndt Constant IdPORT_emfis_cntl Constant IdPORT_emfis_data Constant IdPORT_entomb Constant IdPORT_entrustmanager Constant IdPORT_ERPC Constant IdPORT_etcp Constant IdPORT_fatserv Constant IdPORT_FINGER Constant IdPORT_flexlm Constant IdPORT_fln_spx Constant IdPORT_FSP Constant IdPORT_FTP Constant IdPORT_ftp_agent Constant IdPORT_FTP_DATA Constant IdPORT_ftps Constant IdPORT_ftps_data Constant IdPORT_fujitsu_dev Constant IdPORT_gacp Constant IdPORT_garcon Constant IdPORT_genie Constant IdPORT_genrad_mux Constant IdPORT_ginad Constant IdPORT_go_login Constant IdPORT_GOPHER Constant Internet Direct (Indy) Version 10.1.5

3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 lxxv

IdPORT_GPPITNP Constant IdPORT_GRAPHICS Constant IdPORT_gss_http Constant IdPORT_GSS_XLICEN Constant IdPORT_hassle Constant IdPORT_hems Constant IdPORT_HOSTNAME Constant IdPORT_HOSTS2_NS Constant IdPORT_hp_alarm_mgr Constant IdPORT_hp_collector Constant IdPORT_hp_managed_node Constant IdPORT_HTTP Constant IdPORT_HTTPProxy Constant IdPORT_hybrid_pop Constant IdPORT_hyper_g Constant IdPORT_iafdbase Constant IdPORT_iafserver Constant IdPORT_iasd Constant IdPORT_ibm_app Constant IdPORT_icad_el Constant IdPORT_imap3 Constant IdPORT_IMAP4 Constant IdPORT_IMAP4S Constant IdPORT_imsp Constant IdPORT_infoseek Constant IdPORT_ingres_net Constant IdPORT_intecourier Constant IdPORT_integra_sme Constant IdPORT_ipcserver Constant IdPORT_ipx Constant IdPORT_IRC Constant IdPORT_IRCS Constant IdPORT_is99c Constant IdPORT_is99s Constant IdPORT_ISI_GL Constant IdPORT_iso_ip Constant IdPORT_iso_tp0 Constant IdPORT_ISO_TSAP Constant IdPORT_iso_tsap_c2 Constant IdPORT_KERBEROS Constant IdPORT_kerberos_adm Constant IdPORT_kis Constant IdPORT_klogin Constant IdPORT_knet_cmp Constant IdPORT_kpasswd Constant IdPORT_kryptolan Constant IdPORT_kshell Constant IdPORT_LA_MAINT Constant IdPORT_ldap Constant IdPORT_legent_1 Constant IdPORT_legent_2 Constant IdPORT_link Constant lxxvi

4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 Internet Direct (Indy) Version 10.1.5

IdPORT_ljk_login Constant IdPORT_loadav Constant IdPORT_loc_srv Constant IdPORT_locus_con Constant IdPORT_LOCUS_MAP Constant IdPORT_LPD Constant IdPORT_macon_tcp Constant IdPORT_mailq Constant IdPORT_maitrd Constant IdPORT_McIDAS Constant IdPORT_mdbs_daemon Constant IdPORT_mdqs Constant IdPORT_METAGRAM Constant IdPORT_meter Constant IdPORT_meter_udemon Constant IdPORT_MFCOBOL Constant IdPORT_micom_pfs Constant IdPORT_microsoft_ds Constant IdPORT_MIT_DOV Constant IdPORT_MIT_ML_DEV Constant IdPORT_MIT_ML_DEV2 Constant IdPORT_mobileip_agent Constant IdPORT_mobilip_mn Constant IdPORT_mondex Constant IdPORT_monitor Constant IdPORT_MPM Constant IdPORT_MPM_FLAGS Constant IdPORT_MPM_SND Constant IdPORT_mpp Constant IdPORT_mptn Constant IdPORT_ms_rome Constant IdPORT_ms_shuttle Constant IdPORT_MSG_AUTH Constant IdPORT_MSG_ICMP Constant IdPORT_MSP Constant IdPORT_multiplex Constant IdPORT_mumps Constant IdPORT_mylex_mapd Constant IdPORT_NAMESERVER Constant IdPORT_namp Constant IdPORT_nas Constant IdPORT_nced Constant IdPORT_ncld Constant IdPORT_nest_protocol Constant IdPORT_netbios_dgm Constant IdPORT_netbios_ns Constant IdPORT_netbios_ssn Constant IdPORT_netgw Constant IdPORT_netnews Constant IdPORT_netrcs Constant IdPORT_NETRJS1 Constant IdPORT_NETRJS2 Constant Internet Direct (Indy) Version 10.1.5

4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 lxxvii

IdPORT_NETRJS3 Constant IdPORT_NETRJS4 Constant IdPORT_netsc_dev Constant IdPORT_netsc_prod Constant IdPORT_NETSTAT Constant IdPORT_netviewdm1 Constant IdPORT_netviewdm2 Constant IdPORT_netviewdm3 Constant IdPORT_netwall Constant IdPORT_netware_ip Constant IdPORT_new_rwho Constant IdPORT_NEWACCT Constant IdPORT_news Constant IdPORT_NextStep Constant IdPORT_NI_FTP Constant IdPORT_NI_MAIL Constant IdPORT_nip Constant IdPORT_nlogin Constant IdPORT_nnsp Constant IdPORT_NNTP Constant IdPORT_notify Constant IdPORT_npmp_gui Constant IdPORT_npmp_local Constant IdPORT_npmp_trap Constant IdPORT_NPP Constant IdPORT_npp2 Constant IdPORT_nqs Constant IdPORT_ns Constant IdPORT_nss_routing Constant IdPORT_NSW_FE Constant IdPORT_ntalk Constant IdPORT_OBJCALL Constant IdPORT_ocbinder Constant IdPORT_ock Constant IdPORT_ocs_amu Constant IdPORT_ocs_cmu Constant IdPORT_ocserver Constant IdPORT_omserv Constant IdPORT_onmux Constant IdPORT_opc_job_start Constant IdPORT_opc_job_track Constant IdPORT_openvms_sysipc Constant IdPORT_osu_nms Constant IdPORT_pawserv Constant IdPORT_pcmail_srv Constant IdPORT_pdap Constant IdPORT_ph Constant IdPORT_phonebook Constant IdPORT_photuris Constant IdPORT_pirp Constant IdPORT_POP2 Constant IdPORT_POP3 Constant lxxviii

4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 Internet Direct (Indy) Version 10.1.5

IdPORT_POP3S Constant IdPORT_pov_ray Constant IdPORT_powerburst Constant IdPORT_print_srv Constant IdPORT_prm_nm Constant IdPORT_prm_sm Constant IdPORT_profile Constant IdPORT_prospero Constant IdPORT_pump Constant IdPORT_puparp Constant IdPORT_puprouter Constant IdPORT_PWDGEN Constant IdPORT_qft Constant IdPORT_qmtp Constant IdPORT_QOTD Constant IdPORT_qrh Constant IdPORT_qsc Constant IdPORT_quotad Constant IdPORT_RAP Constant IdPORT_rcp Constant IdPORT_RE_MAIL_CK Constant IdPORT_remote_kis Constant IdPORT_remotefs Constant IdPORT_rfile Constant IdPORT_ris Constant IdPORT_ris_cm Constant IdPORT_RJE Constant IdPORT_RLP Constant IdPORT_rmonitor Constant IdPORT_rmt Constant IdPORT_router Constant IdPORT_rpasswd Constant IdPORT_rrh Constant IdPORT_rsh_spx Constant IdPORT_rsvd Constant IdPORT_RTELNET Constant IdPORT_rtip Constant IdPORT_rtsp Constant IdPORT_rxe Constant IdPORT_s_net Constant IdPORT_saft Constant IdPORT_scohelp Constant IdPORT_scx_proxy Constant IdPORT_sdnskmp Constant IdPORT_send Constant IdPORT_servstat Constant IdPORT_sfs_config Constant IdPORT_sfs_smp_net Constant IdPORT_SFTP Constant IdPORT_sgcp Constant IdPORT_sgmp Constant IdPORT_sgmp_traps Constant Internet Direct (Indy) Version 10.1.5

4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 lxxix

IdPORT_sift_uft Constant IdPORT_silverplatter Constant IdPORT_skronk Constant IdPORT_SMAKYNET Constant IdPORT_smartsdp Constant IdPORT_smpte Constant IdPORT_smsp Constant IdPORT_SMTP Constant IdPORT_smux Constant IdPORT_SNAGAS Constant IdPORT_SNEWS Constant IdPORT_snmp Constant IdPORT_snmptrap Constant IdPORT_SNTP Constant IdPORT_SOCKS Constant IdPORT_softpc Constant IdPORT_sonar Constant IdPORT_spsc Constant IdPORT_sql_net Constant IdPORT_SQLNET Constant IdPORT_SQLSERV Constant IdPORT_sqlsrv Constant IdPORT_src Constant IdPORT_srmp Constant IdPORT_ss7ns Constant IdPORT_SSH Constant IdPORT_SSL Constant IdPORT_ssmtp Constant IdPORT_statsrv Constant IdPORT_streettalk Constant IdPORT_SU_MIT_TG Constant IdPORT_submit Constant IdPORT_SUNRPC Constant IdPORT_SUPDUP Constant IdPORT_sur_meas Constant IdPORT_svrloc Constant IdPORT_SWIFT_RVF Constant IdPORT_synoptics_trap Constant IdPORT_synotics_broker Constant IdPORT_synotics_relay Constant IdPORT_syslog Constant IdPORT_SYSTAT Constant IdPORT_TACACS_DS Constant IdPORT_TACNEWS Constant IdPORT_talk Constant IdPORT_TCPMUX Constant IdPORT_tcpnethaspsrv Constant IdPORT_teedtap Constant IdPORT_tell Constant IdPORT_TELNET Constant IdPORT_TelnetS Constant IdPORT_tempo Constant lxxx

4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 Internet Direct (Indy) Version 10.1.5

IdPORT_TFTP Constant IdPORT_ticf_1 Constant IdPORT_ticf_2 Constant IdPORT_timbuktu Constant IdPORT_TIME Constant IdPORT_timed Constant IdPORT_tn_tl_fd1 Constant IdPORT_tn_tl_w1 Constant IdPORT_tn_tl_w2 Constant IdPORT_tnETOS Constant IdPORT_tserver Constant IdPORT_uaac Constant IdPORT_uarps Constant IdPORT_uis Constant IdPORT_ulistserv Constant IdPORT_ulpnet Constant IdPORT_unidata_ldm Constant IdPORT_unify Constant IdPORT_UNITARY Constant IdPORT_ups Constant IdPORT_urm Constant IdPORT_utime Constant IdPORT_utmpcd Constant IdPORT_utmpsd Constant IdPORT_uucp Constant IdPORT_UUCP_PATH Constant IdPORT_uucp_rlogin Constant IdPORT_vemmi Constant IdPORT_VETTCP Constant IdPORT_vid Constant IdPORT_vmnet Constant IdPORT_vmpwscs Constant IdPORT_vsinet Constant IdPORT_webster Constant IdPORT_who Constant IdPORT_whoami Constant IdPORT_WHOIS Constant IdPORT_WHOIS_PLUS Constant IdPORT_work_sol Constant IdPORT_wpages Constant IdPORT_wpgs Constant IdPORT_xdmcp Constant IdPORT_XFER Constant IdPORT_XNS_AUTH Constant IdPORT_XNS_CH Constant IdPORT_xns_courier Constant IdPORT_XNS_MAIL Constant IdPORT_XNS_TIME Constant IdPORT_xyplex_mux Constant IdPORT_z39_50 Constant IdPORT_zserv Constant IDRemoteFixPort Constant Internet Direct (Indy) Version 10.1.5

4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 lxxxi

IDRemoteUseStdErr Constant IdS_IEXEC Constant IdS_IREAD Constant IdS_IRGRP Constant IdS_IROTH Constant IdS_IRUSR Constant IdS_IRWXG Constant IdS_IRWXO Constant IdS_IRWXU Constant IdS_ISGID Constant IdS_ISUID Constant IdS_ISVTX Constant IdS_IWGRP Constant IdS_IWOTH Constant IdS_IWRITE Constant IdS_IWUSR Constant IdS_IXGRP Constant IdS_IXOTH Constant IdS_IXUSR Constant IdSecondsInDay Constant IdSecondsInHalfDay Constant IdSecondsInHour Constant IdSecondsInLeapYear Constant IdSecondsInMinute Constant IdSecondsInWeek Constant IdSecondsInYear Constant IdSMTPSvrReceivedString Constant IdSocksAuthGSSApi Constant IdSocksAuthNoAcceptableMethods Constant IdSocksAuthNoAuthenticationRequired Constant IdSocksAuthUsernamePassword Constant IdSocksLoginFailure Constant IdSocksLoginSuccess Constant IdStati Constant IdThreadComponentDefaultPriority Constant IdThreadComponentDefaultStopMode Constant IdTimeoutDefault Constant IdTimeoutInfinite Constant IdUserAccountDefaultAccess Constant IdWaitAllThreadsTerminatedCount Constant IdWaitAllThreadsTerminatedStep Constant IdYearsInCentury Constant IdYearsInLeapYearCycle Constant IdYearsInShortLeapYearCycle Constant IMAP_BAD Constant IMAP_BYE Constant IMAP_CONT Constant IMAP_NO Constant IMAP_OK Constant IMAP_PREAUTH Constant INREPLYTO Constant InvalidWindowsFilenameChars Constant lxxxii

4321 4321 4322 4322 4322 4322 4323 4323 4323 4323 4324 4324 4324 4324 4325 4325 4325 4325 4326 4326 4326 4326 4327 4327 4327 4327 4328 4328 4328 4328 4329 4329 4329 4329 4330 4330 4331 4331 4331 4332 4332 4333 4333 4333 4333 4334 4334 4334 4334 4335 4335 4336 Internet Direct (Indy) Version 10.1.5

IP_WATCH_HIST_FILENAME Constant IP_WATCH_HIST_MAX Constant IP_WATCH_INTERVAL Constant IPMCastHi Constant IPMCastLo Constant iQr_Answer Constant iQr_Question Constant iRCodeFormatError Constant iRCodeNameError Constant iRCodeNoError Constant iRCodeNotImplemented Constant iRCodeQueryNotFound Constant iRCodeQueryNotImplement Constant iRCodeQueryOK Constant iRCodeQueryReturned Constant iRCodeRefused Constant iRCodeServerFailure Constant LF Constant LWS Constant MailBoxAttributes Constant MAILFROM_ACCEPT Constant MAILFROM_CMD Constant MAX_MEM_LEVEL Constant MAX_PACKET_SIZE Constant MAX_WBITS Constant MaxMIMEBinToASCIIType Constant MaxMIMECompressType Constant MaxMIMEEncType Constant MaxMIMEMessageDigestType Constant MaxMIMESubTypes Constant MaxMIMEType Constant MAXTIMEOUT Constant MaxWord Constant MessageFlags Constant MILLISECOND_LENGTH Constant MIME7Bit Constant MIMEEncBase64 Constant MIMEEncNISTSHA Constant MIMEEncRLECompress Constant MIMEEncRSAMD2 Constant MIMEEncRSAMD4 Constant MIMEEncRSAMD5 Constant MIMEEncUUEncode Constant MIMEEncXXEncode Constant MIMEFullApplicationOctetStream Constant MIMEGenericMultiPart Constant MIMEGenericText Constant MIMESplit Constant MIMESubMacBinHex40 Constant MIMESubOctetStream Constant MIMETypeApplication Constant MIMETypeAudio Constant Internet Direct (Indy) Version 10.1.5

4337 4337 4337 4338 4338 4338 4339 4339 4339 4339 4340 4340 4340 4340 4341 4341 4341 4341 4342 4342 4342 4343 4343 4343 4344 4344 4344 4344 4345 4345 4345 4345 4346 4346 4346 4347 4347 4347 4348 4348 4348 4348 4349 4349 4349 4349 4350 4350 4350 4350 4351 4351 lxxxiii

MIMETypeImage Constant MIMETypeMessage Constant MIMETypeMultipart Constant MIMETypeText Constant MIMETypeVideo Constant MIMEXVal Constant MINTIMEOUT Constant MLST Constant monthnames Constant MS_DOS_ALL_FILES Constant MS_DOS_CURDIR Constant MSG_END Constant MSG_START Constant MVS_JES_Status Constant ND_NEIGHBOR_ADVERT Constant ND_NEIGHBOR_SOLICIT Constant ND_REDIRECT Constant ND_ROUTER_ADVERT Constant ND_ROUTER_SOLICIT Constant NLST Constant NODETAILS Constant NOVELLNETWAREPSU Constant NTPMaxInt Constant NULL_IP Constant OK Constant opRemove Constant OS2PARSER Constant PARENT_DIR Constant PARTSEP Constant PATH_DEVICE_SEP_DOS Constant PATH_DEVICE_SEP_UNIX Constant PATH_DEVICE_SEP_VMS Constant PATH_FILENAME_SEP_DOS Constant PATH_FILENAME_SEP_UNIX Constant PATH_FILENAME_SEP_VMS Constant PATH_SUBDIR_SEP_DOS Constant PATH_SUBDIR_SEP_UNIX Constant PATH_SUBDIR_SEP_VMS Constant PDUGetNextRequest Constant PDUGetRequest Constant PDUGetResponse Constant PDUSetRequest Constant PDUTrap Constant POWER_1 Constant POWER_2 Constant POWER_3 Constant POWER_4 Constant QueryRecordCount Constant QueryRecordTypes Constant QueryRecordValues Constant RAW_WBITS Constant RCPTTO_ACCEPT Constant lxxxiv

4351 4351 4352 4352 4352 4352 4354 4354 4354 4354 4355 4356 4356 4356 4357 4357 4357 4357 4358 4358 4358 4358 4359 4359 4359 4359 4360 4360 4360 4360 4361 4361 4361 4361 4362 4362 4362 4362 4363 4363 4363 4363 4364 4364 4364 4365 4365 4366 4366 4366 4367 4367 Internet Direct (Indy) Version 10.1.5

RCPTTO_CMD Constant RDTYPE_DIR Constant RDTYPE_END Constant RDTYPE_FILE Constant RDTYPE_SKIP Constant RSDNSServerAXFRError_QuerySequenceError Constant RSDNSServerSettingError_MappingHostError Constant RSET_ACCEPT Constant RSET_CMD Constant RSH_FORCEPORTSINRANGE Constant sBlockSize Constant SCCN_FEAT Constant sContentDisposition Constant sContentTypeFormData Constant sContentTypeOctetStream Constant sContentTypePlaceHolder Constant sFileNamePlaceHolder Constant sLineBreak Constant SLongDayNameFri Constant SLongDayNameMon Constant SLongDayNameSat Constant SLongDayNameSun Constant SLongDayNameThu Constant SLongDayNameTue Constant SLongDayNameWed Constant SLongMonthNameApr Constant SLongMonthNameAug Constant SLongMonthNameDec Constant SLongMonthNameFeb Constant SLongMonthNameJan Constant SLongMonthNameJul Constant SLongMonthNameJun Constant SLongMonthNameMar Constant SLongMonthNameMay Constant SLongMonthNameNov Constant SLongMonthNameOct Constant SLongMonthNameSep Constant SSCN_ERR_NEGOTIATION_REPLY Constant SSCN_OFF Constant SSCN_OK_REPLY Constant SSCN_ON Constant SShortDayNameFri Constant SShortDayNameMon Constant SShortDayNameSat Constant SShortDayNameSun Constant SShortDayNameThu Constant SShortDayNameTue Constant SShortDayNameWed Constant SShortMonthNameApr Constant SShortMonthNameAug Constant SShortMonthNameDec Constant SShortMonthNameFeb Constant Internet Direct (Indy) Version 10.1.5

4367 4368 4368 4368 4369 4369 4369 4369 4370 4370 4370 4371 4371 4371 4371 4372 4373 4373 4374 4374 4374 4374 4375 4375 4375 4375 4376 4376 4376 4376 4377 4377 4377 4377 4378 4378 4378 4379 4379 4380 4380 4380 4380 4381 4381 4381 4381 4382 4382 4382 4382 4383 lxxxv

SShortMonthNameJan Constant SShortMonthNameJul Constant SShortMonthNameJun Constant SShortMonthNameMar Constant SShortMonthNameMay Constant SShortMonthNameNov Constant SShortMonthNameOct Constant SShortMonthNameSep Constant ST_ERR Constant ST_ERR_AUTH Constant ST_ERR_IN_USE Constant ST_ERR_LOGIN_DELAY Constant ST_ERR_SYS_PERM Constant ST_ERR_SYS_TEMP Constant ST_OK Constant ST_SASLCONTINUE Constant STIRCOMEXPOS390 Constant STIRCOMUNIX Constant STIRCOMUNIXNS Constant STIRCOMUNIXROOT Constant SWITCH_BOTH_TIME_YEAR Constant SWITCH_CLASSIFY Constant SWITCH_COLS_ACCROSS Constant SWITCH_COLS_DOWN Constant SWITCH_COMMA_STREAM Constant SWITCH_HIDE_DIRPOINT Constant SWITCH_LONG_FORM Constant SWITCH_ONE_COL Constant SWITCH_ONE_DIR Constant SWITCH_PRINT_BLOCKS Constant SWITCH_PRINT_INODE Constant SWITCH_QUOTEDNAME Constant SWITCH_RECURSIVE Constant SWITCH_SHOW_ALLPERIOD Constant SWITCH_SLASHDIR Constant SWITCH_SORT_REVERSE Constant SWITCH_SORTBY_CTIME Constant SWITCH_SORTBY_EXT Constant SWITCH_SORTBY_MTIME Constant SWITCH_SORTBY_SIZE Constant SYST_ID_NT Constant SYST_ID_UNIX Constant TAB Constant TANDEM_GUARDIAN_ID Constant TFTP_ACK Constant TFTP_DATA Constant TFTP_ERROR Constant TFTP_OACK Constant TFTP_RRQ Constant TFTP_WRQ Constant TIME_BASEDATE Constant TIME_TIMEOUT Constant lxxxvi

4383 4383 4383 4384 4384 4384 4384 4385 4385 4385 4385 4386 4386 4386 4386 4387 4387 4387 4387 4388 4388 4388 4388 4389 4389 4389 4389 4390 4390 4390 4390 4391 4391 4391 4391 4392 4392 4392 4392 4393 4393 4393 4393 4394 4394 4394 4395 4395 4395 4395 4396 4396 Internet Direct (Indy) Version 10.1.5

TLS_AUTH_NAMES Constant TNC_AO Constant TNC_AYT Constant TNC_BREAK Constant TNC_DATA_MARK Constant TNC_DO Constant TNC_DONT Constant TNC_EC Constant TNC_EL Constant TNC_EOR Constant TNC_GA Constant TNC_IAC Constant TNC_IP Constant TNC_NOP Constant TNC_SB Constant TNC_SE Constant TNC_WILL Constant TNC_WONT Constant TNO_3270REGIME Constant TNO_AMSN Constant TNO_AUTH Constant TNO_BINARY Constant TNO_BYTE_MACRO Constant TNO_DET Constant TNO_EA Constant TNO_ECHO Constant TNO_ENCRYPT Constant TNO_EOL Constant TNO_EOR Constant TNO_LINEMODE Constant TNO_LOGOUT Constant TNO_NAWS Constant TNO_OCRD Constant TNO_OFD Constant TNO_OHTD Constant TNO_OHTS Constant TNO_OLD Constant TNO_OLW Constant TNO_OM Constant TNO_OPS Constant TNO_OVT Constant TNO_OVTD Constant TNO_RCTE Constant TNO_RECONNECT Constant TNO_RFLOW Constant TNO_SGA Constant TNO_SL Constant TNO_STATUS Constant TNO_SUPDUP Constant TNO_SUPDUP_OUTPUT Constant TNO_TACACS_ID Constant TNO_TERM_SPEED Constant Internet Direct (Indy) Version 10.1.5

4396 4397 4397 4397 4397 4398 4398 4398 4398 4399 4399 4399 4400 4400 4400 4400 4401 4401 4401 4401 4402 4402 4402 4402 4403 4403 4403 4404 4404 4404 4404 4405 4405 4405 4405 4406 4406 4406 4406 4407 4407 4407 4408 4408 4408 4408 4409 4409 4409 4409 4410 4410 lxxxvii

TNO_TERMTYPE Constant TNO_TIMING_MARK Constant TNO_TLN Constant TNO_X3PAD Constant TNO_XDISPLOC Constant TNOS_NAME Constant TNOS_REPLY Constant TNOS_TERM_IS Constant TNOS_TERMTYPE_SEND Constant TOPS20_DIRFILE_SEP Constant TOPS20_VOLPATH_SEP Constant tpHigher Constant tpHighest Constant tpIdAboveNormal Constant tpIdBelowNormal Constant tpIdHighest Constant tpIdle Constant tpIdLowest Constant tpIdNormal Constant tpListener Constant tpLower Constant tpLowest Constant tpNormal Constant tpTimeCritical Constant TypeCode_A Constant TypeCode_AAAA Constant TypeCode_AFSDB Constant TypeCode_AXFR Constant TypeCode_CERT Constant TypeCode_CName Constant TypeCode_DNAME Constant TypeCode_Error Constant TypeCode_HINFO Constant TypeCode_ISDN Constant TypeCode_IXFR Constant TypeCode_KEY Constant TypeCode_KX Constant TypeCode_LOC Constant TypeCode_MB Constant TypeCode_MD Constant TypeCode_MF Constant TypeCode_MG Constant TypeCode_MINFO Constant TypeCode_MR Constant TypeCode_MX Constant TypeCode_NAPTR Constant TypeCode_NS Constant TypeCode_NSAP Constant TypeCode_NSAP_PTR Constant TypeCode_NULL Constant TypeCode_NXT Constant TypeCode_OPTIONAL Constant lxxxviii

4410 4410 4411 4411 4411 4412 4412 4412 4412 4413 4413 4413 4413 4414 4414 4414 4414 4415 4415 4415 4416 4416 4416 4416 4417 4417 4417 4417 4418 4418 4418 4418 4419 4419 4419 4419 4420 4420 4420 4420 4421 4421 4421 4421 4422 4422 4422 4422 4423 4423 4423 4423 Internet Direct (Indy) Version 10.1.5

TypeCode_PTR Constant TypeCode_PX Constant TypeCode_QPOS Constant TypeCode_R31 Constant TypeCode_R32 Constant TypeCode_R34 Constant TypeCode_R40 Constant TypeCode_RP Constant TypeCode_RT Constant TypeCode_Service Constant TypeCode_SIG Constant TypeCode_SOA Constant TypeCode_STAR Constant TypeCode_TXT Constant TypeCode_V6Addr Constant TypeCode_WKS Constant TypeCode_X25 Constant TZ_ADT Constant TZ_AHST Constant TZ_AST Constant TZ_AT Constant TZ_BST Constant TZ_BT Constant TZ_CAT Constant TZ_CCT Constant TZ_CDT Constant TZ_CET Constant TZ_CST Constant TZ_EADT Constant TZ_EAST Constant TZ_EDT Constant TZ_EET Constant TZ_EST Constant TZ_FST Constant TZ_FWT Constant TZ_GMT Constant TZ_GST Constant TZ_HDT Constant TZ_HST Constant TZ_IDLE Constant TZ_IDLW Constant TZ_JST Constant TZ_MDT Constant TZ_MEST Constant TZ_MESZ Constant TZ_MET Constant TZ_MEWT Constant TZ_MST Constant TZ_NT Constant TZ_NZDT Constant TZ_NZST Constant TZ_NZT Constant Internet Direct (Indy) Version 10.1.5

4424 4424 4424 4424 4425 4425 4425 4425 4426 4426 4426 4426 4427 4427 4427 4427 4428 4428 4429 4429 4430 4431 4432 4432 4433 4434 4435 4435 4436 4437 4438 4439 4439 4440 4441 4442 4442 4443 4444 4445 4445 4446 4447 4448 4449 4449 4450 4451 4452 4452 4453 4454 lxxxix

TZ_PDT Constant TZ_PST Constant TZ_SST Constant TZ_SWT Constant TZ_UT Constant TZ_UTC Constant TZ_WADT Constant TZ_WAST Constant TZ_WAT Constant TZ_WET Constant TZ_YDT Constant TZ_YST Constant TZ_ZP4 Constant TZ_ZP5 Constant TZ_ZP6 Constant TZM_A Constant TZM_Alpha Constant TZM_B Constant TZM_Bravo Constant TZM_C Constant TZM_Charlie Constant TZM_D Constant TZM_Delta Constant TZM_E Constant TZM_Echo Constant TZM_F Constant TZM_Foxtrot Constant TZM_G Constant TZM_Golf Constant TZM_H Constant TZM_Hotel Constant TZM_J Constant TZM_Juliet Constant TZM_K Constant TZM_Kilo Constant TZM_L Constant TZM_Lima Constant TZM_M Constant TZM_Mike Constant TZM_N Constant TZM_November Constant TZM_O Constant TZM_Oscar Constant TZM_P Constant TZM_Papa Constant TZM_Q Constant TZM_Quebec Constant TZM_R Constant TZM_Romeo Constant TZM_S Constant TZM_Sierra Constant TZM_T Constant xc

4455 4455 4456 4457 4458 4459 4459 4460 4461 4462 4462 4463 4464 4465 4465 4466 4468 4469 4471 4472 4473 4475 4476 4478 4479 4481 4482 4484 4485 4487 4488 4489 4491 4492 4494 4495 4497 4498 4500 4501 4503 4504 4505 4507 4508 4510 4511 4513 4514 4516 4517 4519 Internet Direct (Indy) Version 10.1.5

TZM_Tango Constant TZM_U Constant TZM_Uniform Constant TZM_V Constant TZM_Victor Constant TZM_W Constant TZM_Whiskey Constant TZM_X Constant TZM_XRay Constant TZM_Y Constant TZM_Yankee Constant TZM_Z Constant TZM_Zulu Constant UNITREE Constant UnitreeStoreTypes Constant UNIX Constant UNIX_ALL_FILES Constant UNIX_CURDIR Constant UNIX_DIR_SIZE Constant UNIX_LINKTO_SYM Constant UNIXSTARTDATE Constant VALID_ENH_CODES Constant VALID_POP3_STR Constant VALID_TAGGEDREPLIES Constant ValidClassChars Constant ValidClassVals Constant VMS_ALL_FILES Constant VMS_BLOCK_SIZE Constant VMS_RELPATH_PREFIX Constant VSE_PowerQueue_Dispositions Constant VSERootDirItemTypes Constant wdays Constant WFFTP Constant WhiteSpace Constant WINNTID Constant wsBad Constant wsBye Constant wsContinue Constant Wship6_dll Constant wsNo Constant wsOk Constant wsPreAuth Constant XMAILER_HEADER Constant Z_ASCII Constant Z_BEST_COMPRESSION Constant Z_BEST_SPEED Constant Z_BINARY Constant Z_BLOCK Constant Z_BUF_ERROR Constant Z_DATA_ERROR Constant Z_DEFAULT_COMPRESSION Constant Z_DEFAULT_STRATEGY Constant Internet Direct (Indy) Version 10.1.5

4520 4521 4523 4524 4526 4527 4529 4530 4532 4533 4535 4536 4537 4539 4539 4539 4540 4540 4540 4540 4541 4541 4541 4541 4542 4542 4542 4542 4543 4543 4543 4543 4544 4544 4544 4544 4545 4545 4546 4546 4546 4547 4547 4547 4547 4548 4548 4548 4548 4549 4549 4549 xci

Z_DEFLATED Constant Z_ERRNO Constant Z_FILTERED Constant Z_FINISH Constant Z_FULL_FLUSH Constant Z_HUFFMAN_ONLY Constant Z_MEM_ERROR Constant Z_NEED_DICT Constant Z_NO_COMPRESSION Constant Z_NO_FLUSH Constant Z_NULL Constant Z_OK Constant Z_PARTIAL_FLUSH Constant Z_RLE Constant Z_STREAM_END Constant Z_STREAM_ERROR Constant Z_SYNC_FLUSH Constant Z_UNKNOWN Constant Z_VERSION_ERROR Constant ZLIB_VERNUM Constant zlib_version Constant

Files IdAllFTPListParsers.pas IdAntiFreezeBase.pas IdASN1Util.pas IdAssignedNumbers.pas IdAttachment.pas IdAttachmentFile.pas IdAttachmentMemory.pas IdAuthentication.pas IdAuthenticationDigest.pas IdAuthenticationManager.pas IdAuthenticationNTLM.pas IdBaseComponent.pas IdBuffer.pas IdChargenServer.pas IdChargenUDPServer.pas IdCharsets.pas IdCmdTCPClient.pas IdCmdTCPServer.pas IdCoder.pas IdCoder00E.pas IdCoder3to4.pas IdCoderBinHex4.pas IdCoderHeader.pas IdCoderMIME.pas IdCoderQuotedPrintable.pas IdCoderUUE.pas IdCoderXXE.pas IdCommandHandlers.pas IdComponent.pas IdCompressionIntercept.pas xcii

4549 4550 4550 4550 4550 4551 4551 4551 4551 4552 4552 4552 4552 4553 4553 4553 4553 4554 4554 4554 4554

4555 4555 4555 4556 4557 4585 4585 4586 4586 4587 4587 4588 4588 4588 4589 4589 4590 4590 4591 4591 4592 4593 4593 4594 4595 4596 4597 4599 4602 4602 4603 Internet Direct (Indy) Version 10.1.5

IdCompressorZLibEx.pas IdConnectThroughHttpProxy.pas IdContainers.pas IdContext.pas IdCookie.pas IdCookieManager.pas IdCustomHTTPServer.pas IdCustomTCPServer.pas IdCustomTransparentProxy.pas IdDateTimeStamp.pas IdDayTime.pas IdDayTimeServer.pas IdDayTimeUDP.pas IdDayTimeUDPServer.pas IdDICT.pas IdDICTCommon.pas IdDICTServer.pas IdDiscardServer.pas IdDiscardUDPServer.pas IdDNSCommon.pas IdDNSResolver.pas IdDNSServer.pas IdEcho.pas IdEchoServer.pas IdEchoUDP.pas IdEchoUDPServer.pas IdEMailAddress.pas IdException.pas IdExceptionCore.pas IdExplicitTLSClientServerBase.pas IdFinger.pas IdFingerServer.pas IdFSP.pas IdFTP.pas IdFTPBaseFileSystem.pas IdFTPCommon.pas IdFTPList.pas IdFTPListOutput.pas IdFTPListParseAS400.pas IdFTPListParseBase.pas IdFTPListParseBullGCOS7.pas IdFTPListParseBullGCOS8.pas IdFTPListParseChameleonNewt.pas IdFTPListParseCiscoIOS.pas IdFTPListParseDistinctTCPIP.pas IdFTPListParseEPLF.pas IdFTPListParseHellSoft.pas IdFTPListParseKA9Q.pas IdFTPListParseMicrowareOS9.pas IdFTPListParseMPEiX.pas IdFTPListParseMusic.pas IdFTPListParseMVS.pas Internet Direct (Indy) Version 10.1.5

4605 4605 4605 4606 4606 4607 4608 4609 4609 4610 4613 4614 4614 4614 4615 4615 4616 4616 4617 4617 4620 4621 4622 4623 4623 4624 4624 4624 4625 4626 4627 4628 4628 4629 4631 4631 4634 4635 4635 4636 4636 4637 4637 4637 4637 4638 4638 4638 4638 4639 4639 4639 xciii

IdFTPListParseNCSAForDOS.pas IdFTPListParseNCSAForMACOS.pas IdFTPListParseNovellNetware.pas IdFTPListParseNovellNetwarePSU.pas IdFTPListParseOS2.pas IdFTPListParsePCNFSD.pas IdFTPListParseStercomOS390Exp.pas IdFTPListParseStercomUnixEnt.pas IdFTPListParseStratusVOS.pas IdFTPListParseSuperTCP.pas IdFTPListParseTandemGuardian.pas IdFTPListParseTOPS20.pas IdFTPListParseTSXPlus.pas IdFTPListParseUnisysClearPath.pas IdFTPListParseUnix.pas IdFTPListParseVM.pas IdFTPListParseVMS.pas IdFTPListParseVSE.pas IdFTPListParseVxWorks.pas IdFTPListParseWfFTP.pas IdFTPListParseWindowsNT.pas IdFTPListParseWinQVTNET.pas IdFTPListParseXecomMicroRTOS.pas IdFTPListTypes.pas IdFTPServer.pas IdFTPServerContextBase.pas IdGlobal.pas IdGlobalCore.pas IdGlobalProtocols.pas IdGopher.pas IdGopherConsts.pas IdGopherServer.pas IdHash.pas IdHashCRC.pas IdHashElf.pas IdHashMessageDigest.pas IdHashSHA1.pas IdHeaderList.pas IdHL7.pas IdHTTP.pas IdHTTPHeaderInfo.pas IdHTTPProxyServer.pas IdHTTPServer.pas IdIcmpClient.pas IdIdent.pas IdIdentServer.pas IdIMAP4.pas IdIMAP4Server.pas IdIntercept.pas IdInterceptSimLog.pas IdInterceptThrottler.pas IdIOHandler.pas xciv

4640 4640 4640 4640 4641 4641 4641 4642 4642 4642 4643 4643 4643 4643 4644 4644 4644 4645 4645 4645 4646 4646 4646 4646 4648 4650 4650 4654 4654 4656 4657 4658 4658 4659 4659 4660 4660 4661 4661 4662 4663 4664 4664 4665 4665 4666 4666 4668 4669 4669 4670 4670 Internet Direct (Indy) Version 10.1.5

IdIOHandlerSocket.pas IdIOHandlerStack.pas IdIOHandlerStream.pas IdIPAddress.pas IdIPAddrMon.pas IdIPMCastBase.pas IdIPMCastClient.pas IdIPMCastServer.pas IdIPWatch.pas IdIRC.pas IdIrcServer.pas IdLogBase.pas IdLogDebug.pas IdLogEvent.pas IdLogFile.pas IdLogStream.pas IdLPR.pas IdMailBox.pas IdMappedFTP.pas IdMappedPOP3.pas IdMappedPortTCP.pas IdMappedPortUDP.pas IdMappedTelnet.pas IdMessage.pas IdMessageClient.pas IdMessageCoder.pas IdMessageCoderMIME.pas IdMessageCoderQuotedPrintable.pas IdMessageCoderUUE.pas IdMessageCoderXXE.pas IdMessageCoderYenc.pas IdMessageCollection.pas IdMessageParts.pas IdMIMETypes.pas IdMultipartFormData.pas IdNetworkCalculator.pas IdNNTP.pas IdNNTPServer.pas IdNTLM.pas IdObjs.pas IdObjsBase.pas IdObjsVCL.pas IdOSFileName.pas IdOTPCalculator.pas IdPOP3.pas IdPOP3Server.pas IdQotd.pas IdQotdServer.pas IdQOTDUDP.pas IdQOTDUDPServer.pas IdRawBase.pas IdRawClient.pas Internet Direct (Indy) Version 10.1.5

4671 4671 4672 4672 4672 4673 4674 4674 4675 4675 4677 4677 4677 4678 4678 4679 4679 4680 4680 4681 4681 4681 4682 4682 4683 4683 4684 4686 4687 4687 4688 4688 4689 4690 4691 4691 4692 4693 4693 4694 4695 4695 4695 4696 4696 4697 4698 4698 4698 4699 4699 4700 xcv

IdRawFunctions.pas IdRawHeaders.pas IdRemoteCMDClient.pas IdRemoteCMDServer.pas IdReply.pas IdReplyFTP.pas IdReplyIMAP4.pas IdReplyPOP3.pas IdReplyRFC.pas IdReplySMTP.pas IdResourceStrings.pas IdResourceStringsCore.pas IdResourceStringsProtocols.pas IdRexec.pas IdRexecServer.pas IdRSH.pas IdRSHServer.pas IdSASL.pas IdSASL_CRAM_MD5.pas IdSASLAnonymous.pas IdSASLCollection.pas IdSASLExternal.pas IdSASLLogin.pas IdSASLOTP.pas IdSASLPlain.pas IdSASLSKey.pas IdSASLUserPass.pas IdScheduler.pas IdSchedulerOfThread.pas IdSchedulerOfThreadDefault.pas IdSchedulerOfThreadPool.pas IdServerInterceptLogBase.pas IdServerInterceptLogEvent.pas IdServerInterceptLogFile.pas IdServerIOHandler.pas IdServerIOHandlerSocket.pas IdServerIOHandlerStack.pas IdSimpleServer.pas IdSMTP.pas IdSMTPBase.pas IdSMTPRelay.pas IdSMTPServer.pas IdSNMP.pas IdSNPP.pas IdSNTP.pas IdSocketHandle.pas IdSocks.pas IdSocksServer.pas IdSSL.pas IdSSLOpenSSL.pas IdStack.pas IdStackBSDBase.pas xcvi

4700 4701 4704 4704 4705 4705 4706 4706 4707 4707 4709 4710 4710 4710 4710 4711 4711 4711 4712 4712 4713 4713 4713 4714 4714 4714 4715 4715 4715 4716 4716 4717 4717 4717 4717 4718 4718 4718 4719 4720 4720 4721 4722 4723 4723 4724 4724 4725 4726 4726 4727 4728 Internet Direct (Indy) Version 10.1.5

IdStackConsts.pas IdStackDotNet.pas IdStackLinux.pas IdStackWindows.pas IdStream.pas IdStreamNET.pas IdStreamVCL.pas IdStrings.pas IdStruct.pas IdSync.pas IdSys.pas IdSysBase.pas IdSysLog.pas IdSysLogMessage.pas IdSysLogServer.pas IdSysNativeVCL.pas IdSystat.pas IdSystatServer.pas IdSystatUDP.pas IdSystatUDPServer.pas IdSysVCL.pas IdSysVCLNET.pas IdSysWin32.pas IdTask.pas IdTCPClient.pas IdTCPConnection.pas IdTCPServer.pas IdTCPStream.pas IdTelnet.pas IdTelnetServer.pas IdText.pas IdThread.pas IdThreadComponent.pas IdThreadSafe.pas IdTime.pas IdTimeServer.pas IdTimeUDP.pas IdTimeUDPServer.pas IdTraceRoute.pas IdTrivialFTP.pas IdTrivialFTPBase.pas IdTrivialFTPServer.pas IdUDPBase.pas IdUDPClient.pas IdUDPServer.pas IdUnixTime.pas IdUnixTimeServer.pas IdUnixTimeUDP.pas IdUnixTimeUDPServer.pas IdURI.pas IdUserAccounts.pas IdUserPassProvider.pas Internet Direct (Indy) Version 10.1.5

4729 4729 4730 4730 4731 4731 4731 4732 4732 4733 4733 4735 4735 4735 4736 4737 4737 4737 4738 4738 4739 4739 4739 4740 4740 4740 4741 4741 4741 4743 4744 4744 4745 4745 4746 4746 4747 4747 4747 4748 4748 4749 4750 4750 4751 4751 4752 4752 4753 4753 4753 4754 xcvii

IdVCard.pas IdWhois.pas IdWhoIsServer.pas IdWship6.pas IdYarn.pas IdZLib.pas IdZLibCompressorBase.pas IdZLibConst.pas

Appendices

4761

Internet Assigned Numbers Authority

4762

IANA Internet Multicast Group Addresses IANA Machine Names IANA Official Character Sets IANA Operating System Names IANA Port Numbers IANA Protocol Numbers IANA Version Numbers

4762 4762 4762 4762 4763 4764 4764

Timezones TZ-Abbreviations TZ-ISO-3166-1 TZ-Military TZ-Olson

xcviii

4754 4755 4756 4756 4756 4757 4759 4759

4765 4765 4766 4775 4776

Internet Direct (Indy) Version 10.1.5

Internet Direct (Indy) Introduction to the Indy Project The Indy Project is a Open Source group. The Indy Project maintains several active Open Source projects which have evolved from the original Internet Direct (Indy) project.

Indy.Sockets Indy.Sockets is an open source blocking socket library that supports clients, servers, TCP, UDP, raw sockets, as well as over 100 higher level protocols such as SMTP, POP3, NNTP, HTTP, and many more. Indy.Sockets is available for C#, C++, Delphi, Visual Basic.NET, any .NET language, and Kylix. The Indy.Sockets FCL build is a managed assembly and is compatible with the Microsoft .NET framework, and Mono.

Indy.Docs Indy.Docs is a volunteer effort to maintain and improve documentation for the Internet Direct (Indy.Sockets) component suite. Participation in the Indy Documentation project is open to anyone with a little time, and a little knowledge of the Indy component suite. While programming knowledge is useful, it is not required. This makes the Indy Documentation project a great way for anyone to contribute to the success of Indy, and to have their work read by an ever-increasing number of Indy users.

Bubelen Bubelen is a system for building and maintaining bubbles. A bubble is a piece of code for testing, developing, profiling, debugging, and stress testing. Bubbles are similar to boxes which are used in box testing (sometimes also referred to as unit testing), however bubbles are not designed with the only goal being testing.

Indy.Data Indy.Data is a new project that provides a very unique data access layer in C# for ADO.NET.

IndySoap Indy Soap is a Open Source Library for implementing Web Services using Borland environments. IndySoap is not tied to Indy sockets for transport services, though Indy based transport services are included.

Internet Direct (Indy) Version 10.1.5

1

What is Indy.Sockets?

What is Indy.Sockets? Indy.Sockets is an internet component suite that uses the blocking socket model. Indy.Sockets includes both clients and servers using TCP, UDP, and raw sockets. Indy.Sockets also includes clients and servers for higher level protocols such as SMTP, POP3, NNTP, HTTP, and many more.

Supported Languages Indy.Sockets is developed using the Object Pascal language (commonly referred to as Delphi), but can used in any of the following programming languages:

• C# • C++ • Delphi • J#.NET • Visual Basic.NET • Any other .NET language

Run-time Environments Indy.Sockets can be used to develop applications for a number of run-time environments and platforms, including:

• Win32 • Linux • .NET version 1.1 • Mono

Integrated Development Environments Indy.Sockets can be used in a number of IDEs, including:

Borland Delphi Borland C++ Builder Borland C# Builder Borland Kylix Borland Developer Studio (Delphi 2005) Visual Studio.NET Indy.Sockets is a single source library; one version of the source code is used to produce the libraries and assemblies used for each of the targeted platforms and design-time environments. For Borland IDEs, Indy.Sockets is built using packages. For the VCL.NET environment, Indy.Sockets is a managed assemblies and is compatible with the Microsoft .NET framework. For IDEs on the .NET platform that do not support the Delphi language (Visual Studio.NET and Mono), Indy.Sockets is provided as a single managed assembly. 2

Internet Direct (Indy) Version 10.1.5

Introduction to Indy

Introduction to Indy An introduction to Internet Direct (Indy) written by the project Coordinator (and original author).

Introductory Note I originally wrote this article in the days of Indy 8.0. Most of the article still applies and is very useful for newer versions of Indy. If you like this article and would like to read many more in depth articles, please check out Indy in Depth.

• Author: Chad Z. Hower (aka "Kudzu") • Home Page

Indy is Blocking Indy uses blocking socket calls. Blocking calls are much like reading and writing to a file. When you read data, or write data, the function will not return until the operation is complete. The difference from working with files is that the call may take much longer as data may not be immediately ready for reading or writing (It can only operate as fast as the network or the modem can handle the data). For example, to connect simply call the connect method and wait for it to return. If it succeeds, it will return when it does. If it fails, it will raise an exception.

Blocking is NOT Evil Blocking sockets have been repeatedly attacked with out warrant. Contrary to popular belief, blocking sockets are not evil. When Winsock was "ported" to Windows, a problem quickly arose. In Unix it was common to fork (kind of like multi threading, but with separate processes instead of threads). Unix clients and daemons would fork processes, which would run, and use blocking sockets. Windows 3.x could not fork and did not support multi threading. Using the blocking interface "locked" user interfaces and made programs unresponsive. So asynchronous extensions were added to WinSock to allow Windows 3.x with its shortcomings to use Winsock without "locking" the main and only thread of a program. This however required a different way of programming., and Microsoft and others vilified blocking vehemently so as to mask the shortcomings of Windows 3.x. Then along came Win32 which could properly multi-thread. But at this point, everyone's mind had been changed (i.e. Developers believed blocking sockets were evil), and it is hard to "backtrack" once a statement has been made. So the continued vilification of blocking sockets continues. In reality, blocking sockets are the ONLY way Unix does sockets. Blocking sockets also offer other advantages, and are much better for threading, security, and other aspects. Some extensions have been added for non-blocking sockets in Unix. However they work quite differently than in Windows. They also are not standard, and not in wide use. Blocking sockets under Unix still are used in almost every case, and will continue to be so.

Pros of Blocking

Easy program Easy to port

to Blocking is very easy to program. All user code can exist in one place, and in a sequential order. Since Unix uses blocking sockets, portable code can be written easily. Indy uses this fact to achieve its single source solution.

Internet Direct (Indy) Version 10.1.5

3

Introduction to Indy

Work well in Since blocking sockets are sequential they are inherently encapsulated and therefore very easily used in threads. threads

Cons of Blocking

User Blocking socket calls do not return until they have accomplished their task. When such calls are made in the main Interface thread of an application, the application cannot process the user interface messages. This causes the User Interface to "Freeze" "freeze" because the update, repaint and other messages cannot be processed until the blocking socket calls return control to the applications message processing loop.

TIdAntiFreeze Indy has a special component that solves the User Interface freeze problem transparently. Simply add one TIdAntiFreeze anywhere in your application, and you can perform standard blocking Indy calls in your program without the User Interface being frozen. The TIdAntiFreeze works by internally timing out calls to the stack and calling Application.ProcessMessages during timeouts. The external calls to Indy continue to block, and thus work exactly as without a TIdAntiFreeze otherwise. Use of a TIdAntiFreeze allows for all the advantages of blocking sockets, without the most prominent disadvantage.

Threading Threading is almost always used with blocking sockets. Non-blocking sockets can be threaded as well, but they require some extra handling and their advantages are lost with blocking sockets. Threading will be discussed briefly as it is important in writing blocking socket servers. Threading can also be used to write advanced blocking clients. Threading Advantages

Prioritization

Individual threads priorities can be adjusted. This allows individual server tasks or individual connections to be given more or less CPU time.

Encapsulation Each connection will be self-contained and less likely to interfere with other connections. Security

Each thread can have different security attributes.

Multiple Processors

Threading automatically will take advantage of multiple processors.

No Serialization

Threading provides true concurrency. Without threading all requests must be handled by a single thread. For this to work each task to be performed must be broken up into small pieces that can always execute quickly. If any task part blocks or takes time to execute all other task parts will be put on hold until it is complete. After each task part is complete, the next one is processed, etc. With threading, each task can be programmed as a complete task and the operating system will divide CPU time among the tasks.

Thread Pooling The creation and destruction of threads can be resource intensive. This is especially evident with servers that have short-lived connections. Such servers create a thread use it for very brief time and then destroy it. This causes for a very high frequency of creation and destruction of threads. An example of this is a time or even and web server. A single request is sent, and a simple answer returned. When using a browser to browse a web site hundreds of connections and disconnections to the server may occur. Thread pooling can alleviate such situations. Instead of creating and destroying threads on demand, threads are borrowed from a list of inactive but already created list (pool). When a thread is no longer needed it is redeposited into the pool instead of being destroyed. While threads are in the pool they are marked inactive and thus do not consume CPU cycles. For a further improvement, the size of the pool can be adjusted dynamically to meet the current needs of the system. 4

Internet Direct (Indy) Version 10.1.5

Introduction to Indy Indy supports thread pooling using specialized schedulers for server components.

Hundreds of Threads With a busy server hundreds or even thousands of threads can easily be needed. There is a common misconception that hundreds of threads will instantly kill your system. This is a false belief. With most servers threads spend most of their time waiting on data. While waiting on blocking calls the thread will be inactive. Thus in a server with 500 threads only 50 may be active at a single time. The number of threads that your system has running now may surprise you. With only minimal services started and the following applications running: My system has 333 threads currently created: Even with 333 threads you can see that my CPU utilization is only at 1%. A heavily used IIS (Microsoft Internet Information Server) will create hundreds or thousands more threads.

Threads and Global Sections Whenever multiple threads need to access data in a read/write fashion they must control access to the data to protect its integrity. This can be intimidating to programmers new to threading. However most servers do not require global data. Most servers perform compartmentalized functions. That is each thread performs an isolated task. Global read/write sections are an issue for many multi threaded applications, but global read/write sections typically are not an issue for most socket servers.

Indy Methodology Indy is different than other Winsock components you may be familiar with. If you've worked with other components, the best approach for you may be to forget how they work. Nearly all other components use non-blocking (asynchronous) calls and act asynchronously. They require you to respond to events, set up state machines, and often perform wait loops. For example, with other components, when you call connect you must wait for a connect event to fire, or loop until a property indicates that you are connected. With Indy you merely call Connect, and wait for it to return. If it succeeds, it will return when it does. If it fails, it will raise an exception. Working with Indy is very much like working with files. Indy allows you to put all your code in one place, instead of scattered throughout different events. In addition, Indy is much easier and more suited to threading.

How Indy is Different Quick Overview

• Uses blocking calls • Does not rely on events - Indy has events that can be used for informational purposes, but are not required. • Designed to be threaded - Indy is designed with threading in mind. Indy can be used without threading however. • Sequential programming

Details Indy not only uses blocking calls (synchronous) but it acts as such. A typical Indy session looks like this: with AnIndyClient do begin Connect; try // Do your stuff here finally Disconnect; end; Internet Direct (Indy) Version 10.1.5

5

Introduction to Indy end; Other components may look something similar to this: procedure TFormMain.TestOnClick(Sender: TComponent); begin with SocketComponent do begin Connect; try while not Connected do begin if IsError then begin Abort; end; Application.ProcessMessages; OutData := 'Data To send'; while length(OutData) > 0 do begin Application.ProcessMessages; end; finally Disconnect; end; end; end; procedure TFormMain.OnConnectError; begin IsError := True; end; procedure TFormMain.OnRead; var i: Integer; begin i := SocketComponent.Send(OutData); OutData := Copy(OutData, i + 1, MaxInt); end; Most components do not do a very good job of isolating the programmer from stack. Many components instead of isolating the user from the complexities of stack merely pass them on or provide a Delphi/CB wrapper for the stack. The Indy Way Indy is designed from the ground up to be threadable. Building servers and clients in Indy is similar to the way Unix servers and clients are built, except that it is much easier, because you have Indy and Delphi. Unix apps typically call the stack directly with little or no abstraction layer. Typically Unix servers have one or more "listener" processes which looks for incoming client requests. For each client that it needs to serve, it will fork a new process to handle each client. This make programming very easy as each process deals with only one client. The process also runs in its own security context, which can be set by the listener or the process based on credentials, authentication, or other means. Indy servers work very similarly. Windows unlike Unix does not fork well, but it does thread well. Indy servers allocate a thread for each client connection. Indy servers set up a listening thread that is separate from the main thread of the program. The listener thread listens for incoming client requests. For each client that it answers, it spawns a new thread to service that client. The appropriate events are then fired within the context of that thread. Overview of Indy Clients Indy is designed to provide a very high level of abstraction. Intricacies and details of the TCP/IP stack are hidden from the Indy programmer. A typical Indy client session looks like this: with IndyClient do begin Host := 'zip.pbe.com'; // Host to call Port := 6000; // Port to call the server on Connect; try // Do your stuff here 6

Internet Direct (Indy) Version 10.1.5

Introduction to Indy finally Disconnect; end; end;

Overview of Indy Servers Indy server components create a listener thread that is separate from the main thread of the program. The listener thread listens for incoming client requests. For each client that it answers, it then spawns a new thread to service that client. The appropriate events are then fired within the context of that thread.

Practical Examples The following examples should normally be encapsulated into descendant components for easy reuse, but for the sake of demonstration the examples will be done as simple applications. Several projects will be presented to show a variety of situations. These examples are also available as a zip file.

Example 1 - Zip Code Lookup The first project has been designed to be as simple as possible. Zip Code Lookup will allow a client to ask a server what city and state a zip code is for. For those of you outside the United State who may not know what a zip code is, a zip code is a US postal code that specifies a postal delivery area. Zip codes are numeric and 5 digits long.

Protocol The first step in building a client or server is to understand the protocol. For standard protocols this is done by reading the appropriate RFC. For Zip Code Lookup a protocol has been defined and is below. Most protocols are conversational and plain text. Conversational means that a command is given, a status response follows, and possibly data. Protocols that are very limited are often not conversational, but are still plain text. Zip Code Lookup is plain text, but not conversational. Plain text makes protocols much easier to debug, and also to interface to using different programming languages and operating systems. Upon connection the server will respond with a welcome message, then accept a command. That command can be "ZipCode x" (Where x is the zip code) or "Quit". A ZipCode command will be responded to with a single line response, or an empty line if no entry exists. Quit will cause the server to disconnect the connection. The server will accept multiple commands, until a Quit Internet Direct (Indy) Version 10.1.5

7

Introduction to Indy command is received.

Server Source Code unit ServerMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPServer; type TformMain = class(TForm) IdTCPServer1: TIdTCPServer; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure IdTCPServer1Connect(AThread: TIdPeerThread); procedure IdTCPServer1Execute(AThread: TIdPeerThread); private ZipCodeList: TStrings; public end; var formMain: TformMain; implementation {R *.DFM} procedure TformMain.IdTCPServer1Connect(AThread: TIdPeerThread); begin AThread.Connection.WriteLn('Indy Zip Code Server Ready.'); end; procedure TformMain.IdTCPServer1Execute(AThread: TIdPeerThread); var sCommand: string; begin with AThread.Connection do begin sCommand := ReadLn; if SameText(sCommand, 'QUIT') then begin Disconnect; end else if SameText(Copy(sCommand, 1, 8), 'ZipCode ') then begin WriteLn(ZipCodeList.Values[Copy(sCommand, 9, MaxInt)]); end; end; end; procedure TformMain.FormCreate(Sender: TObject); begin ZipCodeList := TStringList.Create; ZipCodeList.LoadFromFile(ExtractFilePath(Application.EXEName) + 'ZipCodes.dat'); end; procedure TformMain.FormDestroy(Sender: TObject); begin ZipCodeList.Free; end; end. The only parts that are Indy specific are the IdTCPServer1 component, IdTCPServer1Connect method, and the IdTCPServer1Execute method. 8

Internet Direct (Indy) Version 10.1.5

Introduction to Indy IdTCPServer1 is a TIdTCPServer and is a component on the form. The following properties were altered from the default:

• Active = True - Set the server to listen when the application is run. • DefaultPort = 6000 - An arbitrary number for this demo. This is the port the listener will listen on for incoming client requests. The IdTCPServer1Execute method is hooked to the OnExecute event of the server. The OnExecute event is fired by the server after a client connection has been accepted. The OnExecute event is uniquely different from other events you may be familiar with. OnExecute is executed in the context of a thread. The thread the event is called from is passed in the AThread argument of the method. This is important as many OnExecute events may be executing at the same time. This was done with an event so that a server could be built without the requirement of building a new component. There are also methods that can be overridden when descendant components are created. The OnConnect is called after a connection has been accepted, and a thread created for it. In this server it is used to send the welcome message to the client. This could also be done in the OnExecute event if desired. The OnExecute event will be called repeatedly until the connection is disconnected or broken. This eliminates the need to check the connection and loop inside the event. IdTCPServer1Execute uses two basic Indy functions, ReadLn and WriteLn. ReadLn reads a line from the connection and WriteLn writes a line to the connection. sCommand := ReadLn; The above line reads the command from the client and puts the input into the local string variable sCommand. if SameText(sCommand, 'QUIT') then begin Disconnect; end else if SameText(Copy(sCommand, 1, 8), 'ZipCode ') then begin WriteLn(ZipCodeList.Values[Copy(sCommand, 9, MaxInt)]); end; Next the input in sCommand is parsed to see which command the client issued. If the command is "Quit" the connection is disconnected. No more reading or writing of the connection is permitted after a disconnect call. When the event is exited after this, the listener will not call it again. The listener will clean up the thread and the connection. If the command is "ZipCode" the parameter after the command is extracted and used to look up the city and state. The city and state is then written to the connection, or an empty string if one a match for the parameter is not found. Finally the method is exited. The server will recall the event again as long as the connection is connected, allowing the client to issue multiple commands.

Client Source Code unit ClientMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient; type TformMain = class(TForm) Client: TIdTCPClient; IdAntiFreeze1: TIdAntiFreeze; Panel1: TPanel; Panel2: TPanel; memoInput: TMemo; lboxResults: TListBox; Internet Direct (Indy) Version 10.1.5

9

Introduction to Indy Panel3: TPanel; Button1: TButton; Button2: TButton; Label1: TLabel; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private public end; var formMain: TformMain; implementation {R *.DFM} procedure TformMain.Button2Click(Sender: TObject); begin memoInput.Clear; lboxResults.Clear; end; procedure TformMain.Button1Click(Sender: TObject); var i: integer; s: string; begin butnLookup.Enabled := true; try lboxResults.Clear; with Client do begin Connect; try lboxResults.Items.Add(ReadLn); for i := 0 to memoInput.Lines.Count - 1 do begin WriteLn('ZipCode ' + memoInput.Lines[i]); lboxResults.Items.Add(memoInput.Lines[i]); s := ReadLn; if s = '' then begin s := '-- No entry found for this zip code.'; end; lboxResults.Items.Add(s); lboxResults.Items.Add(''); end; WriteLn('Quit'); finally Disconnect; end; end; finally butnLookup.Enabled := true; end; end; end. The only parts that are Indy specific are the Client component and the Button1Click method. Client is a TIdTCPClient and is a component on the form. The following properties were altered from the default:

• Host = 127.0.0.1 - Host was set to contact a server on the same machine as the client. • Port = 6000 - An arbitrary number for this demo. This is the port that the client will contact the server with. Button1Click is a method that is hooked to the OnClick event of Button1. When the button is clicked it executes this method. The Indy portion of this method can be reduced to the following:

10

Internet Direct (Indy) Version 10.1.5

Introduction to Indy 1. Connect to Server ( Connect; ) 2. Read welcome message from the server. 3. For each line the user entered in the TMemo: 1. Send request to server (WriteLn('ZipCode ' + memoInput.Lines[i]);) 2. Read response from server (s := ReadLn;) 4. Send Quit command ( WriteLn('Quit'); ) 5. Disconnect (Disconnect;)

Testing These demos were pre-tested and will work as long as TCP/IP is installed and active on your system. You can change this to run across the network from one computer to another by running the server on another computer and changing the host property of the client to the IP or TCP/IP name of the machine the server is running on. Otherwise it will look for the server on the same computer as the client. To test the projects, compile and run the server. Then compile and run the client. Enter a zip code(s) into the memo field on the left and click lookup.

Debugging Plain text protocols can be debugged easily because they can be tested using a telnet session. To do this you merely need to know what port the server is running on. Zip Code Lookup Server listens on port 6000. Run Zip Code Lookup Server again. Next open a command window (a.k.a Dos Window). Now type: telnet 127.0.0.1 6000 You are now connected to the Zip Code Lookup Server. Some servers will greet you with a welcome message. This one does not. You will not see your keystrokes. Most servers do not echo the commands as it would be a waste of bandwidth. You can however change your telnet settings by setting "Echo On". Different telnet clients will call this feature different things. A few do not even have this option. Now type: zipcode 37642 You will see the server respond with: CHURCH HILL, TN To disconnect from the server enter: quit

Example 2 - DB Access This demo will simulate a server that must perform a blocking task other than a socket call. Many servers have this requirement. Servers that need to make database calls, calls to external routines, or calculations often cannot break up the logic of the calls as they are external calls, or complexity defies this. Calls to a database cannot be broken up into smaller calls and the developer must wait for the database call to return. This is not limited to database calls. Compression, calculations, or other processing can all fall into this category. For the sake of demonstration, imagine that this server makes a call to a database with a SQL statement that takes 5 seconds to execute. To simplify the demo, a Sleep(5000) has been substituted. This example will also be covered in much less detail than the previous example as many of the concepts should now be understandable.

Internet Direct (Indy) Version 10.1.5

11

Introduction to Indy

Source Code unit main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPServer; type TformMain = class(TForm) IdTCPServer1: TIdTCPServer; procedure IdTCPServer1Execute(AThread: TIdPeerThread); private public end; var formMain: TformMain; implementation {R *.DFM} procedure TformMain.IdTCPServer1Execute(AThread: TIdPeerThread); var i: integer; begin with AThread.Connection do begin WriteLn('Hello. DB Server ready.'); i := StrToIntDef(ReadLn, 0); // Sleep is substituted for a long DB or other call Sleep(5000); WriteLn(IntToStr(i * 7)); Disconnect; end; end; end. Since the Execute event occurs within the context of a thread, the processing code can take as long as necessary. Each client will have its own thread and will not block other clients.

Testing To test the DB Server, compile and run it. Telnet to it on port 6001. The server will respond with a welcome message. Enter a number. The server will "process" your request and return 5 seconds later with the answer.

More! This article is an extract from the book Indy in Depth. Indy in Depth is an e-book which you can subscribe to and receive the complete book by e-mail. Also check out the Atozed Indy Portal at www.atozedsoftware.com. Additional information is available at the following sites:

12



Building Kylix Applications



Chapter 20 - Overview of Internet Direct



Chapter 21 - Using Internet Direct



Building Kylix Applications Website

Internet Direct (Indy) Version 10.1.5

Introduction to Indy

About the Author Chad Z. Hower, a.k.a. "Kudzu" is the original author and project coordinator for Internet Direct (Indy). Indy consists of over 110 components and is included as a part of Delphi, Kylix and C++ Builder. Chad's background includes work in the employment, security, chemical, energy, trading, telecommunications, wireless, and insurance industries. Chad's area of specialty is TCP/IP networking and programming, inter-process communication, distributed computing, Internet protocols, and object-oriented programming. When not programming, he likes to cycle, kayak, hike, downhill ski, drive, and do just about anything outdoors. Chad, whose motto is "Programming is an art form that fights back", also posts free articles, programs, utilities and other oddities at Kudzu World at http://www.Hower.org/Kudzu/. Chad is an American ex-patriate who currently spends his summers in St. Petersburg, Russia and his winters in Limassol, Cyprus. Chad can be reached using this form. Chad works as a Senior Developer for Atozed Software.

Internet Direct (Indy) Version 10.1.5

13

Licenses

Licenses Internet Direct (Indy) is dual licensed. You can review which license better suits your needs, and use that license. You can even change your mind later if you have previously chosen one.

The Indy BSD License The Indy BSD license is a very no nonsense license that allows you to do almost anything you want with Indy, provided you provide proper attribution. The Indy BSD License can be found at: http://www.nevrona.com/Indy/BSDLicense.html.

The Indy MPL License To make it easier and consistent for JEDI users, we also offer an MPL v1.1 (Mozilla Public License). The Indy MPL License can be found at: http://www.mozilla.org/MPL/MPL-1.1.html . Mozilla is the Open Source initiative formulated by Netscape for the next generation of their web browsers. Netscape states "We believe this license satisfies the Debian Free Software Guidelines which provide a commonly accepted definition of "free software," much like other free software licenses such as GPL or BSD." Project JEDI's implementation of the MPL allows developers to use its code in their applications ("Larger Work") regardless of whether the intended distribution will be in the public domain or as commercial applications, as long as the license conditions are met. For a more detailed explanation, an annotated version of the license is available at: Annotated MPL License (http://www.mozilla.org/MPL/annotated.html)

14

Internet Direct (Indy) Version 10.1.5

Technical Support

Technical Support How and where to get technical support for Internet Direct (Indy).

Where can I get technical support? Indy technical support is available from several sources. Consult the Indy web site for updated materials, including:



Source Code



Documentation



Demos



KnowledgeBase



FAQ



Articles

Read First! Please do NOT send email directly to the members of the Indy Pit Crew unless specifically requested to do so (typically when a crew member needs additional information) or responding to an email from a member of the Indy Pit Crew. Due to the amount of time the members of the Indy Pit Crew spend in the newsgroups while still earning their daily bread, they are unable to respond to technical questions via email. Technical questions are best directed to the appropriate newsgroup. If you require fast priority answers beyond what we provide freely out of our spare time and of our own free will with no financial compensation, please see the paid support options below. Even with paid support, since Indy itself is completely free, it is still a cheap option. If you are still not convinced why you should not send us mail directly please consider the following additional items:

• Indy is developed using a team approach. This means that certain people are responsible for certain parts of code. By sending email, you likely have sent it to the wrong person or perhaps someone who cannot quickly determine the answer.

• Email reaches one person and thus puts the load completely on that person. By using the options below, the complete Indy Pit Crew as well as many other Indy users will see your question and the appropriate person will be able to respond. In addition you are likely to receive a variety of answers from different people to further assist you.

• Also, please read How To Ask Questions The Smart Way.

Technical Articles and FAQ Many answers can be found in the technical articles listed at this web site and the FAQ. Please read these to see if the answer your questions.

Internet Direct (Indy) Version 10.1.5

15

Technical Support

Commercial Priority Support

Indy Experts Support Open source software is fantastic, but often lacks support. Indy Experts Support solves this problem for Indy. Indy Experts Support provides your company with priority e-mail and phone support in a very cost effective manner. Indy Experts Support includes:

• Priority e-mail support • Phone support • Direct access to Indy authors and project leaders • Custom code snippets and small projects • Priority bug fixes and Code review. • Consulting via Indy Consulting The Indy Experts Support team consists of the foremost experts in Indy:

• Chad Z. Hower - Original Author and Project Leader of Indy • Hadi Hariri - Project Co-Leader of Indy • Bas Gooijen - Prominent Indy Core Team Member

Peer Support Team Indy often answers questions related to using Indy on the public newsgroups and in discussion forums. Team Indy monitors these groups regularly. By using them , everyone can benefit from the information resulting from your post.

Indy Newsgroups Peer technical support for Indy is available on public newsgroups or web forums. Web access to the Indy Newsgroups is provided by Atozed Software. For NNTP access, use the news.atozed.com newsgroup. This is not a web address and you will need a news reader such as Outlook Express or other to access them.

Yahoo Groups Use the Indy-Dev-Public discussion group to discuss Indy with other developers.

SSL Support Intellicom hosts an SSL support forum. This forum is specifically for issues related to using OpenSSL with the Indy library.

Borland Forums If you are using Borland products, you can also use forums hosted by Borland. Borland hosts the following NNTP newsgroups at forums.borland.com:

16

Internet Direct (Indy) Version 10.1.5

Technical Support •

borland.public.delphi.internet.winsock



borland.public.cppbuilder.internet.socket



borland.public.kylix.internet.sockets

If you cannot access these groups using NNTP, you can use your web browser and the web interface at http://newsgroups.borland.com.

Problem and Bug Reporting Please help us to help you by following the following thse guidelines, or the most recent ones on the Indy Bug Page. The Indy Bug Page. is available for access by the general public. Posting access is restricted in the new bug system (for the time being). In the future, we will open it up to more users as we formulate a reliable and efficient user verification method.

Browse the Bug List Check the bug list to see if a bug has already been reported. Please do not report bugs for Indy 9 unless they are critical or at least rather important. Indy 9 is in a state of near freeze and Indy 10 is the focus of our development. Check the dev snapshot and see if it still exists. If it is still an issue, please use the newsgroups or web forums to report the bug where a user with a bug system account can pre screen it and enter it into the bug system.

Newsgroups NNTP Access - Atozed Software hosts free peer support Indy Newsgroups at news.atozed.com. This is not a web address and you will need a news reader such as Outlook Express or other to access them.

Web Forums Web Forums - The newsgroups can be accessed by a web gateway for those who prefer a web interface or cannot reach the news server because of firewall or other issues.

Please use the appropriate groups Please post Indy questions only in atozedsoftware.indy.* newsgroups • and not in the other groups! It should be obvious that .announce, .intraweb and other are not Indy forums however some users insist on irritating other users if their question is not answered in the Indy forums. Indy questions posted in non Indy forums will not be answered and may result your being banned from the server. The Indy news groups are atozedsoftware.indy.*. If you find any problems with the bug system itself, please be kind enough to report them in the atozedsoftware.bugbegone.general newsgroup .

Internet Direct (Indy) Version 10.1.5

17

Project Links

Project Links The following are some useful links for accessing resources related to the Internet Direct (Indy) project:

• Indy Project Home Page • Indy.Sockets Home Page • Indy.Docs Home Page •

Indy.Sockets Source Code



Indy.Sockets Documentation



Indy.Sockets Demos



Indy.Sockets KnowledgeBase



Indy.Sockets FAQ



Indy.Sockets Articles

• Indy Newsgroupsat Atozed Software • Indy-Dev-Public Discussion Group • SSL support forum at Intelicom. • newsgroups.borland.com •

borland.public.delphi.internet.winsock



borland.public.cppbuilder.internet.socket



borland.public.kylix.internet.sockets

• Borland newsgroups on the Web. • Indy Bug List.

18

Internet Direct (Indy) Version 10.1.5

Sponsors and Donors

Sponsors and Donors Sponsors and Donors for the Internet Direct (Indy) project.

Corporate Sponsors The following companies have provided products, services, or resources that are used by the Indy project.

Nevrona Designs Nevrona Designs is one of the primary Corporate sponsors for the Open Source Internet Direct (Indy.Sockets) project. Nevrona Designs is a producer of tools for Delphi and C++ developers that include:

• Rave Visual and Code-Based Reporting Tool • ReportPrinter Pro • IndyPro • AdHocery • ND-Patterns • ND-Source Nevrona Designs also provides World-Wide-Web and FTP hosting for the Internet Direct (Indy.Sockets) project.

Atozed Software Atozed Software distributes and licenses developer tools and consumer software products. Atozed also provides offshore development, and training services. Atozed Software believes in strong customer support, rapid development of products, and close contact with its customer base to produce the best products possible. Atozed Software provides Consumer Software, including:

• A to Z Project Billing. • ELK News • IntraWeb • IntraWeb Studio Atozed Software provides Developer Tools for Borland, Java, and Visual Studio delvelopment environments, including:

• Indy Plus • Indy in Depth • Indy Install • Indy News • Indy Experts Atozed Software also hosts the Indy Portal Site for Internet Direct-related news, consulting, training, support, articles, demos, and more. Internet Direct (Indy) Version 10.1.5

19

Sponsors and Donors

GIT (Gestion et Informatique pour Tous S.A.) GIT (Gestion et Informatique pour Tous S.A.) was founded in 1981, in the early days of micro-computers. The founders decided to create professional software packages, easily used without specific special computer knowledge and at an affordable price, even for small and medium-sized businesses. This formula has been a key factor in the company's success. For 20 years, thanks to our team, our clients and friends, we have created user-friendly software packages adapted to the needs of EVERY ONE, from the smallest to the largest, from individuals to multinationals. Constantly in touch with our customers and with their help, we have moved forward, followed the most sophisticated technical advances and developed a business using the guidelines of creativity, management and service. Solidly implanted in the Geneva market, GIT continues its expansion in Switzerland, in Europe and throughout the world, while remaining faithful to its principles : independence, creativity and professionalism. It is worth noting that GIT already has over 3500 clients in more than 82 countries.

Donors The following organizations have donated software and licenses for tools used in maintaining Indy projects:

• Atozed Software has donated IntraWeb Studio which is used to maintain the Indy Project website.

• VSoft Technologies has donated FinalBuilder which is used to perform builds for Indy.Sockets and Indy.Docs distributables.

• ToolsFactory has donated Doc-O-Matic which is used to capture, maintain, and generate the documentation for the Indy.Docs project.

• Borland maintains a StarTeam server and repositiory which is used for version control in the Indy.Sockets project.

• Quality Software Components has donated TeamCoherence which is used for version control in the Indy.Data project.

20

Internet Direct (Indy) Version 10.1.5

Credits

Credits Participants in the Internet Direct (Indy) project.

Internet Direct (Indy)

Project Organizer:

Chad Z. Hower (aka Kudzu)

Mercury Team The Mercury Team is the Indy "Steering Committee", and makes all the executive decisions affecting the project.

Chairperson:

Chad Z. Hower (aka Kudzu)

Vice-Chairperson:

Hadi Hariri

Mercury Team Members (Alphabetically by last name):

Bas Gooijen Jim Gunkel Stéphane Grobéty Hadi Hariri Mark Holmes Chad Z. Hower (aka Kudzu) Gregor Ibic Remy Lebeau Andrew Peter Mee Rune Moberg J. Peter Mugaas Allen O'Neill Andrew Neillans Don Siders Jon Skeet

Indy Core Team (aka the "Indy Pit Crew") The Indy Core Team is the team that actively works on the core. protocol, and system packages. The Core Team works both on its own as well as with members of the Dev Team. All changes that are merged into the Indy core are done via this Team. Members of the Indy Core Team are chosen from members of the Dev Team from time to time. If you want to become a part of the Internet Direct (Indy) Version 10.1.5

21

Credits core team, join the Dev Team and get active!

Chairperson:

Chad Z. Hower (aka Kudzu)

Vice-Chairperson:

Hadi Hariri

Indy Core is further divided into sub teams or comittees:

Indy Core Team

Chairperson:

Chad Z. Hower (aka Kudzu)

Indy Protocols Team

Chairperson:

Stéphane Grobéty

Chairperson:

Bas Gooijen

QA and Box Testing

Chairperson:

Indy Core Team Members (Alphabetically by last name):

Allen Bauer Doychin Bondzhev Marco Cantu Dennies Chang Chuck Chopp Marc Clifton Idan Cohen Ciaran Costelloe Andrew Cumming Yahia El-Qasem Mattias Fagerlund Holger Flick Bas Gooijen Owen Green Grahame Grieve Stéphane Grobéty

22

Internet Direct (Indy) Version 10.1.5

Credits

Simon Grossenbacher Félix Guillemot Jim Gunkel Andreas Hausladen Henrick Hellström Eric Hill Benedikt Hochstrasser Mark Holmes Chad Z. Hower (aka Kudzu) Gregor Ibic Patric Ionescu John Jacobson Darren Kosinski Remy Lebeau Jack Mays Bruce McGee Andrew Peter Mee Joerg Meier Ryan Mills Olaf Monien J. Peter Mugaas Andrew Neillans Dave Nottage Allen O'Neill Jan Pedersen Sergio Perry Tommi Prami Yahia El-Qasem Slaven Radic Andrew P. Rybin Don Siders Byron Smith Jason Southwell Ben Taylor Matthijs ter Woord Vladimir Vassiliev Colin Wilson Vadim Yakovlev

Retired / Past Members / Contributors

Internet Direct (Indy) Version 10.1.5

23

Credits

Johannes Berg Alex Brainman Daaron Dwyer Roman Evstyunichev Russell Garner Gordon Hamm Victor Ho Keith Peter Johnson Michael Justin Alex Konshin Amedeo Lanza Laurence Liew R. Brian Lindahl Mark Lussier Dr. Harley J. Mackenzie Ray Malone Rune Moberg Mario Mueller Ozz Nixon Dave Nosker Chuck Smith Charles Stack Steve 'Sly' Williams

Indy Demo Team The Demo Team is for those interested in contributing and/or discussing issues for the current Indy Demos.

Chairperson:

Allen O'Neill

Indy Documentation Team The Indy Docs Team is a volunteer effort to provide documentation for the Internet Direct (Indy) component suite. The Docs Team is for those interested in contributing and/or discussing issues for the Indy Documentation.

Chairperson:

Don Siders

Indy Docs Team Members (Alphabetically by last name):

24

Internet Direct (Indy) Version 10.1.5

Credits

Chad Z. Hower (Kudzu) Stéphane Grobéty Hadi Hariri J. Peter Mugaas

Indy Distribution Team The Indy Distribution Team is the team that prepares Indy source code and help files releases for distribution to the Open Source community.

Chairperson:

J. Peter Mugaas

Indy Dev Team The Indy Dev Team is for those interested in contributing and/or discussing issues for the current Indy core. The Dev Team has read only access to the current core as well as direct access to members of the Core Team. Any one interested in developing for the Indy core should start here. This team is also open to lurkers and learners. Contributions are not required.

Chairperson:

Chad Z. Hower (Kudzu)

Vice-Chairperson:

Hadi Hariri

Internet Direct (Indy) Version 10.1.5

25

Introduction to Indy.Sockets version 10 An introduction to Internet Direct (Indy) version 10.

Internet Direct (Indy) Version 10.1.5

27

What's new in Indy.Sockets Version 10?

What's new in Indy.Sockets Version 10? Indy 10 represents the next evolution of the open source Internet component suite. Indy is the most comprehensive socket library available for any language and contains support for TCP, UDP, ICMP, SMTP, POP3, IMAP4, HTTP, NNTP, FTP, and many more protocols. In fact, Indy implements more than 120 protocols and Internet standards!

.Net Platform Support Indy 10 adds to its impressive list of supported platforms by including support for the the .Net framework in the new release. Indy 10 supports the .Net platform using DCCIL and the Delphi .Net compiler. By using DCCIL, Indy 10 can be used in Delphi 2005, as well as other .Net hosted languages like C#, ASP.NET, Visual Basic.Net, and J#.Net. Borland IDE userws can build packages or assemblies directly from the Indy.Sockets source code. Pre-compiled assemblies are available for use with other IDEs.

IP Version 6 Address Support Support for the IP Version 6 address family has been added for all TCP- and UDP-based clients and servers. If IPv6 addresses are supported for your platform or Operating System, Indy 10 allows their use.

Support for the Windows Fiber and IOCP APIs Indy 10 provides experimental support for the Fiber and I/O Completion Ports API in the Windows platforms. This support is designed to aid in creating more scalable servers where thousands of simultaneous client connections are required. For small- and medium-sized projects, the traditional thread-based servers are still available. Fiber and IOCP APIs are supported only for the Windows 2000, 2003, and XP operating systems using Delphi version 7. Windows 95, 98, and ME are not supported. Delphi compilers prior to version 7 are also unsupported due to critical changes in the VCL since those releases.

Additions to the Indy Library Indy 10 includes many additions that improve support for common Internet Standards on the platforms supported by the Indy library, including:

• Memory, Stream, and File based mail attachments • Additional character sets supported in mail messages • BinHex encoding and decoding in mail messages • YEnc encoding and decoding in mail messages • Additional transparent proxy support • HTTP Proxy server component • WebDAV client • Socks server component • DNS server component • Transport Level Security (TLS) support • SASL authentication support 28

Internet Direct (Indy) Version 10.1.5

What's new in Indy.Sockets Version 10? • OTP support • Many additional parsers for FTP list formats • SHA1 hashing algorithm • IP Address monitor for all IP addresses and adapters • IP Multicast server component • SMTP Relay component • VCL and .Net stream wrapper classes

Internet Direct (Indy) Version 10.1.5

29

Packages and Assemblies

Packages and Assemblies An overview of the Packages and Assemblies in the Internet Direct (Indy) source code.

Indy.Sockets Packages The source code in the Indy 10 library has been reorganized into the following packages:

• IndySystem • IndyCore • IndyProtocols • IndySuperCore (for use with Delphi 7 only) Each package (and the source files used in the package) are stored in separate directories. For example, Delphi 2005 could have Indy package files and source code in the following directories:

C:\Program Files\Borland\BDS\3.0\Source\Indy10\System C:\Program Files\Borland\BDS\3.0\Source\Indy10\Core C:\Program Files\Borland\BDS\3.0\Source\Indy10\Protocols Each package includes a run-time .DPK file for Delphi compiler versions 4, 5, 6, 7, 2005 (and beyond). For packages that also include installable IDE components, there is also a design-time .DPK file for Delphi compiler versions 4, 5, 6, 7, 2005 (and beyond). The compiler version is used as a suffix in the package file name. For example, Delphi 2005 (compiler version 9.0) uses the suffix '90' in all package file names.

Delphi 5 Packages

Path

Run-time Package

Design-time Package

.\System

IndySystem50.dpk

n/a

.\Core

IndyCore50.dpk

dclIndyCore50.dpk

.\Protocols

IndyProtocols50.dpk

dclIndyProtocols50.dpk

Path

Run-time Package

Design-time Package

.\System

IndySystem60.dpk

n/a

.\Core

IndyCore60.dpk

dclIndyCore60.dpk

.\Protocols

IndyProtocols60.dpk

dclIndyProtocols60.dpk

Delphi 6 Packages

30

Internet Direct (Indy) Version 10.1.5

Packages and Assemblies

Delphi 7 Packages

Path

Run-time Package

Design-time Package

.\System

IndySystem70.dpk

n/a

.\Core

IndyCore70.dpk

dclIndyCore70.dpk

.\Protocols

IndyProtocols70.dpk

dclIndyProtocols70.dpk

.\SuperCore

IndySuperCore70.dpk

dclIndySuperCore70.dpk

Delphi 2005 VCL Packages

Path

Run-time Package

Design-time Package

.\System

IndySystem90.dpk

n/a

.\Core

IndyCore90.dpk

dclIndyCore90.dpk

.\Protocols

IndyProtocols90.dpk

dclIndyProtocols90.dpk

Delphi 2005 .NET Packages

Path

Run-time Package

Design-time Package

.\System

IndySystem90Net.dpk

n/a

.\Core

IndyCore90Net.dpk

dclIndyCore90Net.dpk

.\Protocols

IndyProtocols90Net.dpk

dclIndyProtocols90Net.dpk

Delphi 2006 VCL Packages

Path

Run-time Package

Design-time Package

.\System

IndySystem100.dpk

n/a

.\Core

IndyCore100.dpk

dclIndyCore100.dpk

.\Protocols

IndyProtocols100.dpk

dclIndyProtocols100.dpk

Delphi 2006 .NET Packages

Path

Run-time Package

Design-time Package

.\System

IndySystem100Net.dpk

n/a

.\Core

IndyCore100Net.dpk

dclIndyCore100Net.dpk

.\Protocols

IndyProtocols100Net.dpk

dclIndyProtocols100Net.dpk

If you are using a version of Indy.Sockets that is installed along with the Borland Developer Studio 2006 IDE and compilers, the Internet Direct (Indy) Version 10.1.5

31

Packages and Assemblies compiler verison suffix is omitted from the package names. For Instance:

Delphi 2006 Borland-Installed .NET Packages

Path

Run-time Package

Design-time Package

.\System

IndySystem.dpk

n/a

.\Core

IndyCore.dpk

dclIndyCore.dpk

.\Protocols

IndyProtocols.dpk

dclIndyProtocols.dpk

Delphi 2006 Borland-Installed Win32 Packages

Path

Run-time Package

Design-time Package

.\System

IndySystem.dpkw

n/a

.\Core

IndyCore.dpkw

dclIndyCore.dpkw

.\Protocols

IndyProtocols.dpkw

dclIndyProtocols.dpkw

The IndySystem Package The IndySystem package (IndySystemXX.dpk) provides system-level support for constructs used in the Indy library. For instance:

• Winsock2 header translations • Socket handle classes for supported platforms • Stream implementations for VCL and .Net • Run-time library support classes for VCL, VCL.Net, and the .Net FCL • Utility Classes/Procedures/Functions • Exceptions • The base component in the Indy library • GUI integration classes for blocking socket operations

The IndyCore Package The IndyCore package includes the essential base classes and components needed to implement ICMP, TCP, and UDP clients or servers, including:

• Buffers used for reading and writing in the Indy library • An ICMP client • A TCP client and server • A TCP client and server that implement support for command handlers • A UDP client and server • IP address classes • IOHandlers 32

Internet Direct (Indy) Version 10.1.5

Packages and Assemblies • Intercepts • Logging components • RFC-compliant message response formats • Threads • Thread-safe data types • A design-time GUI integration class The IndyCore package does not include support for any of the higher-level protocols.

The IndyProtocols Package The IndyProtocols package implements classes need to create and support clients and servers for Internet Standard protocols, like:

HTTP

QOTD

FTP

RSH

SMTP

SASL

NNTP

SNMP

POP3

Socks

IMAP4

SysStat

DNS

TFTP

Finger

WebDAV

Gopher

Hashing algorithms

HL7

MIME, UUE, and XXE message handling

Ident

Encryption and Decryption

WhoIs

Compression using ZLib

SNTP

Cookies

Time

URI

Echo

VCard

The IndySuperCore Package The IndySuperCore package provides support for advance functionality available on Windows server platforms for the Fibers API, I/O Completion Ports, and chained IOHandlers. The IndySuperCore package is designed to aid in creating more scalable servers where thousands of simultaneous client connections are required. Fiber and IOCP APIs are supported only for the Windows 2000, 2003, and XP operating systems using Delphi version 7. Windows 95, 98, and ME are not supported. Delphi compilers prior to version 7 are also unsupported due to critical changes in the VCL since those releases. For more detailed information about differences in the implementations for the Indy 9 and Indy 10 libraries, please refer to the "Migrating to Indy 10" section in the documentation.

.Net Assemblies Indy.Sockets is developed using the Delphi programming language (formerly know as Object Pascal). Borland IDE users can compile packages and assemblies using the package files included in the source code for the library. For users on .NET platform that do not include support for the Delphi language (including VS.NET and Mono), the Indy.Sockets.DLL pre-compiled assembly is Internet Direct (Indy) Version 10.1.5

33

Packages and Assemblies available from the Indy website.

34

Internet Direct (Indy) Version 10.1.5

Installing and Un-installing

Installing and Un-installing An overview of Installing and Removing Internet Direct (Indy) packages using various IDEs.

Installation in Borland IDEs Installing Indy.Sockets in a Borland IDE involves using the run-time and design-time packages files for the target platform (Win32 or .NET) to compile the source code in the library. After compiling the packages and source code, design-time packages are installed in the IDE to make the components available on the component palette. Make sure that any previous version of Indy is removed before installing the new version (see below).

Paths and Options Indy source code is normally stored in a directory in a path used for source code for the compiler. For instance:

C:\Program Files\Borland\bds\3.0\source\Indy10 C:\Program Files\Borland\bds\3.0\source\Indy10\System C:\Program Files\Borland\bds\3.0\source\Indy10\Core C:\Program Files\Borland\bds\3.0\source\Indy10\Protocols The actual directory names can differ if you're using a version of Indy installed as part of the Borland IDE Installation. The directory names may need to be changed if you want to use a different path, or a path that is shared between several IDE versions. When building Packages, there are project/package options that allow the end-user to specify where the compiled output of the package and its units are stored.

Option

Usage

Output directory

Specifies where the compiler should put the Delphi compiled units and the executable file.

Unit output Specifies a separate directory to contain the .dcu (Win32) or .dcuil (.NET) files. The location of these files can be directory changed on the Tools -> Delphi -> Options -> Library menu by setting the DCP/DCPIL output directory path. Search path Specifies the location of your source files. Only those files on the compiler's search path or the library search path will be included in the build. If you try to build your project with a file not on the search path, you will receive a compiler error. You must include the entire search path. Separate multiple directory path names with a semicolons. Whitespace before or after the semicolon is allowed but not required. Relative and absolute path names are allowed, including path names relative to the current position. If you check the Use Debug DCUILs option on the Project -> Options -> Compiler menu, the Debug DCUIL path from Tools -> Debugger -> Options -> Borland .NET Debugger is prepended to this search path.

Internet Direct (Indy) Version 10.1.5

35

Installing and Un-installing

Debug source path

Specifies the search path for the debugger. The debugger searches paths defined by the compiler by default. If the directory structure has changed since the last compile, a path can be entered here to include a file in the debugging session. For Win32 and .NET Delphi language projects, additional directories will be searched in the following order: 1. Debug Source path (this option). 2. Browsing path, specified on the Tools -> Options -> Delphi -> Options -> Library menu. 3. Debug Source path, specified on the Tools -> Options -> Debugger -> Options -> Borland Debuggers menu.

Package output directory

Specifies where the compiler puts generated package files.

DCP/DCPIL Specifies where the .dcp (Win32) or .dcpil (.NET) file is placed at compilation time. If left blank, the global output dir DCP/DCPIL output directory specified in the Tools -> Options -> Environment -> Options -> Delphi -> Options -> Library menu is used instead. You must manually add any paths changed using the project/package options using the Tools -> Environment Options -> Delphi Options -> Library menu options. These need to be specified separately for Win32 and .NET usage. These options allow you to specify directories, compiler, and linker options for all packages.

Item

Description

Library path

Specifies search paths where compiler can find the source files for the package. The compiler can find only those files listed in the library path. If you try to build your package with a file not on the library path, you will receive a compiler error.

Package output directory

Specifies where the compiler should put compiled packages files.

DCP/DCPIL output directory

Specifies a separate directory to contain the .dcp (Win32) or .dcpil (.NET) files.

Browsing path

Specifies the directories where the Project Browser looks for unit files when it cannot find an identifier on the project search path or source path. For Win32 and .NET Delphi language projects, the directories specified with this option are appended to the debug source path for the project. So the debugger search order for unit files is determined by the following path settings: 1. The Debug Source path, specified on the Project -> Options -> Directories/Conditionals menu. 2. Browsing path 3. The Debug Source path, specified on the Tools -> Options -> Debugger Options -> Borland Debuggers menu.

Debug To use this option, you must set Use Debug DCU/DCUILs on the ProjectOptionsCompiler page. When that option is DCU/DCUIL set and a path is given, the debugger looks for the .dcu (Win32) or .dcuil (.NET) files in this path before looking in path the unit search path. Make sure that the Browsing Path option includes the directories where the Indy.Sockets source code is located, and that the Library option includes a path to the compiler output for the Indy.Sockets packages. Debug Path is required only when a separate pre-compiled version of debug DCUs are stored on your system. For example, add the following to the Browsing path for Borland Delphi 2005 and above:

($BDS)\source\Indy10\System ($BDS)\source\Indy10\Core

36

Internet Direct (Indy) Version 10.1.5

Installing and Un-installing

($BDS)\source\Indy10\Protocols Add the following to the Library path for Borland Delphi 2005 and above:

($BDS)\lib\Indy10 Add the following to the Debug path for Borland Delphi 2005 and above:

($BDS)\lib\debug\Indy10

Delphi and C++ Builder Installation Installing Indy.Sockets in a Borland IDE involves using the run-time and design-time packages files to compile the source code in the library. After compiling the packages and source code, design-time packages are installed in the IDE to make the components available on the component palette. For Delphi and C++ Builder, the run-time package files should be opened and compiled in the following order:

• IndySystem (in Lib\System) • IndyCore (in Lib\Core) • IndyProtocols (in Lib\Protocols) • IndySuperCore (in Lib\SuperCore) (for Delphi 7 only) For Delphi and C++ Builder, the design-time package files should be opened, compiled, and installed in the following order:

• dclIndyCore (in Lib\Core) • dclIndyProtocols (in Lib\Protocols) • dclSuperCore (in Lib\SuperCore) (for Delphi 7 only)

Installation in Kylix For the Kylix IDE, the run-time package files should be opened and compiled in the following order:

• IndySystemK3 (in Lib\System) • IndyCoreK3 (in Lib\Core) • IndyProtocolsK3 (in Lib\Protocols) For the Kylix IDE, the design-time package files should be opened, compiled, and installed in the following order:

• dclIndyCoreK3 (in Lib\Core) • dclIndyProtocolsK3 (in Lib\Protocols) Please note that Kylix (and Linux in general) is case sensitive and you may have to adjust certain paths or filenames to match your system.

Internet Direct (Indy) Version 10.1.5

37

Installing and Un-installing

Installation for Visual Studio.NET To use Indy.Sockets in the Visual Studio.NET IDE (or with Mono), you must have the pre-compiled Indy.Sockets.DLL assembly available on the Indy website. Indy.Sockets is developed using the Delphi (formerly known as Object Pascal) language, so the assembly cannot be rebuilt from the source code using these IDEs. Store the Indy.Sockets.DLL assembly in a path where you can add an Assembly Reference to the project or solution for the file Indy.Sockets.dll. Please not that the Indy.Sockets assembly for .NET does not contain all Indy features and protocols yet. We are adding more and more of them each week. Currently it contains about 95% of the functionality including TCP clients and servers, UDP, FTP, NNTP, SMTP, POP3, IMAP4 (client), and more. Visual Studio .NET Requirements

• .NET Framework version 1.1 • Visual Studio.NET 2003, or any other .NET Development environment. Visual Studio.NET 2002 cannot be used because it does not support the 1.1 framework.

Removing Indy.Sockets from a Borland IDE Removing Indy.Sockets from a Borland IDE generally requires removing the run-time and design-time packages from the list of installed packages in the IDE. If you are using a version of Indy.Sockets that was installed as part of the installation process for the Borland IDE, you will need to use the Borland Installer to remove the components (or use the Add/Remove Program option in the Control Panel). The Borland Installer also includes debug versions of the .OBJ and/or .DCU files which need to be manually deleted. In general, deleting the following files from the specified directories will ensure that the Indy.Sockets version 10 library has been removed.

($BDS)\bin\IndySystem*.bpl ($BDS)\bin\IndyCore*.bpl ($BDS)\bin\IndyProtocols*.bpl ($BDS)\bin\dclIndyCore*.bpl ($BDS)\bin\dclIndyProtocols*.bpl ($BDS)\bin\IndySystem*.dll ($BDS)\bin\IndyCore*.dll ($BDS)\bin\IndyProtocols*.dll ($BDS)\lib\Indy10\Id*.dcu ($BDS)\lib\Indy10\Id*.dcuil ($BDS)\lib\Indy10\Id*.dcpil ($BDS)\lib\Indy10\Indy*.dcp ($BDS)\lib\Indy10\Indy*.dcpil ($BDS)\lib\debug\Indy10\Id*.dcu ($BDS)\lib\debug\Indy10\Id*.dcuil ($BDS)\lib\debug\Indy10\Id*.dcpil ($BDS)\lib\debug\Indy10\Indy*.dcp ($BDS)\lib\debug\Indy10\Indy*.dcpil

38

Internet Direct (Indy) Version 10.1.5

Installing and Un-installing Please note that using the Project/Package options to change paths will result in the previous list being invalid for your Indy.Sockets installation. Use the Browsing, Library, and Debug paths indicated in the Project/Package options when deleting files. Make sure that you also remove any Library path settings in the IDE search paths using the Tools -> Environment Options -> Library menu options.

Internet Direct (Indy) Version 10.1.5

39

Migrating to Indy.Sockets Version 10 Updating any sufficiently large code base always introduces issues of code compatibility. Updating to Internet Direct (Indy) version 10 is no exception to this general rule. Because of bug fixes, new features, refactoring, and requirements for .Net compatibility, some of your Indy 9 code may no longer work. In this section, we'll review some of the issues encountered when migrating from the Indy 9 to the Indy 10 code base. Migrating from earlier Indy versions, including Indy 8 (or even Winshoes), is not discussed in this section. The issues are the same, but they occur on an even larger scale.

Internet Direct (Indy) Version 10.1.5

41

.Net compatibility

.Net compatibility Indy 10 adds to its impressive list of supported platforms by including Windows .Net for the new release. Indy 10 supports the .Net platform using DCCIL and Delphi .Net compiler. By using DCCIL, Indy 10 can be used in Delphi 8 as well as other .Net hosted languages like C#, ASP.NET, Visual Basic.Net, and J#.Net. To accomplish this porting feat, some changes were required of the Indy code base. These changes include the following items specific to supporting the .Net platform:

• Use of CLR, CIL, and MANAGEDCODE compiler defines • Replaced unsafe code for CLR execution • Replaced unsafe types for CLR execution • Modified constructors for visual components • Isolated dependencies on VCL and .Net string handling • Isolated dependencies on VCL and .Net stream implementations

Unsafe Code and Types Some common techniques widely used by programmers in the past may no longer be available for "safe" or "managed" code in .Net. Some of the most prominent items that are no longer available in .NET include:

• Untyped variables • AfterConstruction and BeforeDestruction • Pointers • Sets • Globals • Class cracking • Win32

Pointers Pointers are the typical cause for unsafe code. In modern object-oriented code, pointers have been relegated to infrequent use, mostly for calling operating system API's or interacting with external DLL's. There is no magic replacement for the use of pointers, but there is a multi-faceted approach which includes the use of:

• String Indexes • Object references • IntPtr • Dynamic arrays Because the Pointer type is no longer permitted in managed code, this means that the address of operator (the @ symbol) is no longer permitted. However there is one exception: the @ symbol can still be used with procedure pointers. In this one specific case the @ operator is permitted because the Delphi compiler recognizes this specific case and translates it to a .NET delegate. That is, internally no pointer is used, but the use of the @ symbol is preserved for backwards compatibility.

42

Internet Direct (Indy) Version 10.1.5

.Net compatibility

Buffers (Untyped Variables) Since untyped variables rely on the use of Pointers, they are also no longer available in safe code. Use of untyped variables must be replaced with object references or overloaded methods that accept arguments for specific data types.

Win32 The Win32 API is no longer available in safe code either. However, since Windows is the only current platform for which .NET is released, it is still common place to call the Win32 API directly. This practice makes the code unsafe, and should be avoided or isolated into a separate unmanaged assembly. Instead of calling the Win32 API, FCL or RTL classes should be used when possible. If a Win32 API call must be called, P/Invoke can be used. P/Invoke is a way for safe code to call unsafe code. Delphi does much of the P/Invoke work automatically in a manner similar to calling an extern in Delphi 7. Most Win32 API's have already been mapped in the Windows unit and can be called directly by using this unit.

Globals Globals of all kinds are no longer available. This includes global variables, procedures, and functions. Because everything in .Net is a class, no global procedures or variables can exist. a class. To replace globals, class statics can be used. A static is a variable or method that exists in the class, rather than in a single instance of the class. Delphi has always had static methods that could be called on the class, but the introduction of static variables is new in Delphi 8.

Sets Sets are another item that are not really removed, but implemented in .Net through some compiler magic. When using Delphi code, sets are available and function nearly the same as before. However, if a C# user or Visual Basic user tries to use your set, he will encounter some difficulty. Delphi exports sets as integer values and indexes. They can in fact use them, but the usage will be a bit awkward and require boolean operations. If you are using sets, you should only use them in Delphi code that is not exported. If you need to export set functionality you should rethink the interface and export it as a class instead.

Strings Strings have changed significantly in their implementation, with backward compatibility preserved when possible. The biggest change to the string type is that all strings are now Unicode-enabled. Each character in a Unicode string consists of two bytes (or more), instead of one as before. This does not affect normal string operations, but many developers regularly use strings as dynamic buffers for binary data. Strings can no longer contain binary data. Instead of using strings for binary data, other specifically suited constructs such as byte arrays or binary streams should be used instead. Strings in .NET are also immutable. Immutable is just a fancy word for saying that they are not changeable. Dynamic strings have been a tenet of programming for a long time. Strings in .NET can be changed of course, but not without reallocating storage for the data type and performing copy/update operations for its altered values. In Delphi for .Net, this operation has been implemented transparently, but can have very negative impacts on performance.

StringBuilder .Net provides an FCL class called StringBuilder that is used for manipulating string values. Using StringBuilder, string values can be changed without constant reallocation for the string storage. While StringBuilder solves the problem in .NET, it is not available in Win32. A StringBuilder class is available on the Borland Developer Network for the Win32 platform, and allows use of StringBuilder in both Win32 and .NET. StringBuilder is a good solution for managing dynamic Unicode strings. In many cases, Unicode is not required (or allowed) and Internet Direct (Indy) Version 10.1.5

43

.Net compatibility should be treated as ASCII values. For instance: TCP commands. Indy implements a buffered class that handles binary data, as well as ASCII values called TIdBuffer. Storage in TIdBuffer is allocated a sequence of Byte values, and allows use of the class instance for handling ASCII strings or binary data. TIdBuffer also manages the memory required for the buffer by reducing the number of reallocations needed when adding or removing buffer values.

String Default Values Another difference in strings is the default value for an uninitialized string type. On the Win32 platform, uninitialized strings would always have the value '' (empty string). On the .Net platform, string types are an object reference and are given the uninitialized value of Nil for the object reference. As a result, common coding techniques that check for empty strings (and ignore the value of the object reference) could cause exceptions. Delphi for .Net preserves backward compatibility by masking this difference between the Win32 and .Net platform; checking for '' in the string type value will also check for Nil as the value for the object reference.

AnsiString The AnsiString type is still available in Delphi and produces single byte strings. Use of AnsiString types can adversely affect performance in .Net code, as well. Since .Net is Unicode enabled, passing AnsiString types (when String types are expected) forces conversions to be performed when passing the argument and when receiving the return value. AnsiStrings are safe for usage in Delphi code, but should be replaced with Unicode strings for use with RTL and FCL.

TList and TStrings In the RTL library, TList and TStrings accept an additional "tag" value known as Object for each item in the list. In Win32, this was represented as a Pointer and commonly typecast to other values/types when accessed. For example: MyStringList.AddObject('Line one', Pointer(1)); Since pointers are not available in .NET, this no longer works. However pointers are compatible with TObject, so the code can be changed to: MyStringList.AddObject('Line one', TObject(1)); This code compiles in both .NET and Win32.

Other Items Other Delphi language features are no longer available in the Delphi for .NET environment because they result in "unsafe" code, or used "unsafe" types. These items include RTL types and functions like GetMem, FreeMem, ReAllocMem, FillChar, Move, BlockRead, BlockWrite, and PChar. As a result, code in the Indy library has been rewritten to avoid these platform-specific items.

Stream Implementations in Indy Another area of change in the Indy 10 library is use of stream implementations. In Delphi, TStream has traditionally relied on use of untyped arguments. For Win32, the TStream has relied on the ReadBuffer and WriteBuffer methods and untyped parameters for the buffer used in the operation. While this provided an "easy" way to allow many data types to be read and written, it is incompatible with .NET. TStream in .Net now uses overloaded methods with a specific overload for each supported data type. TIdStream is an Indy class that can assist with these differences. TIdStream is not 100% interface compatible with TStream, but it does accept a TStream in its constructor. It then marshals or proxies its consistent interface onto the differing implementations of TStream for Win32 and .Net. Indy uses the TIdStream class in the library implementation that defines a wrapper for stream classes. TIdStream isolates the differences between stream implementations for the platforms supported by the Indy library. To minimize the number of overloaded methods required for TStream and .Net Stream arguments, TIdStream provides an implicit converter for VCL to .Net stream types. 44

Internet Direct (Indy) Version 10.1.5

.Net compatibility TIdStream overrides the methods used for reading and writing to the stream that isolates the differences between pointers and memory allocation for the .Net platform. Platform specific code is then included that overrides methods that perform read and write operations using the stream wrapper. Many method and operations requiring stream input or output use instances of TIdStream to ensure that platform compatibility is maintained in the library implementation.

Other Type-Specific Issues Some Delphi features like sets and unsigned integers are not CLS-compliant. This does not mean that you can no longer use them in your Delphi code, and it doesn't even mean that you can't export them as part of your cross-language component's public interface. What it does mean is that the compiler will warn you that you are using a non-CLS feature on the .Net platform, and that you should include secondary features that manipulate your non-compliant features in a CLS-compliant way. For example, if you publish a set property, you should also publish methods that can Include() and Exclude() values and methods that can do tests like "This in That". Happily for Delphi users, the CLS is case-insensitive, so that any libraries that 'natively' rely on case differences to separate one identifier from another will have to include case-insensitive aliases. The CLS also requires that all languages use Unicode identifiers. Thus, programmers who don't think in English will be able to use identifiers that make sense to them.

Visual Components and Constructors Constructor and destructor behavior has changed considerably in .Net. Some of these changes extend to the implementation of constructors used for visual components (most of the Indy clients and servers). To account for the differences between the designers used in IDE, and the lack of default parameter values in .Net, the object hierarchy for visual components has been changed to descend from TIdInitializerComponent. TIdInitializerComponent is used to consolidate differences between constructors as implemented in the .Net and VCL environments. In the IDE and in other .Net environment, constructors (for visual components) are generally called without arguments. In the VCL environment, constructors (for visual components) are generally called with an owner for free notifications. TIdInitializerComponent accounts for these differences by implementing overloaded constructors for both platforms that accept the expected arguments. TIdInitializerComponent also implements the protected virtual procedure InitComponent which eliminates the need for overridden constructors in descendant classes. Descendant classes override the InitComponent method to perform component initialization operations that were traditionally reserved for overridden (or overloaded) constructors.

Initialization and Finalization Delphi developers have come to rely on initialization and finalization sections to initialize global variables, create global objects, and more. When using code directly in Delphi 8, initialization and finalization sections work much as they do in Win32 versions of Delphi. But when code is placed in an assembly for use in other .Net languages, Initialization and Finalization sections are called in an unpredictable order. In addition, no interdependencies are permitted between the sections in assemblies. In .Net, classes are not initialized until they are actually used. This causes delayed initialization, and in some cases initialization sections are never called at all. Since Delphi exports units as classes and the initialization sections as class initializers, this causes a behavioral change. In such situations initialization sections are often called much later than before, and in many cases never at all. Initialization sections which self-register classes are particularly problematic as they never get called to register the class, and thus the class is never used, and thus never has its initializer called. For the .Net environment, initialization sections are not called unless a reference has been added for the unit. Delphi for .Net makes initializations and globals part of a "Unit" class. So initialization sections won't get called until the Unit class is used. Delphi 8 EXEs are ok, but assemblies (ie VS.NET and probably asms in some cases when used from a D8 EXE) do not call their initialization sections. This can be solved by using IdBaseComponent in Indy, which iterates through the list of unit classes and forces manual calls to the initialization sections. InitComponent is used to loop through the list of classes in the assembly, and for each named Unit the class Internet Direct (Indy) Version 10.1.5

45

.Net compatibility constructor which causes the initialization section to be called.

46

Internet Direct (Indy) Version 10.1.5

Packages Changes

Packages Changes One significant change in Indy 10 is the reorganization of the library into four separate packages.

• IndySystem • IndyCore • IndyProtocols • IndySuperCore Each package, except IndySystem, consists of both a runtime and designtime .DPK file for Delphi compiler versions 4, 5, 6, 7, 8, Delphi 2005, Delphi 2006, and Kylix 3. (IndySystem has only a runtime .DPK file - the designtime .DPK is not required.) .DPK files for the packages include the package name and the compiler version as part of the package file name. For instance, the IndySystem package file for Delphi 7 is represented by the following: IndySystem70.dpk For platforms that offer support for .Net, the package file naming convention is similar but includes a suffix that indicates support for the .Net platform. For example: IndySystem80Net.dpk For packages that include designtime components, an additional package file is available. For instance, the designtime IndyCore package file for Delphi 7 is represented by the following: dclIndyCore70.dpk .DPK files are located in the same directory as the source code for the package. The following is a list of the package file names and directory names relative to the Indy installation directory:

Indy Packages for Delphi 4 Pro and Enterprise

.\System\IndySystem40.dpk .\Core\IndyCore.40.dpk .\Core\dclIndyCore.40.dpk .\Protocols\IndyProtocols40.dpk .\Protocols\dclIndyProtocols40.dpk

Indy Packages for Delphi 5

.\System\IndySystem50.dpk .\Core\IndyCore.50.dpk .\Core\dclIndyCore.50.dpk .\Protocols\IndyProtocols50.dpk .\Protocols\dclIndyProtocols50.dpk

Internet Direct (Indy) Version 10.1.5

47

Packages Changes

Indy Packages for Delphi 6

.\System\IndySystem60.dpk .\Core\IndyCore.60.dpk .\Core\dclIndyCore.60.dpk .\Protocols\IndyProtocols60.dpk .\Protocols\dclIndyProtocols60.dpk

Indy Packages for Delphi 7

.\System\IndySystem70.dpk .\Core\IndyCore.70.dpk .\Core\dclIndyCore.70.dpk .\Protocols\IndyProtocols70.dpk .\Protocols\dclIndyProtocols70.dpk .\SuperCore\IndySuperCore.70.dpk .\SuperCore\dclIndySuperCore.70.dpk

Indy Packages for Delphi 8

.\System\IndySystem80Net.dpk .\Core\IndyCore.80Net.dpk .\Core\dclIndyCore.80Net.dpk .\Protocols\IndyProtocols80Net.dpk .\Protocols\dclIndyProtocols80Net.dpk

Indy Packages for Delphi 2005 (Win32 support)

.\System\IndySystem90.dpk .\Core\IndyCore.90.dpk .\Core\dclIndyCore.90.dpk .\Protocols\IndyProtocols90.dpk .\Protocols\dclIndyProtocols90.dpk

Indy Packages for Delphi 2005 (.Net support)

48

Internet Direct (Indy) Version 10.1.5

Packages Changes

.\System\IndySystem90Net.dpk .\Core\IndyCore.90Net.dpk .\Core\dclIndyCore.90Net.dpk .\Protocols\IndyProtocols90Net.dpk .\Protocols\dclIndyProtocols90Net.dpk

Indy Packages for Delphi 2006 (Win32 support)

.\System\IndySystem90.dpk .\Core\IndyCore.90.dpk .\Core\dclIndyCore.90.dpk .\Protocols\IndyProtocols90.dpk .\Protocols\dclIndyProtocols90.dpk

Indy Packages for Delphi 2006 (.Net support)

.\System\IndySystem100Net.dpk .\Core\IndyCore.100Net.dpk .\Core\dclIndyCore.100Net.dpk .\Protocols\IndyProtocols100Net.dpk .\Protocols\dclIndyProtocols100Net.dpk

Installing Indy Using Package Files Installation of the Indy library using the package files is a very simple process. Package files need to be built in the following order:

• IndySystem • IndyCore • IndyProtocols • (optional) IndySuperCore (for Delphi 7 only) If a package has both runtime and designtime .DPK files, the runtime .DPK must be compiled. The designtime .DPK file must be compiled and installed in the IDE. Since source code resides in separate directories for each package, the directory name for any dependent package must be added to the library search path using the IDE options. For example, the following steps are required to install Indy 10 for Delphi 7 including the optional IndySuperCore package:

Package

Package file name

Action(s)

IndySystem

$(Indy)\System\IndySystem70.dpk

Compile

IndyCore

$(Indy)\Core\IndyCore70.dpk

Compile

IndyCore

$(Indy)\Core\dclIndyCore70.dpk

Compile/Install

IndyProtocols

$(Indy)\Protocols\IndyProtocols70.dpk

Compile

Internet Direct (Indy) Version 10.1.5

49

Packages Changes

IndyProtocols

$(Indy)\Protocols\dclIndyProtocols70.dpk

Compile/Install

IndySuperCore

$(Indy)\SuperCore\IndySuperCore70.dpk

Compile

IndySuperCore

$(Indy)\SuperCore\dclIndySuperCore70.dpk

Compile/Install

Changes to the Uses Clause As a result of package and unit changes, the Uses clause in programs may need to be edited to reflect that the proper file name is in use. This could be a result of different search or library paths in the IDE, but most often it is because something moved from one unit to another unit and can no longer be resolved at compile time. When attempting to open a project created with a prior version of Indy, you may receive warnings about missing properties when loading DFM files. This is caused by Forms or Frames that contain visual Indy components with properties that have been removed or renamed in Indy 10. In most cases, you can Ignore the error message, recompile, and save to the form to eliminate the warning. In the worst case, you may be required to removed the troublesome component and re-add the component in the IDE. For more information about .Net-specific code and issues, please refer to the Delphi documentation in the "Porting Applications to VCL for .Net" section.

50

Internet Direct (Indy) Version 10.1.5

Changes to the Object Hierarchy

Changes to the Object Hierarchy In this section, we will review some specific changes made to the object hierarchy in Indy 10. These changes will have an impact on any code migrated from Indy 9.

TIdInitializerComponent TIdInitializerComponent is a TComponent descendant that acts as the ancestor class for Indy visual components. TIdInitializerComponent is used to consolidate differences between constructors as implemented in the .Net and VCL environments. In the .Net environment, constructors (for visual components) are generally called without arguments. In the VCL environment, constructors (for visual components) are generally called with an owner for free notifications. TIdInitializerComponent accounts for these differences by implementing overloaded constructors for both platforms that accept the expected arguments. TIdInitializerComponent also implements the protected virtual procedure InitComponent which eliminates the need for overridden constructors in descendant classes used as visual components. Descendant classes should override the virtual InitComponent method to perform component initialization operations that were traditionally reserved for overridden (or overloaded) constructors.

TIdTCPConnection There have been some subtle (or not so subtle - depending on your point of view) revisions to the TIdTCPConnection interface in Indy 10. These changes revolve around refactoring involving the IOHandler and Intercept properties. Indy 9 introduced the concept of the IOHandler, which was designed to encapsulate the input and output mechanism used for connecting, disconnecting, sending, and receiving data on the connection. The idea was to provide an interface for IO mechanisms that use streams, files, et al. The difficulty was that methods used to read and write using the IOHandler were included in TIdTCPConnection. Methods often needed to be overloaded in order to accept the correct argument types, and forward the method request to the correct method in the IOHandler property. In Indy 10, this encapsulation has been improved and extended by moving the methods that read or write data into the IOHandler class instance. The same general refactoring has been made for the Intercept property. As a result, code that accessed methods formerly in TIdTCPConnection may need to be updated to use methods that are now located in the TIdTCPConnection.IOHandler or TIdTCPConnection.Intercept properties. In addition, Write methods that included the data type for the buffer argument as part of the method name (like WriteString, WriteInteger, et al.) have been converted to overloaded methods with the name Write. As an example, for the following Indy 9 code: AConnection.WriteLn('QUIT'); AConnection.WriteInteger(Length(AShortString)); AConnection.WriteString(AString); Use the following code in Indy 10: AConnection.IOHandler.WriteLn('QUIT'); AConnection.IOHandler.Write(Integer(Length(AShortString))); AConnection.IOHandler.Write(AString);

TIdTCPServer There have also been changes in both the architecture and the interface for TIdTCPServer. First, the basic TCP/IP based server has been revised to use a new threading architecture for the client connections to the server. This architecture handles both native Win32 threads and lightweight threads in the Win32 Fiber API. (Please note that this feature requires use of the optional IndySuperCore package and is supported on Delphi 7 only). To accommodate the different types of executable client tasks, TIdTCPServer has gained a Scheduler architecture that handles creation, execution, and termination of tasks for client connections. These executable tasks are now derived from the TIdContext Internet Direct (Indy) Version 10.1.5

51

Changes to the Object Hierarchy class instead of TIdPeerThread. Executing client connections are now stored in the Contexts property, instead of the ActiveThreads property. Contexts will contain instances of the class indicated in ContextClass. The ContextClass property indicates the type of executable task created in listener threads for client connections and added to the Contexts property. TIdContext essentially replaces the TIdPeerThread class used in Indy 9, and extends the concept to support fibers as well as native threads. The Scheduler replaces the ThreadMgr used in Indy 9. There are basically two types of Schedulers available for TIdTCPServer: Thread-based and Fiber-based. Each is designed to work with a specific type of executable task that represents the client connections. There are further Scheduler refinements that allow a pool of pre-allocated Threads, or Threads which perform scheduling for dependent Fibers. The default Scheduler implementation in TIdTCPServer uses a Thread to represent each client connection. Threads are a common feature found on all platforms and Operating Systems hosting the Indy library. While TIdTCPServer does not use Fibers unless a Scheduler supporting Fibers is assigned (TIdSchedulerOfFiber), the Yarn abstraction is an important one that is central to the use of the Scheduler. When the Scheduler supports Threads, it deals only with a Yarn at the Thread level. When the Scheduler supports Fibers, it deals with a Yarn at the Fiber level. As a result of the change from TIdPeerThread to TIdContext, most code that implements an event handler procedure will need to be updated. Since the type passed as an argument for the thread of execution has changed, the procedure must be updated to accept the new argument type. For example, the Indy 9 code for an OnExecute event handler: procedure TMyForm.ServerExecute(AThread: TIdPeerThread); begin ... The Indy 10 code for an OnExecute event handler: procedure TMyForm.ServerExecute(AContext: TIdContext); begin ... Additional code changes may be required when accessing methods for the Connection in TIdContext - especially those that access methods moved from the connection to its IOHandler. Another change in TIdTCPServer is the removal of TIdCommandHandler support. Support for command handlers in TIdTCPServer represented unwanted and unnecessary overhead in servers that did not implement the feature. To reduce this overhead, and to simplify implementation details, use and support for the command handlers collection has been moved to a TIdTCPServer descendant called TIdCmdTCPServer. Both clients and servers in Indy 10 have gained support for IP version 6 address formats. Use the IPVersion property in socket handles and bindings to indicate IP address family supported for the connection.

Protocol Clients and Servers Indy 10, clients and servers that implement Internet Standard protocols (like TIdHTTP, TIdFTP, etc.) have ungone some interface revisions. Some changes were required to implement the .Net compatibility provided in the IndySystem and Indy Core packages. Other changes allowed use of IP version 6 addresses in the protocol clients. Some clients and servers were modified to implement new features or capabilities like SASL authentication, ZLib compression/decompression, TLS (Transport Level Security), OTP (One-Time Password) support, and the like.

HTTP Client and Server Aside from changes required in the IndyCore package for .Net compatibility, the HTTP Client in Indy 10 (TIdHTTP) has not undergone a lot of revisions in the interface for the client. Overloaded variants of the Get, Put, Post, and Trace methods were added to accommodate use of different argument types. Properties were added for using compression and decompression in accordance with the HTTP protocol (Compressor), and limiting the effects of sites that might use header-bombing in an HTTP response (MaxHeaderLines).

52

Internet Direct (Indy) Version 10.1.5

Changes to the Object Hierarchy More detailed information, please refer to the TIdHTTP documentation in the Reference section. The HTTP server component (TIdHTTPServer) is unchanged in Indy 10.

FTP Client and FTP Server In Indy 10, the FTP client (TIdFTP) has gained a lot of new features. For instance:

• Better detection and parsing of directory listings. • Compression and decompression using the IOHandler for MODE Z connections. • Support for STARTSSL. • Support for SASL and other authentication types. • Support for CRC calculations. • Support for FXP or server-to-server transfers. • Support for FTP SITE ZONE. • Better proxy server support. • Better data channel transfer timeout support. • Additional event handlers for directory listing and file retrieval. While these changes have required properties or methods to be added, the basic interface for the FTP client remains the same. There have been changes in the TIdFTPListOutput properties stored in the DirectoryListing collection. The FTP server components (TIdFTPServer) and its associated classes have seen a lot revisions. Some of these changes are related to the change from TIdPeerThread to TIdContent as the ancestor for client connections. Many changes were made to accommodate new features (as implemented in the client).

Messaging Architecture Components used in the implementation of message-based protocol clients and servers have been updated in Indy 10. Like other functional areas in the library, some changes were required to maintain platform compatibility for .Net. Other changes were improve the internal implementation and handling of messages and message parts, and to provide new features. Most changes, though, have been made to improve compliance with the relevant RFC standards. Some of the changes are transparent and involve only the implementation code (as in message encoders and decoders). Others do affect the public and published interfaces for classes used in or by the client and server components.

TIdMessage TIdMessage is the class used to represent messages in the protocol-based message clients and servers. In Indy 10, code for TIdMessage has been reorganized and may require updates to the code as well as the Uses clause for units using the message or message parts. These changes were required to allow implementing better and more extensive support for message parts in the message construct. This includes better handling of the MIMEBoundary and it's use in related message parts. TIdMessage now allows a hierarchical relationship between related message parts starting with the new ParentPart property, and cascading through the MessageParts maintained for the message instance. The internal mechanisms used to store and retrieve message parts have been enhanced, as well. These enhancements include the capability to use memory- or file-based attachment message parts in the message instance, and to control the default attachment type using the new OnCreateAttachment event handler. Other subtle changes have been made to TIdMessage that may affect the default behavior when handling message instances. As an example, temporary files created for storing attachments in the message are now deleted when the message is freed. This is a change from previous versions of Indy, and can result in data loss if message storage is not fully implemented in application code. Internet Direct (Indy) Version 10.1.5

53

Changes to the Object Hierarchy Use the new DeleteTempFiles property to alter the default behavior. Another subtle change to TIdMessage is the ability to store one or more email addresses in the From: header for the message. In previous version of Indy, this property maintained a single email address. Use the new FromList property to maintain a list of addresses where the message originated. Use the following code in Indy 10: with AMessage.FromList.Add do begin Text := '"John Doe" '; end; or: with AMessage.FromList.Add do begin User := 'John Doe'; Address := '[email protected]'; end; As indicated in the preceeding example, items added to the email address list should now use the User property (instead of Name). This avoids any conflict that might occur with the collection item name used in the object inspector. Other properties added to TIdMessage include the following:

• InReplyTo • LastGeneratedHeaders • ConvertPreamble • GenerateBCCListInHeader • IsMsgSinglePartMime

Message Parts Another area of improvement in Indy 10 is the architecture and handling of messsage parts used in TIdMessage. The architecture has been updated to allow stream-based operations for loading, storing, transmitting, and receiveing the message parts. The object hierarchy has also changed to implement the memory- or file-based storage used for message parts. As a result, TIdAttachment is now an abstract ancestor class for attachment message parts. Applications should use TIdAttachmentFile or TIdAttachmentMemory when creating attachment message parts, or allow the TIdMessage instance to implement a default behavior using its OnCreateAttachment event handler. Applications will still use TIdText to represent text-based message parts. Each of the message part classes has a new PartType value that indicates if the message part represents a text part or a binary attachment. In addition, ContentID and ContentLocation can now be maintained for the message part instances in a given message. Another facet of the messaging architecture that has been revised in Indy 10 is the representation of related message parts in a message, as used in "multipart/alternative" and "multipart/mime" messages. Indy 10 has altered its implementation of the message parts collection to allow representation of nested MIME message parts. This includes better use and recognition of the MIME boundary for message parts. The ParentPart property in TIdMessage and TIdAttachment descendants is used to express the relationship among the various message parts.

Messaging Clients and Servers Most of the clients and servers that use message-based transmission protocols (such as POP3, SMTP, IMAP4, and NNTP) have been revised in Indy 10. Some of these changes were required to maintain cross platform compatibility as a result of .Net support. For the most part, these revisions were performed to provide additional functionality in the client or server. The notable exception is the IMAP4 client (TIdIMAP4); because of the complexity of the IMAP protocol and implementation "issues" present in Indy 9, this client was essentially rewritten. 54

Internet Direct (Indy) Version 10.1.5

Changes to the Object Hierarchy

TIdMessageClient TIdMessageClient is the common ancestor for all client that handle message-based protocol transmissions and receipts. In Indy 10, TIdMessageClient has a new ancestor class (TIdExplicitTLSClient) that provides support for TLS (Transport Level Security) in all of the descendant class that require the capability. Properties in TIdExplicitTLSClient indicate if use of TLS is allowed, required, or implied. Methods in TIdExplicitTLSClient perform the handshaking and negotiation needed to establish the secure transport and list the capabilities supported for the connection to the remote server. Event handlers are also provided that the actions to perform when TLS is requested but not available due to handshaking or feature negotiation errors in protocol exchanges. The TIdMessageClient interface has been altered to include MsgLineLength and MsgLineFold properties used when transmitting MIME-enabled messages. For a detail explanation of these new properties, please refer to the TIdMessageClient documentation in the Reference section. Additional code changes may be required to maintain cross platform compatibility, as discussed in previous sections.

TIdSMTP The TIdSMTP client is used to transmit or post mail messages and newsgroup articles. In Indy 10, additional properties and methods have been introduced to support new features including:

• TLS Support • SMTP Extension Commands • SASL Authentication • Command Pipelining For a detailed explanation of new properties, please refer to the TIdSMTP documentation in the Reference section. Additional code changes may be required to maintain cross platform compatibility, as discussed in previous sections.

TIdPOP3 The TIdPOP3 client is used to access mail stored on a remote server using the POP3 protocol. In Indy 10, TIdPOP3 has been extended to include additional features that include:

• AUTH Command Support • APOP Command Support • SASL Support • TLS Support There are some subtle changes in the implementation of TIdPOP3 that may result in behavior that differs from the default Indy 9 implementation. First of all, the Connect methods no longer accepts a timeout value as an argument; use the ConnectTimeout property for this purpose. For example, the following code in Indy 9: AIdPOP3.Connect(5000); Should be coded as the following in Indy 10: AIdPOP3.ConnectTimeout := 5000; AIdPOP3.Connect; Secondly, the Connect method automatically calls the Login method when AutoLogin contains True (the default value). Make sure that all properties required to establish the POP3 session are set prior to calling the Connect method. For example, the following code in Indy 9: Internet Direct (Indy) Version 10.1.5

55

Changes to the Object Hierarchy AIdPOP3.Connect(5000); Could be coded as the following in Indy 10: AIdPOP3.AutoLogin := False; AIdPOP3.ConnectTimeout := 5000; AIdPOP3.Connect; // do some things here before logging in to the server if AIdPOP3.Connected then AIdPOP3.Login; Finally, Indy 10 clears any existing values in the TIdMessage class instance used in methods that retrieve message content. This is a change to the default behavior in Indy 9, and could cause problems if reuse of header values (or custom headers) in the message instance is expected. Additional code changes may be required to maintain cross platform compatibility, as discussed in previous sections. For a detailed explanation of new properties, please refer to the TIdPOP3 documentation in the Reference section.

TIdIMAP4 TIdIMAP4 is the messaging client that implements support for the IMAP version 4 protocol. IMAP is a fairly complicated protocol, and the client delivered in Indy 9 did not properly support some aspects of the protocol or it's idiosyncracies when handling mailboxes and messages. To correct these issues, much (actually most) of the code for the TIdIMAP4 client in Indy 10 has be rewritten. While some of these changes are isolated to the implementation of procedures and methods, others are reflected in the public and published interface for TIdIMAP4. Code calling methods from the previous version may require alteration because of new method signatures in Indy 10 (different types used for arguments, or completely new overloaded methods). Some of the revisions in TIDIMAP4 include the following:

• Modified UTF-7 encoding and decoding for mailbox names, • Additional methods to support message access using UID. • Improved support for accessing message or message parts. • Added Raw message retrieval using relative message numbers or UID. • Support for SASL authentication. • Support for TLS. • Improved parsing and handling of IMAP server responses. • Added support for BinHex-encoded message parts. • Added work event handlers for message parts. • Added OnAlert event for warnings attached to messages. Additional code changes may be required to maintain cross platform compatibility, as discussed in previous sections.

TIdNNTP TIdNNTP is the messaging client used for NNTP messages. In Indy 10, additional event handlers, properties, and methods have been added to better support the NNTP protocol.

• Support for SSL. • Support for TLS. • Support for NNTP AUTH. • Support for NNTP LIST EXTENSIONS. 56

Internet Direct (Indy) Version 10.1.5

Changes to the Object Hierarchy • Added OnXHdr and OnXOVER event handlers. Additional code changes may be required to maintain cross platform compatibility, as discussed in previous sections. For a detailed explanation of new properties, please refer to the TIdNNTP documentation in the Reference section.

Server-specific Revisions In general, all of the servers in Indy have received revisions to both their published/published interface, and their implementation. This comes as a result of the changes required to maintain cross platform compatibility (for .Net), and use of TIdContext for execution of connections to the servers. Code written for event handles in Indy 9 may no longer compile under Indy 10. This comes as a result of changes to method signatures - where new or different types are used in arguments to the event handler. Other changes may be required when accessing methods moved to the IOHandler for the socket connection. Please refer to the preceeding sections on TIdTCPServer and TIdTCPConnection, or the corresponding documentation in the Reference section for more details. For developers creating protocol servers, or deriving classes from Indy 10 protocol server, please be aware that the object hierarchy has changed. Most servers that implement high-level protocol support are now derived from TIdExplicitTLSServer. This provides common functionality required for TLS (Transport Level Security) in all of the messaging servers. For instance, the following indicates the new ancestry for TIdNNTPServer: TIdNNTPServer = class(TIdExplicitTLSServer) While this change is largely transparent (other that providing access to additional properties, methods, and events), it may have an impact on descendant classes.

TIdSMTPServer In Indy 10, TIdSMTPServer has been changed (as discussed in the previous section), and includes other SMTP-specific enhancements. Most revisions involve features added for TLS and SASL authentication, but also include enhanced error reporting for the SMTP client contexts. TIdSMTPServer includes a default implementation for command handler procedures like CommandNOOP, CommandQUIT, and CommandStartTLS, etc. In addition, TIdSMTPServer now supports command pipelining. Pipelining is an SMTP extension where the client can send groups of SMTP commands without waiting for a response to each individual command. The server implementation must still provide event handlers (like OnMsgReceive, OnUserLogin, OnMailFrom, OnRcptTo, and OnReceived) that make use of the pipelining capability, in accordance with the SMTP specifications.

TIdPOP3Server In Indy 10, TIdPOP3Server has been changed (as discussed in the previous section), and includes other POP-specific enhancements. Most revisions involve features added for TLS and SASL authentication, but also include enhanced capabilities for the POP3 client contexts like the APOP challenge prompt. TIdPOP3Server also includes support for command handler procedures (like OnLIST, OnRETR, OnDELE, OnUIDL, OnSTAT, etc). Additional code changes may be required to maintain cross platform compatibility, as discussed in previous sections. For a detailed explanation of new properties, please refer to the TIdPOP3Server documentation in the Reference section.

TIdIMAP4Server In Indy 10, TIdIMAP4Server has been changed (as discussed in the previous section), and includes other IMAP-specific enhancements. Most revisions involve features added for TLS and SASL authentication, but also includes enhanced capabilities for the IMAP client contexts. For instance, TIdIMAP4PeerContext includes properties to represent the connection state and the selected mailbox for the IMAP client. Internet Direct (Indy) Version 10.1.5

57

Changes to the Object Hierarchy TIdIMAP4Server now includes support for command handler procedures (like OnCommandCAPABILITY, OnCommandNOOP, OnCommandLOGOUT, OnCommandAUTHENTICATE, OnCommandLOGIN, OnCommandSELECT, etc). A default implementation for command handlers used in the server are provided, but can be overridden using event handler procedures in the server implementation. Additional code changes may be required to maintain cross platform compatibility, as discussed in previous sections. For a detailed explanation of new properties, please refer to the TIdIMAP4Server documentation in the Reference section.

TIdNNTPServer In Indy 10, TIdNNTPServer has been changed (as discussed in the previous section), and includes other NNTP-specific enhancements. Most revisions involve features added for TLS and SASL authentication, but also includes enhanced capabilities for the NNTP client contexts. TIdNNTPServer now includes support for command handler procedures (like OnCommandCAPABILITY, OnCommandNOOP, OnCommandLOGOUT, OnCommandAUTHENTICATE, OnCommandLOGIN, OnCommandSELECT, etc). A default implementation for command handlers used in the server are provided, but can be overridden using event handler procedures in the server implementation. TIdNNTPServer also includes support for NNTP extension commands, as per the relevant RFCs. For existing Indy 9 code, most changes involve new method signatures for server methods and event handler declarations. Most of these changes are required to maintain cross platform compatibility, but some are directory related to type changes in methods or event types. Additional code changes may be required to maintain cross platform compatibility, as discussed in previous sections. For a detailed explanation of new properties, please refer to the TIdNNTPServer documentation in the Reference section.

58

Internet Direct (Indy) Version 10.1.5

Symbol Reference

Internet Direct (Indy) Version 10.1.5

59

EDecompressionError Class

Classes

Classes EComponentError Class File IdIRC (

4675)

Hierarchy

Pascal EComponentError = class(EIdException); Description EComponentError is a EIdException (

76) descendant.

See Also EIdException (

76)

ECompressionError Class File IdZLib (

4757)

Hierarchy

Pascal ECompressionError = class(EZlibError); Description ECompressionError is a EZlibError (

183) descendant.

See Also EZlibError (

183)

EDecompressionError Class File IdZLib (

4757)

Hierarchy

60

Internet Direct (Indy) Version 10.1.5

Classes

EHL7CommunicationError Class

Pascal EDecompressionError = class(EZlibError); Description EDecompressionError is a EZlibError (

183) descendant.

See Also EZlibError (

183)

EHL7CommunicationError Class File IdHL7 (

4661)

Hierarchy

Pascal EHL7CommunicationError = class(EIdException); Description EHL7CommunicationError EIdException (

76) descendant

See Also EIdException (

76)

EHL7CommunicationError Members The following tables list the members exposed by EHL7CommunicationError. Properties Property

Description

InterfaceName (

62)

Methods Method Create (

Description 62)

IfAssigned ( IfFalse (

78)

IfNotAssigned ( IfNotInRange ( IfTrue ( Toss (

Raises an instance of the exception based on an object reference.

78)

Raises an instance of the exception based on an expression value. 79) 80)

80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

81)

Raises the exception class with the specified message.

Legend Constructor Property read only

EHL7CommunicationError Methods The Methods of the EHL7CommunicationError class are listed here.

Internet Direct (Indy) Version 10.1.5

61

EIdAlreadyConnected Class

Classes

Methods Method Create (

Description 62)

Legend Constructor

EHL7CommunicationError.Create Constructor Pascal constructor Create( AnInterfaceName: String; AMessage: String ); Parameters Parameters

Description

AnInterfaceName AMessage

Description Create

EHL7CommunicationError Properties The Properties of the EHL7CommunicationError class are listed here. Properties Property

Description

InterfaceName (

62)

Legend Property read only

EHL7CommunicationError.InterfaceName Property Pascal property InterfaceName: String; Description InterfaceName is a Public read-only String property

EIdAlreadyConnected Class Exception (

4733) raised in TIdTCPClientCustom (

2340) when the connection has already been establshed.

File IdExceptionCore (

4625)

Hierarchy

62

Internet Direct (Indy) Version 10.1.5

Classes

EIdBlockingNotSupported Class

Pascal EIdAlreadyConnected = class(EIdException); Description EIdAlreadyConnected is an EIdException ( 76) descendant that represents the exception raised in the Connect method in TIdTCPClientCustom ( 2340) when the connection has already been establshed. See Also EIdException (

76)

TIdTCPClientCustom.Connect (

2342)

EIdAlreadyRegisteredAuthenticationMethod Class Exception (

4733) raised when registering an Authentication method that already exists.

File IdAuthentication (

4586)

Hierarchy

Pascal EIdAlreadyRegisteredAuthenticationMethod = class(EIdException); Description EIdAlreadyRegisteredAuthenticationMethod is an EIdException ( registering an Authentication method that already exists.

76) descendant that represents the exception raised when

EIdAlreadyRegisteredAuthenticationMethod is used in the RegisterAuthenticationMethod ( 2893) procedure when a TIdAuthenticationClass ( 3005) already exists that matches the requested authentication class name. See Also EIdException (

76)

TIdAuthenticationClass (

3005)

RegisterAuthenticationMethod (

2893)

EIdBlockingNotSupported Class Exception (

4733) raised when blocking sockets are not supported for the operating system or platform hosting the Indy library.

File IdException (

4624)

Hierarchy

Pascal EIdBlockingNotSupported = class(EIdException); Description EIdBlockingNotSupported is an EIdException ( 76) descendant that represents the exception raised when a socket cannot be initialized as a blocking (as opposed to an asynchronous) socket. Internet Direct (Indy) Version 10.1.5

63

EIdCanNotBindRang Class

Classes

EIdBlockingNotSupported is used only in the implementation of TIdStackLinux.SetBlocking ( operations are not supported on the Linux distribution.

2228) when blocking socket

See Also EIdException (

76)

TIdStackLinux (

2216)

EIdCanNotBindPortInRange Class Exception (

4733) raised during bind for reserved port numbers.

File IdException (

4624)

Hierarchy

Pascal EIdCanNotBindPortInRange = class(EIdSocketHandleError); Description EIdCanNotBindPortInRange is an EIdSocketHandleError ( 154) descendant that represents an exception raised when TIdSocketHandle ( 2071) Bind operation cannot allocate a reserved port number in the range specified by TIdSocketHandle ( 2071) in the ClientPortMin and ClientPortMax properties. EIdCanNotBindPortInRange uses the constant value RSCanNotBindRange, including the mimimum and maximum port numbers, to form the exception message text. See Also EIdSocketHandleError ( TIdSocketHandle (

154)

2071)

TIdSocketHandle.ClientPortMin (

2087)

TIdSocketHandle.ClientPortMax (

2086)

TIdSocketHandle.Bind (

2075)

EIdCanNotBindRang Class Exception (

4733) raised if an error occurs when binding to reserved port numbers.

File IdRemoteCMDClient (

4704)

Hierarchy

Pascal EIdCanNotBindRang = class(EIdException); Description EIdCanNotBindRang is an EIdException ( 76) descendant that represents an exception raised if an error occurs when binding to port numbers in a reserved port number range. 64

Internet Direct (Indy) Version 10.1.5

Classes

EIdCannotSetIPVersionWhenConnected

See Also EIdException (

76)

EIdCanNotCreateMessagePart Class Indicates an error in the TIdMessagePart (

1614) constructor.

File IdMessageParts (

4689)

Hierarchy

Pascal EIdCanNotCreateMessagePart = class(EIdMessageException); Description EIdCanNotCreateMessagePart is an EIdMessageException ( TIdMessagePart ( 1614) instance.

116) descendant used to identify an error in the constructor for a

EIdCanNotCreateMessagePart generally indicates that the constructor has been called with the abstract base class TIdMessagePart ( 1614) instead of a TIdText ( 2404) or TIdAttachment ( 227) descendant. See Also TIdText (

2404)

TIdAttachment (

227)

EIdCannotSetIPVersionWhenConnected Class Exception (

4733) raised when setting the IP version for a connected socket handle.

File IdException (

4624)

Hierarchy

Pascal EIdCannotSetIPVersionWhenConnected = class(EIdSocketHandleError); Description EIdCannotSetIPVersionWhenConnected is an EIdSocketHandleError ( 154) descendant that represents the exception raised when setting the IP Version for a socket handle that has already been bound. EIdCannotSetIPVersionWhenConnected uses the resource string RSCannotSetIPVersionWhenConnected as text for the exception. EIdCannotSetIPVersionWhenConnected is raised in the write access specifier for the TIdSocketHandle.IPVersion ( property.

2088)

See Also EIdSocketHandleError (

154)

TIdSocketHandle.Bind (

2075)

Internet Direct (Indy) Version 10.1.5

65

EIdCmdTCPClientConnectError Class TIdSocketHandle.IPVersion (

Classes

2088)

RSCannotSetIPVersionWhenConnected

EIdCannotUseNonSocketIOHandler Class File IdSimpleServer (

4718)

Hierarchy

Pascal EIdCannotUseNonSocketIOHandler = class(EIdException); Description Descends from EIdException (

76).

See Also EIdException (

76)

EIdClosedSocket Class Exception (

4733) raised when a connection has been unexpectedly closed during a socket operation.

File IdExceptionCore (

4625)

Hierarchy

Pascal EIdClosedSocket = class(EIdException); Description EIdClosedSocket is an EIdException ( 76) descendant that represents an exception raised when a connection has been unexpectedly closed during a socket operation. EIdClosedSocket is used in the implement of the ReadFromSource method in TIdIOHandlerStack ( 1342) and TIdSSLIOHandlerSocketOpenSSL ( 2137) used for the IOHandler in socket connections. EIdClosedSocket is also used in protocol-level implementations like the OnExecute event handler in TIdCustomHTTPServer ( 434) and the Disconnect method in TIdIMAP4 ( 1150). See Also EIdException (

76)

TIdIOHandlerStack.ReadFromSource TIdSSLIOHandlerSocketOpenSSL.ReadFromSource TIdCustomHTTPServer.OnExecute TIdIMAP4.Disconnect (

66

1166)

Internet Direct (Indy) Version 10.1.5

Classes

EIdCompressionError Class

EIdCmdTCPClientConnectError Class Exception (

4733) raised when TIdCmdTCPClient (

317) cannot connect to the remote host.

File IdCmdTCPClient (

4590)

Hierarchy

Pascal EIdCmdTCPClientConnectError = class(EIdCmdTCPClientError); Description EIdCmdTCPClientConnectError is an EIdCmdTCPClientError ( 67) descendant that represents the exception raised when TIdCmdTCPClient ( 317) cannot connect to the remote host or create ( 77) the listener thread for the client. EIdCmdTCPClientConnectError normally contains a message represented by the constant RSNoCreateListeningThread. See Also EIdCmdTCPClientError (

67)

TIdCmdTCPClient.Connect (

319)

TIdCmdTCPClientListeningThread (

323)

RSNoCreateListeningThread

EIdCmdTCPClientError Class Ancestor for Exceptions raised when an error occurs in TIdCmdTCPClient (

317).

File IdCmdTCPClient (

4590)

Hierarchy

Pascal EIdCmdTCPClientError = class(EIdException); Description EIdCmdTCPClientError is an EIdException ( 76) descendant that specifies the common ancestor for exceptions raised during execution of TIdCmdTCPClient ( 317) methods. An exception specific to the implementation of TIdCmdTCPClient ( 317) should always be a EIdCmdTCPClientError descendant. See Also EIdException (

76)

EIdCmdTCPClientConnectError (

Internet Direct (Indy) Version 10.1.5

67)

67

EIdCompressorInitFailure Class

Classes

EIdCompressionError Class File IdCompressorZLibEx (

4605)

Hierarchy

Pascal EIdCompressionError = class(EIdCompressionException); Description EIdCompressionError is a EIdCompressionException (

68) descendant.

See Also EIdCompressionException (

68)

EIdCompressionException Class File IdCompressorZLibEx (

4605)

Hierarchy

Pascal EIdCompressionException = class(EIdException); Description EIdCompressionException is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdCompressorInitFailure Class File IdCompressorZLibEx (

4605)

Hierarchy

Pascal EIdCompressorInitFailure = class(EIdCompressionException); Description EIdCompressorInitFailure is a EIdCompressionException (

68

68) descendant.

Internet Direct (Indy) Version 10.1.5

Classes

EIdConnectException Class

See Also EIdCompressionException (

68)

EIdConnClosedGracefully Class Exception (

4733) raised when a connection has close gracefully during socket operations.

File IdException (

4624)

Hierarchy

Pascal EIdConnClosedGracefully = class(EIdSilentException); Description EIdSilentException ( 145) is a EIdSilentException ( been closed gracefully.

145) descendant that represents the exception raised when a connection has

EIdSilentException ( 145) is raised when a valid socket descriptor has not been allocated during a check for a readable socket handle in TIdSocketHandle.Readable ( 2078). EIdSilentException (

145) is also raised when reading a stream in TIdIOHandler.ReadStream (

1308).

As an EIdSilentException ( 145) descendant, EIdConnClosedGracefully responds like the VCL EAbort ( 4733) exception. It is recommended that you set your IDE to ignore those exceptions by clicking Tools -> Debugger Options -> Language Exceptions -> Add and entering the value "EIdSilentException ( 145)". See Also EIdSilentException (

145)

TIdSocketHandle.Readable ( TIdIOHandler.ReadStream (

2078) 1308)

TIdCustomHTTP.ReadResult

EIdConnectException Class Exception (

4733) raised when an error occurs while establishing a connection for a socket.

File IdExceptionCore (

4625)

Hierarchy

Pascal EIdConnectException = class(EIdException); Description EIdConnectException is an EIdException ( establishing a connection for a socket.

76) descendant that represents an exception raised when an error occurs while

EIdConnectException is used in the implementation of the ConnectClient method in TIdIOHandlerStack ( Internet Direct (Indy) Version 10.1.5

1342) and in the 69

EIdCorruptServicesFile Class

Classes

Resolve method in TIdDNSResolver (

600).

See Also EIdException (

76) TIdIOHandlerStack.ConnectClient

TIdDNSResolver.Resolve (

604)

EIdConnectionStateError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdConnectionStateError = class(EIdException); Description EIdConnectionStateError is an EIdException (

76) descendant

See Also EIdException (

76)

EIdConnectTimeout Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdConnectTimeout = class(EIdException); Description EIdConnectTimeout is an EIdException (

76) descendant

See Also EIdException (

76)

EIdCorruptServicesFile Class Exception (

4733) raised when a service file entry is corrupted.

File IdGlobal (

4650)

Hierarchy

70

Internet Direct (Indy) Version 10.1.5

Classes

EIdDecompressionError Class

Pascal EIdCorruptServicesFile = class(EIdException); Description EIdCorruptServicesFile is a EIdException ( 76) descendant that represents an Exception ( 4733) raised when a service file entry is corrupted. EIdCorruptServicesFile is used in the IdPorts ( 2818) function to indicate that a service entry has been encountered with an invalid or missing port number. See Also EIdException ( IdPorts (

76)

2818)

EIdCouldNotBindSocket Class Exception (

4733) when binding a socket descriptor.

File IdException (

4624)

Hierarchy

Pascal EIdCouldNotBindSocket = class(EIdSocketHandleError); Description EIdCouldNotBindSocket is an EIdSocketHandleError ( 154) descendant that represents the exception raised when TIdSocketHandle.Bind ( 2075) encounters an error while binding the protocol family, address, and port number for the socket descriptor. EIdCouldNotBindSocket uses the resource string RSCouldNotBindSocket as the text for the exception. See Also EIdSocketHandleError ( EIdInvalidPortRange (

154) 111)

EIdCanNotBindPortInRange ( TIdSocketHandle.Bind (

64)

2075)

EIdDecompressionError Class File IdCompressorZLibEx (

4605)

Hierarchy

Pascal EIdDecompressionError = class(EIdCompressionException); Description EIdDecompressionError is a EIdCompressionException ( Internet Direct (Indy) Version 10.1.5

68) descendant. 71

EIdDirectSMTPCannotResolveMX Class

Classes

See Also EIdCompressionException (

68)

EIdDecompressorInitFailure Class File IdCompressorZLibEx (

4605)

Hierarchy

Pascal EIdDecompressorInitFailure = class(EIdCompressionException); Description EIdDecompressorInitFailure is a EIdCompressionException (

68) descendant.

See Also EIdCompressionException (

68)

EIdDirectSMTPCannotAssignHost Class Exception (

4733) raised when assigning the Host property in TIdSMTPRelay (

2036).

File IdSMTPRelay (

4720)

Hierarchy

Pascal EIdDirectSMTPCannotAssignHost = class(EIdException); Description EIdDirectSMTPCannotAssignHost is an EIdException ( 76) descendant that represents the exception raised when trying to directly assign the Host property in TIdSMTPRelay ( 2036). EIdDirectSMTPCannotAssignHost is raised with the message RSDirSMTPCantAssignHost. The Host property cannot be assigned directly in TIdSMTPRelay ( 2036). Set the value in the DNSServer property used to resolve the mail exchange server for addresses found in email messages handled by the TIdSMTPRelay ( 2036) component. See Also EIdException (

76)

TIdSMTPRelay.DNSServer (

2041)

EIdDirectSMTPCannotResolveMX Class Exception (

72

4733) raised when a mail exchange server cannot be resolved for an email address domain.

Internet Direct (Indy) Version 10.1.5

Classes

EIdDnsResolverError Class

File IdSMTPRelay (

4720)

Hierarchy

Pascal EIdDirectSMTPCannotResolveMX = class(EIdException); Description EIdDirectSMTPCannotResolveMX EIdException ( 76) descendant that represents the exception raised when a mail exchange server cannot be resolved for an email address domain. EIdDirectSMTPCannotResolveMX is RSDirSMTPNoMXRecordsForDomain.

raised

with

the

message

RSDirSMTPInvalidEMailAddress

or

RSDirSMTPInvalidEMailAddress indicates that an email address was detected that did not include a domain component in the email address. RSDirSMTPNoMXRecordsForDomain indicates the domain for an email address could not be resolved because a DNS MX record could not be found for the domain. See Also EIdException (

76)

TIdSMTPRelay.ResolveMXServers TIdSMTPRelay.Send (

2040)

EIdDisconnectedProbablyIdledOut Class File IdIMAP4 (

4666)

Hierarchy

Pascal EIdDisconnectedProbablyIdledOut = class(EIdException); Description EIdDisconnectedProbablyIdledOut is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdDnsResolverError Class File IdExceptionCore (

4625)

Hierarchy

Internet Direct (Indy) Version 10.1.5

73

EIdDoesNotSupportAPOP Class

Classes

Pascal EIdDnsResolverError = class(EIdException); Description EIdDnsResolverError is an EIdException (

76) descendant

See Also EIdException (

76)

EIdDNSServerSettingException Class File IdDNSCommon (

4617)

Hierarchy

Pascal EIdDNSServerSettingException = class(EIdSilentException); Description EIdDNSServerSettingException is a EIdSilentException (

145) descendant.

See Also EIdSilentException (

145)

EIdDNSServerSyncException Class File IdDNSCommon (

4617)

Hierarchy

Pascal EIdDNSServerSyncException = class(EIdSilentException); Description EIdDNSServerSyncException is a EIdSilentException (

145) descendant.

See Also EIdSilentException (

145)

EIdDoesNotSupportAPOP Class File IdPOP3 (

74

4696)

Internet Direct (Indy) Version 10.1.5

Classes

EIdEndOfStream Class

Hierarchy

Pascal EIdDoesNotSupportAPOP = class(EIdPOP3Exception); Description EIdDoesNotSupportAPOP is a EIdPOP3Exception (

133) descendant.

See Also EIdPOP3Exception (

133)

EIdEmailParseError Class Exception (

4733) raised while parsing the tet of an email address.

File IdEMailAddress (

4624)

Hierarchy

Pascal EIdEmailParseError = class(EIdException); Description EIdEmailParseError is a EIdException ( 76) descendant that represents the exception raised when an invalid value is detected while parsing values in TIdEMailAddressItem.Text ( 646) into the properties for an TIdEMailAddress email address. See Also EIdException (

76)

TIdEMailAddressItem.Address ( TIdEMailAddressItem.Text (

644)

646)

EIdEmptySASLList Class File IdSASLCollection (

4713)

Hierarchy

Pascal EIdEmptySASLList = class(EIdSASLException); Description EIdEmptySASLList is a EIdSASLException (

143) descendant.

See Also EIdSASLException (

143)

Internet Direct (Indy) Version 10.1.5

75

EIdException Class

Classes

EIdEndOfStream Class Exception (

4733) raised when an unexpected end of stream is encountered.

File IdGlobal (

4650)

Hierarchy

Pascal EIdEndOfStream = class(EIdException); Description EIdEndOfStream is an EIdException ( 76) descendant that represents the exception raised when an unexpected end of a stream is encountered during a read operation. EIdEndOfStream is raised in the ReadLnFromStream (

2890) function.

See Also EIdException (

76)

ReadLnFromStream (

2890)

EIdException Class Exception (

4733) class raised in the Indy library.

File IdException (

4624)

Hierarchy

Pascal EIdException = class(EIdExceptionBase); Description EIdException is an EIdExceptionBase ( 4733) descendant that represents a common ancestor for exceptions raised in the Indy library. All exceptions explicitly raised by the Indy library must descend from EIdException. This is the class that differentiates Indy exceptions from non Indy exceptions. Use EIdSilentException (

145) for exceptions that can be ignored in the IDE.

Use EIdWrapperException (

181) for non-Socket exceptions raised by the .Net framework.

See Also EIdExceptionBase (

4733)

TClassIdException (

3001)

EIdSilentException (

145)

EIdWrapperException (

76

181)

Internet Direct (Indy) Version 10.1.5

Classes

EIdException Class

EIdException Members The following tables list the members exposed by EIdException. Methods Method

Description

Create (

77)

IfAssigned ( IfFalse (

78)

Raises an instance of the exception based on an expression value.

IfNotAssigned ( IfNotInRange ( IfTrue ( Toss (

Raises an instance of the exception based on an object reference.

78) 79) 80)

80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

81)

Raises the exception class with the specified message.

Legend Constructor virtual

EIdException Methods The Methods of the EIdException class are listed here. Methods Method

Description

Create (

77)

IfAssigned ( IfFalse (

78)

IfNotAssigned ( IfNotInRange ( IfTrue ( Toss (

Raises an instance of the exception based on an object reference.

78)

Raises an instance of the exception based on an expression value. 79) 80)

80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

81)

Raises the exception class with the specified message.

Legend Constructor virtual

EIdException.Create Constructor Pascal constructor Create( AMsg: string ); virtual; overload; Parameters Parameters

Description

AMsg

Error message for the exception.

Description Create is an overloaded constructor for the object instance. Create calls the inherited Create method using the value in AMsg as an argument. Create is declared as a virtual method to allow descendant classes to easily re-implement the constructor. See Also Create

Internet Direct (Indy) Version 10.1.5

77

EIdException Class

Classes

EIdException.IfAssigned Method Raises an instance of the exception based on an object reference. Pascal class procedure IfAssigned( const ACheck: TObject; const AMsg: string = '' ); Parameters Parameters

Description

ACheck

Object reference to check for a non-Nil value.

AMsg

Exception (

4733) message text to assign to the exception instance.

Description IfAssigned is a class method used to raise an instance of the exception class when the TObject reference in ACheck has been assigned a non-Nil value. As a class method, IfAssigned can be called without creating a prior instance of the exception class. When the object reference in ACheck contains a non-Nil value, IfAssigned calls Toss ( exception class instance. Use IfNotAssigned (

81) with the value in AMsg to raise the

79) to raise an instance of the exception class when the object reference contains a Nil value.

Example Using class methods in an Indy Exception descendant. EIdException.IfNotAssigned(AnObject, 'Object has not been created.'); EIdException.IfAssigned(AnObject.Data, 'Object already has data.'); EIdException.IfTrue(AnObject.ClosedGracefully, 'Object connection has closed before completion.'); EIdException.IfFalse(AnObject.Active, 'Object connection is not open.'); EIdException.IfNotInRange(AnObject.Port, 30000, 39999, 'Object port number is invalid for this protocol.'); // no exception raised... continue processing. See Also EIdException.IfNotAssigned (

79)

EIdException.IfFalse Method Raises an instance of the exception based on an expression value. Pascal class procedure IfFalse( const ACheck: Boolean; const AMsg: string = '' ); Parameters Parameters

Description

ACheck

Condition to check for a False value.

AMsg

Exception (

4733) message text to assign to the exception instance.

Description IfFalse is a class procedure used to raise an instance of the exception class when the condition in ACheck returns a False value. As 78

Internet Direct (Indy) Version 10.1.5

Classes

EIdException Class

a class method, IfFalse can be called without creating a prior instance of the exception class. When the condition in ACheck contains False, IfFalse calls Toss ( Use IfTrue (

81) with the value in AMsg to raise the exception class instance.

80) to raise an instance of the exception class when the condition in ACheck contains True.

Example Using class methods in an Indy Exception descendant. EIdException.IfNotAssigned(AnObject, 'Object has not been created.'); EIdException.IfAssigned(AnObject.Data, 'Object already has data.'); EIdException.IfTrue(AnObject.ClosedGracefully, 'Object connection has closed before completion.'); EIdException.IfFalse(AnObject.Active, 'Object connection is not open.'); EIdException.IfNotInRange(AnObject.Port, 30000, 39999, 'Object port number is invalid for this protocol.'); // no exception raised... continue processing. See Also EIdException.IfTrue (

80)

EIdException.IfNotAssigned Method Raises an instance of the exception based on an object reference. Pascal class procedure IfNotAssigned( const ACheck: TObject; const AMsg: string = '' ); Parameters Parameters

Description

ACheck

Object reference to check for a Nil value.

AMsg

Exception (

4733) message text to assign to the exception instance.

Description IfNotAssigned is a class procedure used to raise an instance of the exception class when the TObject reference in ACheck contains an unassigned value. As a class method, IfNotAssigned can be called without creating a prior instance of the exception class. When the object reference in ACheck contains a Nil value, IfNotAssigned calls Toss ( exception class instance. Use IfAssigned (

81) with the value in AMsg to raise the

78) to raise an instance of the exception class when the object reference contains a non-Nil value.

Example Using class methods in an Indy Exception descendant. EIdException.IfNotAssigned(AnObject, 'Object has not been created.'); EIdException.IfAssigned(AnObject.Data, 'Object already has data.'); EIdException.IfTrue(AnObject.ClosedGracefully, 'Object connection has closed before completion.'); EIdException.IfFalse(AnObject.Active, 'Object connection is not open.'); EIdException.IfNotInRange(AnObject.Port, 30000, 39999, 'Object port number is invalid for this protocol.'); // no exception raised... continue processing. Internet Direct (Indy) Version 10.1.5

79

EIdException Class

Classes

See Also EIdException.IfAssigned (

78)

EIdException.IfNotInRange Method Raises an instance of the exception when the value is not in the specified range. Pascal class procedure IfNotInRange( const AValue: Integer; const AMin: Integer; const AMax: Integer; const AMsg: string = '' ); Parameters Parameters

Description

AValue

Value to check for the minimum and maximum range values.

AMin

Minimum value for the range check.

AMax

Maximum value for the range check.

AMsg

Exception (

4733) message text to assign to the exception instance.

Description IfNotInRange is a class procedure used to raise an instance of the exception class when the value in AValue is not in the range specified by AMin and AMax. When the value in AValue is not in the specified range, IfNotInRange calls Toss ( 81) with the value in AMsg to raise the exception class instance. As a class method, IfNotInRange can be called without creating a prior instance of the exception class. Example Using class methods in an Indy Exception descendant. EIdException.IfNotAssigned(AnObject, 'Object has not been created.'); EIdException.IfAssigned(AnObject.Data, 'Object already has data.'); EIdException.IfTrue(AnObject.ClosedGracefully, 'Object connection has closed before completion.'); EIdException.IfFalse(AnObject.Active, 'Object connection is not open.'); EIdException.IfNotInRange(AnObject.Port, 30000, 39999, 'Object port number is invalid for this protocol.'); // no exception raised... continue processing.

EIdException.IfTrue Method Raises an instance of the exception based on an expression value. Pascal class procedure IfTrue( const ACheck: Boolean; const AMsg: string = '' ); Parameters Parameters

Description

ACheck

Condition to check for a True value.

AMsg

Exception (

4733) message text to assign to the exception instance.

Description IfTrue is a class procedure used to raise an instance of the exception class when the condition in ACheck returns a True value. As 80

Internet Direct (Indy) Version 10.1.5

Classes

EIdExtensionAlreadyExists Class

a class method, IfTrue can be called without creating a prior instance of the exception class. When the condition in ACheck contains True, IfTrue calls Toss ( Use IfFalse (

81) with the value in AMsg to raise the exception class instance.

78) to raise an instance of the exception class when the condition in ACheck contains False.

Example Using class methods in an Indy Exception descendant. EIdException.IfNotAssigned(AnObject, 'Object has not been created.'); EIdException.IfAssigned(AnObject.Data, 'Object already has data.'); EIdException.IfTrue(AnObject.ClosedGracefully, 'Object connection has closed before completion.'); EIdException.IfFalse(AnObject.Active, 'Object connection is not open.'); EIdException.IfNotInRange(AnObject.Port, 30000, 39999, 'Object port number is invalid for this protocol.'); // no exception raised... continue processing. See Also EIdException.IfFalse (

78)

EIdException.Toss Method Raises the exception class with the specified message. Pascal class procedure Toss( const AMsg: string ); Parameters Parameters

Description

AMsg

Exception (

4733) message text to assign to the exception instance.

Description Toss is a class procedure used to raise an instance of the exception class with the exception message specified in AMsg. As a class method, Toss can be called without creating a prior instance of the exception class. Toss is used in the implementation of other class methods in EIdException (

76).

See Also IfAssigned (

78)

IfNotAssigned ( IfFalse ( IfTrue (

79)

78) 80)

IfNotInRange (

80)

EIdExtensionAlreadyExists Class File IdGlobalProtocols (

4654)

Internet Direct (Indy) Version 10.1.5

81

EIdFiberFinished Class

Classes

Hierarchy

Pascal EIdExtensionAlreadyExists = class(EIdException); Description EIdExtensionAlreadyExists is an EIdException (

76) descendant.

See Also EIdException (

76)

EIdFailedToRetreiveTimeZoneInfo Class Exception (

4733) raised when the Time Zone could not be retrieved.

File IdGlobalProtocols (

4654)

Hierarchy

Pascal EIdFailedToRetreiveTimeZoneInfo = class(EIdException); Description EIdFailedToRetreiveTimeZoneInfo is an EIdException ( 76) descendant that represents the exception raised in OffsetFromUTC when Time Zone information could not be retrieved on the user's computer. See Also EIdException (

76)

OffsetFromUTC

EIdFiber Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdFiber = class(EIdException); Description EIdFiber is an EIdException (

76) descendant

See Also EIdException (

82

76)

Internet Direct (Indy) Version 10.1.5

Classes

EIdFileNotFound Class

EIdFiberFinished Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdFiberFinished = class(EIdFiber); Description EIdFiberFinished is an EIdFiber (

82) descendant

See Also EIdFiber (

82)

EIdFibersNotSupported Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdFibersNotSupported = class(EIdFiber); Description EIdFibersNotSupported is an EIdFiber (

82) descendant

See Also EIdFiber (

82)

EIdFileNotFound Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdFileNotFound = class(EIdTCPConnectionError); Description EIdFileNotFound is an EIdTCPConnectionError (

Internet Direct (Indy) Version 10.1.5

165) descendant

83

EIdFileSystemFileNotFound Class

Classes

See Also EIdTCPConnectionError (

165)

EIdFileSystemCannotRemoveDir Class File IdFTPBaseFileSystem (

4631)

Hierarchy

Pascal EIdFileSystemCannotRemoveDir = class(EIdFileSystemException); Description EIdFileSystemCannotRemoveDir is a EIdFileSystemException (

84) descendant.

See Also EIdFileSystemException (

84)

EIdFileSystemException Class File IdFTPBaseFileSystem (

4631)

Hierarchy

Pascal EIdFileSystemException = class(EIdException); Description EIdFileSystemException is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdFileSystemFileNotFound Class File IdFTPBaseFileSystem (

4631)

Hierarchy

Pascal EIdFileSystemFileNotFound = class(EIdFileSystemException);

84

Internet Direct (Indy) Version 10.1.5

Classes

EIdFileSystemPermissionDenied Class

Description EIdFileSystemFileNotFound is a EIdFileSystemException (

84) descendant.

See Also EIdFileSystemException (

84)

EIdFileSystemNotADir Class File IdFTPBaseFileSystem (

4631)

Hierarchy

Pascal EIdFileSystemNotADir = class(EIdFileSystemException); Description EIdFileSystemNotADir is a EIdFileSystemException (

84) descendant.

See Also EIdFileSystemException (

84)

EIdFileSystemNotAFile Class File IdFTPBaseFileSystem (

4631)

Hierarchy

Pascal EIdFileSystemNotAFile = class(EIdFileSystemException); Description EIdFileSystemNotAFile is a EIdFileSystemException (

84) descendant.

See Also EIdFileSystemException (

84)

EIdFileSystemPermissionDenied Class File IdFTPBaseFileSystem (

4631)

Hierarchy

Internet Direct (Indy) Version 10.1.5

85

EIdFSPFileNotFound Class

Classes

Pascal EIdFileSystemPermissionDenied = class(EIdFileSystemException); Description EIdFileSystemPermissionDenied is a EIdFileSystemException (

84) descendant.

See Also EIdFileSystemException (

84)

EIdFSPException Class File IdFSP (

4628)

Hierarchy

Pascal EIdFSPException = class(EIdException); Description EIdFSPException is a EIdException (

76) descendant

See Also EIdException (

76)

EIdFSPFileAlreadyExists Class File IdFSP (

4628)

Hierarchy

Pascal EIdFSPFileAlreadyExists = class(EIdFSPException); Description EIdFSPFileAlreadyExists is a EIdFSPException (

86) descendant

See Also EIdFSPException (

86)

EIdFSPFileNotFound Class File IdFSP (

86

4628)

Internet Direct (Indy) Version 10.1.5

Classes

EIdFTPAUTHException Class

Hierarchy

Pascal EIdFSPFileNotFound = class(EIdFSPException); Description EIdFSPFileNotFound is a EIdFSPException (

86) descendant

See Also EIdFSPException (

86)

EIdFSPPacketTooSmall Class File IdFSP (

4628)

Hierarchy

Pascal EIdFSPPacketTooSmall = class(EIdFSPException); Description EIdFSPPacketTooSmall is a EIdFSPException (

86) descendant

See Also EIdFSPException (

86)

EIdFSPProtException Class File IdFSP (

4628)

Hierarchy

Pascal EIdFSPProtException = class(EIdFSPException); Description EIdFSPProtException is a EIdFSPException (

86) descendant

See Also EIdFSPException (

86)

Internet Direct (Indy) Version 10.1.5

87

EIdFTPBoundPortMinLess Class

Classes

EIdFTPAUTHException Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPAUTHException = class(EIdFTPException); Description EIdFTPAUTHException is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPBoundPortMaxGreater Class File IdFTPServer (

4648)

Hierarchy

Pascal EIdFTPBoundPortMaxGreater = class(EIdFTPServerException); Description EIdFTPBoundPortMaxGreater is a EIdFTPServerException (

94) descendant.

See Also EIdFTPServerException (

94)

EIdFTPBoundPortMinLess Class File IdFTPServer (

4648)

Hierarchy

Pascal EIdFTPBoundPortMinLess = class(EIdFTPServerException); Description EIdFTPBoundPortMinLess is a EIdFTPServerException (

88

94) descendant.

Internet Direct (Indy) Version 10.1.5

Classes

EIdFTPConnAssuranceFailure Class

See Also EIdFTPServerException (

94)

EIdFTPCannotBeNegative Class File IdFTPServer (

4648)

Hierarchy

Pascal EIdFTPCannotBeNegative = class(EIdFTPServerException); Description EIdFTPCannotBeNegative is a EIdFTPServerException (

94) descendant.

See Also EIdFTPServerException (

94)

EIdFTPCanNotSetAUTHCon Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPCanNotSetAUTHCon = class(EIdFTPAUTHException); Description EIdFTPCanNotSetAUTHCon is a EIdFTPAUTHException (

88) descendant.

See Also EIdFTPAUTHException (

88)

EIdFTPConnAssuranceFailure Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPConnAssuranceFailure = class(EIdFTPException);

Internet Direct (Indy) Version 10.1.5

89

EIdFTPFileAlreadyExists Class

Classes

Description EIdFTPConnAssuranceFailure is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPDataPortProtection Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPDataPortProtection = class(EIdFTPException); Description EIdFTPDataPortProtection is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPException Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPException = class(EIdException); Description EIdFTPException is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdFTPFileAlreadyExists Class File IdFTP (

4629)

Hierarchy

90

Internet Direct (Indy) Version 10.1.5

Classes

EIdFTPMustUseExtWithNATFastTrack

Pascal EIdFTPFileAlreadyExists = class(EIdFTPException); Description EIdFTPFileAlreadyExists is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPImplicitTLSRequiresSSL Class File IdFTPServer (

4648)

Hierarchy

Pascal EIdFTPImplicitTLSRequiresSSL = class(EIdFTPServerException); Description EIdFTPImplicitTLSRequiresSSL is a EIdFTPServerException (

94) descendant.

See Also EIdFTPServerException (

94)

EIdFTPMustUseExtWithIPv6 Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPMustUseExtWithIPv6 = class(EIdFTPException); Description EIdFTPMustUseExtWithIPv6 is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPMustUseExtWithNATFastTrack Class File IdFTP (

4629)

Internet Direct (Indy) Version 10.1.5

91

EIdFTPNoDataPortProtectionAfterCCC

Classes

Hierarchy

Pascal EIdFTPMustUseExtWithNATFastTrack = class(EIdFTPException); Description EIdFTPMustUseExtWithNATFastTrack is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPNoAUTHWOSSL Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPNoAUTHWOSSL = class(EIdFTPAUTHException); Description EIdFTPNoAUTHWOSSL is a EIdFTPAUTHException (

88) descendant.

See Also EIdFTPAUTHException (

88)

EIdFTPNoCCCWOEncryption Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPNoCCCWOEncryption = class(EIdFTPException); Description EIdFTPNoCCCWOEncryption is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

92

90)

Internet Direct (Indy) Version 10.1.5

Classes

EIdFTPOnCustomFTPProxyRequired Class

EIdFTPNoDataPortProtectionAfterCCC Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPNoDataPortProtectionAfterCCC = class(EIdFTPDataPortProtection); Description EIdFTPNoDataPortProtectionAfterCCC is a EIdFTPDataPortProtection (

90) descendant.

See Also EIdFTPDataPortProtection (

90)

EIdFTPNoDataPortProtectionWOEncryption Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPNoDataPortProtectionWOEncryption = class(EIdFTPDataPortProtection); Description EIdFTPNoDataPortProtectionWOEncryption is a EIdFTPDataPortProtection (

90) descendant.

See Also EIdFTPDataPortProtection (

90)

EIdFTPOnCustomFTPProxyRequired Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPOnCustomFTPProxyRequired = class(EIdFTPException); Description EIdFTPOnCustomFTPProxyRequired is a EIdFTPException (

Internet Direct (Indy) Version 10.1.5

90) descendant.

93

EIdFTPServerNoOnListDirectory Class

Classes

See Also EIdFTPException (

90)

EIdFTPPassiveMustBeTrueWithNATFT Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPPassiveMustBeTrueWithNATFT = class(EIdFTPException); Description EIdFTPPassiveMustBeTrueWithNATFT is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPServerException Class File IdFTPServer (

4648)

Hierarchy

Pascal EIdFTPServerException = class(EIdException); Description EIdFTPServerException is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdFTPServerNoOnListDirectory Class File IdFTPServer (

4648)

Hierarchy

Pascal EIdFTPServerNoOnListDirectory = class(EIdFTPServerException);

94

Internet Direct (Indy) Version 10.1.5

Classes

EIdFTPSToSBothMostSupportSSCN Class

Description EIdFTPServerNoOnListDirectory is a EIdFTPServerException (

94) descendant.

See Also EIdFTPServerException (

94)

EIdFTPServerSentInvalidPort Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPServerSentInvalidPort = class(EIdFTPException); Description EIdFTPServerSentInvalidPort is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPSiteToSiteTransfer Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPSiteToSiteTransfer = class(EIdFTPException); Description EIdFTPSiteToSiteTransfer is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPSToSBothMostSupportSSCN Class File IdFTP (

4629)

Hierarchy

Internet Direct (Indy) Version 10.1.5

95

EIdFTPSToSNoDataProtection Class

Classes

Pascal EIdFTPSToSBothMostSupportSSCN = class(EIdFTPSiteToSiteTransfer); Description EIdFTPSToSBothMostSupportSSCN is a EIdFTPSiteToSiteTransfer (

95) descendant.

See Also EIdFTPSiteToSiteTransfer (

95)

EIdFTPSToSIPProtoMustBeSame Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPSToSIPProtoMustBeSame = class(EIdFTPSiteToSiteTransfer); Description EIdFTPSToSIPProtoMustBeSame is a EIdFTPSiteToSiteTransfer (

95) descendant.

See Also EIdFTPSiteToSiteTransfer (

95)

EIdFTPSToSNATFastTrack Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPSToSNATFastTrack = class(EIdFTPSiteToSiteTransfer); Description EIdFTPSToSNATFastTrack is a EIdFTPSiteToSiteTransfer (

95) descendant.

See Also EIdFTPSiteToSiteTransfer (

95)

EIdFTPSToSNoDataProtection Class File IdFTP (

96

4629)

Internet Direct (Indy) Version 10.1.5

Classes

EIdFTPUploadFileNameCanNotBeEmpty

Hierarchy

Pascal EIdFTPSToSNoDataProtection = class(EIdFTPSiteToSiteTransfer); Description EIdFTPSToSNoDataProtection is a EIdFTPSiteToSiteTransfer (

95) descendant.

See Also EIdFTPSiteToSiteTransfer (

95)

EIdFTPSToSTransModesMustBeSame Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPSToSTransModesMustBeSame = class(EIdFTPSiteToSiteTransfer); Description EIdFTPSToSTransModesMustBeSame is a EIdFTPSiteToSiteTransfer (

95) descendant.

See Also EIdFTPSiteToSiteTransfer (

95)

EIdFTPUnknownOTPMethodException Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPUnknownOTPMethodException = class(EIdFTPException); Description EIdFTPUnknownOTPMethodException is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

Internet Direct (Indy) Version 10.1.5

97

EIdHostRequired Class

Classes

EIdFTPUploadFileNameCanNotBeEmpty Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPUploadFileNameCanNotBeEmpty = class(EIdFTPException); Description EIdFTPUploadFileNameCanNotBeEmpty is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdFTPWrongIOHandler Class File IdFTP (

4629)

Hierarchy

Pascal EIdFTPWrongIOHandler = class(EIdFTPException); Description EIdFTPWrongIOHandler is a EIdFTPException (

90) descendant.

See Also EIdFTPException (

90)

EIdHostRequired Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdHostRequired = class(EIdException); Description EIdHostRequired is a EIdException (

98

76) descendant.

Internet Direct (Indy) Version 10.1.5

Classes

EIdHTTPHeaderAlreadyWritten Class

See Also EIdException (

76)

EIdHTTPCannotSwitchSessionStateWhenActive Class HTTP server exception for changing state on an active server. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal EIdHTTPCannotSwitchSessionStateWhenActive = class(EIdHTTPServerError); Description EIdHTTPCannotSwitchSessionStateWhenActive is an EIdHTTPServerError ( 102) descendant raised when a HTTP server attempts to change the value of the SessionState property for an Active HTTP server. See Also EIdHTTPServerError (

102)

TIdCustomHTTPServer.SessionState (

442)

TIdCustomHTTPServer.Active

EIdHTTPErrorParsingCommand Class HTTP server exception for an unknown HTTP command. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal EIdHTTPErrorParsingCommand = class(EIdHTTPServerError); Description EIdHTTPErrorParsingCommand is an EIdHTTPServerError ( determine the HTTP command from a client connection.

102) exception descendant raised when a HTTP server is unable to

EIdHTTPErrorParsingCommand is raised during execution of the TIdContext ( 376) for a client session when trying to read a malformed HTTP command, version number, and arguments from the client connection. See Also EIdHTTPServerError ( TIdHTTPServer ( TIdContext (

102)

1102)

376)

Internet Direct (Indy) Version 10.1.5

99

EIdHTTPProtocolException Class

Classes

EIdHTTPHeaderAlreadyWritten Class HTTP response exception raised during writing headers. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal EIdHTTPHeaderAlreadyWritten = class(EIdHTTPServerError); Description EIdHTTPHeaderAlreadyWritten is an EIdHTTPServerError ( 102) descendant that represents the exception raised when TIdHTTPResponseInfo ( 1089) attempts to write headers for a response where the headers have already been written. See Also EIdHTTPServerError (

102)

TIdHTTPResponseInfo.WriteHeader (

1095)

TIdHTTPResponseInfo.HeaderHasBeenWritten (

1098)

EIdHTTPProtocolException Class Exception (

4733) raised during processing of a HTTP response.

File IdHTTP (

4662)

Hierarchy

Pascal EIdHTTPProtocolException = class(EIdReplyRFCError); Description EIdHTTPProtocolException is a EIdReplyRFCError ( 140) descendant that represents an exception type raised by the HTTP protocol handler during processing of an HTTP response. EIdHTTPProtocolException is generally raised when an unexpected numeric HTTP response code is received from the HTTP response. EIdHTTPProtocolException reimplements the alternate constructor CreateError ( with the values specified in the arguments to the constructor. EIdHTTPProtocolException also implements ErrorMessage (

101) to facilitate creating an exception instance

102) to describe the text in the protocol error message.

See Also EIdReplyRFCError (

140)

EIdHTTPProtocolException Members The following tables list the members exposed by EIdHTTPProtocolException. 100

Internet Direct (Indy) Version 10.1.5

Classes

EIdHTTPProtocolException Class

Properties Property

Description

ErrorCode (

141)

ErrorMessage (

102)

Text for the HTTP protocol error response.

Methods Method

Description

Create (

77)

CreateError ( IfAssigned ( IfFalse (

IfNotInRange ( IfTrue (

Constructor for the exception instance. Raises an instance of the exception based on an object reference.

78)

IfNotAssigned (

Toss (

101)

78)

Raises an instance of the exception based on an expression value. 79) 80)

80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

81)

Raises the exception class with the specified message.

Legend Constructor virtual Property read only

EIdHTTPProtocolException Methods The Methods of the EIdHTTPProtocolException class are listed here. Methods Method

Description

CreateError (

101)

Constructor for the exception instance.

Legend Constructor virtual

EIdHTTPProtocolException.CreateError Constructor Constructor for the exception instance. Pascal constructor CreateError( const anErrCode: Integer; const asReplyMessage: string; const asErrorMessage: string ); virtual; reintroduce; Parameters Parameters

Description

anErrCode

Numeric error code from the HTTP response.

asReplyMessage

General description of the error.

asErrorMessage

Context specific text for the error message. CreateError also assigns the value in asErrorMessage to the ErrorMessage ( 102) property prior to raising the exception.

Description CreateError is the constructor for the exception. CreateError calls the inherited CreateError method using the anErrCode and asReplyMessage

Internet Direct (Indy) Version 10.1.5

101

EIdHTTPServerError Class

Classes

EIdHTTPProtocolException Properties The Properties of the EIdHTTPProtocolException class are listed here. Properties Property

Description

ErrorMessage (

102)

Text for the HTTP protocol error response.

Legend Property read only

EIdHTTPProtocolException.ErrorMessage Property Text for the HTTP protocol error response. Pascal property ErrorMessage: string; Description ErrorMessage is a read-ony String property that represents the text portion of a protocol error received in a HTTP response. ErrorMessage is initalized using an argument in the CreateError ( 101) constructor.

EIdHttpProxyError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdHttpProxyError = class(EIdException); Description EIdHttpProxyError is an EIdException (

76) descendant

See Also EIdException (

76)

EIdHTTPServerError Class Ancestor for Indy HTTP exceptions. File IdCustomHTTPServer (

4608)

Hierarchy

102

Internet Direct (Indy) Version 10.1.5

Classes

EIdIcmpException Class

Pascal EIdHTTPServerError = class(EIdException); Description EIdHTTPServerError is an EIdException (

76) descendant that is the ancestor for all HTTP-related exceptions in Indy.

See Also EIdException (

76)

EIdHTTPHeaderAlreadyWritten (

100)

EIdHTTPErrorParsingCommand (

99)

EIdHTTPUnsupportedAuthorisationScheme (

103)

EIdHTTPCannotSwitchSessionStateWhenActive (

99)

EIdHTTPUnsupportedAuthorisationScheme Class HTTP server exception for an invalid authentication scheme. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal EIdHTTPUnsupportedAuthorisationScheme = class(EIdHTTPServerError); Description EIdHTTPUnsupportedAuthorisationScheme is an EIdHTTPServerError ( has received a request with an invalid Authorization header.

102) exception descendant raised when a HTTP server

When "Authorization" is used in the request, it must contain the "Basic" authentication type with Base64-encoded user and password information. See Also EIdHTTPServerError ( TIdHTTPRequestInfo (

102) 1077)

EIdIcmpException Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdIcmpException = class(EIdException); Description EIdIcmpException is an EIdException ( Internet Direct (Indy) Version 10.1.5

76) descendant 103

EIdIdentInvalidPort Class

Classes

See Also EIdException (

76)

EIdIdentException Class Exception (

4733) type that is the ancestor for Ident protocol exceptions.

File IdIdent (

4665)

Hierarchy

Pascal EIdIdentException = class(EIdException); Description EIdIdentException is a EIdException ( exceptions.

76) descendant that represents the exception type that is the ancestor for Ident protocol

See Also EIdIdentReply (

106)

EIdIdentInvalidPort ( EIdIdentNoUser (

105)

105)

EIdIdentHiddenUser (

104)

EIdIdentUnknownError (

106)

EIdIdentQueryTimeOut (

105)

EIdIdentHiddenUser Class Exception (

4733) raised when a HIDDEN-USER message is found in an Ident protocol reply.

File IdIdent (

4665)

Hierarchy

Pascal EIdIdentHiddenUser = class(EIdIdentReply); Description EIdIdentHiddenUser is an EIdIdentReply ( 106) descendant that represents the exception raised an HIDDEN-USER error is received in the protocol reply in TIdIdent.Reply ( 1141). EIdIdentHiddenUser will be raised when the protocol reply is parsed in TIdIdent.Query (

1140).

See Also EIdIdentReply (

104

106) TIdIdent.Reply (

1141) TIdIdent.Query (

1140)

Internet Direct (Indy) Version 10.1.5

Classes

EIdIdentQueryTimeOut Class

EIdIdentInvalidPort Class Exception (

4733) raised when an INVALID-PORT message is found in an Ident protocol reply.

File IdIdent (

4665)

Hierarchy

Pascal EIdIdentInvalidPort = class(EIdIdentReply); Description EIdIdentInvalidPort is an EIdIdentReply ( 106) descendant that represents the exception raised an INVALID-PORT error is received in the protocol reply in TIdIdent.Reply ( 1141). EIdIdentInvalidPort will be raised when the protocol reply is parsed in TIdIdent.Query (

1140).

See Also EIdIdentReply (

106) TIdIdent.Reply (

1141) TIdIdent.Query (

1140)

EIdIdentNoUser Class Exception (

4733) raised when a NO-USER message is found in an Ident protocol reply.

File IdIdent (

4665)

Hierarchy

Pascal EIdIdentNoUser = class(EIdIdentReply); Description EIdIdentNoUser is an EIdIdentReply ( 106) descendant that represents the exception raised a NO-USER error is received in the protocol reply in TIdIdent.Reply ( 1141). EIdIdentNoUser will be raised when the protocol reply is parsed in TIdIdent.Query (

1140).

See Also EIdIdentReply (

106) TIdIdent.Reply (

1141) TIdIdent.Query (

1140)

EIdIdentQueryTimeOut Class Exception (

4733) raised when a timeout occurs while reading an Ident protocol reply.

File IdIdent (

4665)

Internet Direct (Indy) Version 10.1.5

105

EIdIdentUnknownError Class

Classes

Hierarchy

Pascal EIdIdentQueryTimeOut = class(EIdIdentReply); Description EIdIdentQueryTimeOut is an EIdIdentReply ( 106) descendant that represents the exception raised when a timeout occurs while reading the Ident protocol reply in TIdIdent.Query ( 1140). EIdIdentQueryTimeOut will be raised if ReadLn is unable to read the value for TIdIdent.Reply ( 1141) prior to the elapsed value in TIdIdent.QueryTimeout. If a timeout occurs, the connection is closed prior to raising the EIdIdentQueryTimeOut exception. See Also EIdIdentReply (

106) TIdIdent.Query (

1140) TIdIdent.Reply (

1141)

EIdIdentReply Class Ancestor for all Ident protocol errors in an Ident protocol reply. File IdIdent (

4665)

Hierarchy

Pascal EIdIdentReply = class(EIdIdentException); Description EIdIdentReply is an EIdIdentException ( 104) descendant that represents the ancestor class for all exception raised when an error message has been detected and parsed from the protocol reply in TIdIdent.Reply ( 1141). See Also EIdIdentInvalidPort ( 105) EIdIdentNoUser ( 105) EIdIdentQueryTimeOut ( 105) TIdIdent.Reply ( 1141)

EIdIdentHiddenUser

(

104)

EIdIdentUnknownError

(

106)

EIdIdentUnknownError Class Exception (

4733) raised when a UNKNOWN-ERROR message is found in an Ident protocol reply.

File IdIdent (

4665)

Hierarchy

Pascal EIdIdentUnknownError = class(EIdIdentReply); Description EIdIdentUnknownError is an EIdIdentReply ( 106

106) descendant that represents the exception raised an UNKNOWN-ERROR error Internet Direct (Indy) Version 10.1.5

Classes

EIdInterceptCircularLink Class

is received in the protocol reply in TIdIdent.Reply (

1141).

EIdIdentUnknownError will be raised when the protocol reply is parsed in TIdIdent.Query (

1140).

See Also EIdIdentReply (

106) TIdIdent.Reply (

1141) TIdIdent.Query (

1140)

EIdIMAP4ImplicitTLSRequiresSSL Class File IdIMAP4Server (

4668)

Hierarchy

Pascal EIdIMAP4ImplicitTLSRequiresSSL = class(EIdIMAP4ServerException); Description EIdIMAP4ImplicitTLSRequiresSSL is a EIdIMAP4ServerException (

107) descendant

See Also EIdIMAP4ServerException (

107)

EIdIMAP4ServerException Class File IdIMAP4Server (

4668)

Hierarchy

Pascal EIdIMAP4ServerException = class(EIdException); Description EIdIMAP4ServerException is a EIdException (

76) descendant

See Also EIdException (

76)

EIdInterceptCircularLink Class Exception (

4733) raised on recursive intercept assignment.

File IdIntercept (

4669)

Hierarchy

Internet Direct (Indy) Version 10.1.5

107

EIdInvalidAlgorithm Class

Classes

Pascal EIdInterceptCircularLink = class(EIdException); Description EIdInterceptCircularLink is an EIdException ( 76) descendant that represents an exception type raised when a TIdConnectionIntercept ( 368) assignment has detected a recursive assignment for the given class type. EIdInterceptCircularLink is raised when TIdConnectionIntercept ( value.

368) contains the same object reference as the new intercept

See Also EIdException (

76)

EIdInterceptPropInvalid Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdInterceptPropInvalid = class(EIdTCPConnectionError); Description EIdInterceptPropInvalid is an EIdTCPConnectionError (

165) descendant

See Also EIdTCPConnectionError (

165)

EIdInterceptPropIsNil Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdInterceptPropIsNil = class(EIdTCPConnectionError); Description EIdInterceptPropIsNil is an EIdTCPConnectionError (

165) descendant

See Also EIdTCPConnectionError (

165)

EIdInvalidAlgorithm Class Exception ( 108

4733) raised when an invalid algorithm is encountered in the Message Digest challenge/response. Internet Direct (Indy) Version 10.1.5

Classes

EIdInvalidIPAddress Class

File IdAuthenticationDigest (

4587)

Hierarchy

Pascal EIdInvalidAlgorithm = class(EIdException); Description EIdInvalidAlgorithm is an EIdException ( 76) descendant that represents the exception type raised when TIdDigestAuthentication ( 573) performs the challenge/response exchange, and detects an algorithm other than 'MD5' as expected in the Message Digest algorithm.

EIdInvalidFTPListingFormat Class Exception (

4733) raised when an invalid format is detected while parsing the contents of a directory listing in the FTP client.

File IdFTPList (

4634)

Hierarchy

Pascal EIdInvalidFTPListingFormat = class(EIdException); Description EIdInvalidFTPListingFormat is an EIdException ( 76) descendant that represents the exception raised when an invalid format is detected while parsing the contents of a directory listing in the FTP client. See Also EIdException (

76)

EIdInvalidIPAddress Class Exception (

4733) raised when converting an invalid IP address string to it's native representation.

File IdException (

4624)

Hierarchy

Pascal EIdInvalidIPAddress = class(EIdSocketHandleError); Description EIdInvalidIPAddress is an EIdSocketHandleError ( 154) descendant that represents an exception raised when an error occurs trying to translate a string containing an IP address into it's TInAddr representation.

Internet Direct (Indy) Version 10.1.5

109

EIdInvalidPortRange Class

Classes

See Also EIdSocketHandleError (

154)

EIdInvalidIPv6Address Class Exception (

4733) raised when creating an IPv6 address from its' representation as a string.

File IdGlobal (

4650)

Hierarchy

Pascal EIdInvalidIPv6Address = class(EIdException); Description EIdInvalidIPv6Address is an EIdException ( 76) descendant raised when attempting to convert a string representing an IPv6 network address to its' representation as a TIdIPv6Address ( 3040) datat type. EIdInvalidIPv6Address is raised in the IPv6ToIdIPv6Address ( for the provided string argument.

2846) function when a canonical IP address cannot be constructed

EIdInvalidIPv6Address uses the values in both RSInvalidIPv6Address and the IP address to form the exception message. See Also EIdException (

76)

IPv6ToIdIPv6Address (

2846)

RSInvalidIPv6Address

EIdInvalidObjectType Class Exception (

4733) raised for an invalid file stream for a file data item.

File IdMultipartFormData (

4691)

Hierarchy

Pascal EIdInvalidObjectType = class(EIdException); Description EIdInvalidObjectType is a EIdException ( 76) descendant that represents the exception type raised a multipart form data field cannot locate the TStream associated with file data item. See Also EIdException (

110

76)

Internet Direct (Indy) Version 10.1.5

Classes

EIdInvalidServiceName Class

EIdInvalidPortRange Class Represents an exception raised during bind due to an invalid port number range. File IdException (

4624)

Hierarchy

Pascal EIdInvalidPortRange = class(EIdSocketHandleError); Description EIdInvalidPortRange is an EIdSocketHandleError ( 154) descendant that represents an exception raised when a socket handle cannot using a port number for a requested range of port numbers. EIdInvalidPortRange is raised in TIdSocketHandle ( 2071) when the Bind method encounters client port ranges where the minimum port number is larger than the maximum port number. EIdInvalidPortRange uses the constant value RSInvalidPortRange, including the mimimum and maximum port numbers, to form the exception message text. See Also EIdSocketHandleError (

154)

EIdCouldNotBindSocket (

71)

EIdCanNotBindPortInRange ( TIdSocketHandle.Bind (

64)

2075)

TIdSocketHandle.ClientPortMin (

2087)

TIdSocketHandle.ClientPortMax (

2086)

EIdInvalidServiceName Class Exception (

4733) raised when a service name cannot be resolved to a port number.

File IdStackBSDBase (

4728)

Hierarchy

Pascal EIdInvalidServiceName = class(EIdException); Description EIdInvalidServiceName is an EIdException ( service name to a valid port number.

76) descendant that represents the exception raised when attempting resolve a

EIdInvalidServiceName is raised in TIdStackLinux.WSGetServByName ( 2249) with the exception message RSInvalidServiceName.

2232) and TIdStackWindows.WSGetServByName (

See Also EIdException (

76)

Internet Direct (Indy) Version 10.1.5

111

EIdIoHandlerRequiresLargeStream Class

Classes

RSInvalidServiceName

EIdInvalidSocket Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdInvalidSocket = class(EIdException); Description EIdInvalidSocket is an EIdException (

76) descendant

See Also EIdException (

76)

EIdIOHandlerPropInvalid Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdIOHandlerPropInvalid = class(EIdTCPConnectionError); Description EIdIOHandlerPropInvalid is an EIdTCPConnectionError (

165) descendant

See Also EIdTCPConnectionError (

165)

EIdIoHandlerRequiresLargeStream Class Exception ( 4733) raised TIdIOHandler ( supported in the IOHandler.

1284) when writing a stream in TIdIOHandler (

1284) that requires a 64-bit size not

File IdIOHandler (

4670)

Hierarchy

Pascal EIdIoHandlerRequiresLargeStream = class(EIdIoHandler);

112

Internet Direct (Indy) Version 10.1.5

Classes

EIdIPVersionUnsupported Class

Description EIdIoHandlerRequiresLargeStream is an EIdIoHandler descendant that is the exception raised in TIdIOHandler ( Write method is called using a stream instance that cannot handle the 64-bit size required for the write operation.

1284) when the

See Also EIdIoHandler

EIdIPv6Unavailable Class Exception (

4733) raised when IP version 6 addresses are not supported in the Indy library.

File IdStackWindows (

4730)

Hierarchy

Pascal EIdIPv6Unavailable = class(EIdException); Description EIdIPv6Unavailable is an EIdException ( method.

76) descendant raised when an IP version 6 address is passed to the HostByAddress

EIdIPv6Unavailable is created with the exception message indicates in the resource string RSIPv6Unavailable. EIdIPv6Unavailable indicates that IP version address support has not been compiled into the Indy library, or is not support on the platform or Operating System hosting the Indy library. See Also EIdException (

76)

EIdIPv6Unavailable TIdStackWindows.HostByAddress (

2240)

EIdIPVersionUnsupported Class Exception (

4733) raised during conversion of IP addresses.

File IdStackBSDBase (

4728)

Hierarchy

Pascal EIdIPVersionUnsupported = class(EIdStackError); Description EIdIPVersionUnsupported is an EIdStackError ( 164) descendant that represents the exception raised when attempting to convert an IP address. EIdIPVersionUnsupported indicates that an IP address family other than version 4 or version 6 has been requested. EIdIPVersionUnsupported is used TIdStackBSDBase.TranslateStringToTInAddr ( Internet Direct (Indy) Version 10.1.5

in TIdStackBSDBase.TranslateTInAddrToString 2195).

(

2196)

and

113

EIdMCastException Class

Classes

See Also EIdStackError (

164)

TIdStackBSDBase.TranslateTInAddrToString (

2196)

TIdStackBSDBase.TranslateStringToTInAddr (

2195)

EIdLPRErrorException Class This exception is raised when the LPR daemon indicates that an error occurred. File IdLPR (

4679)

Hierarchy

Pascal EIdLPRErrorException = class(EIdException); Description This exception is raised when the LPR daemon indicates that an error occurred. See Also TIdLPR (

1469)

EIdMaxCaptureLineExceeded Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdMaxCaptureLineExceeded = class(EIdException); Description EIdMaxCaptureLineExceeded is an EIdException (

76) descendant

See Also EIdException (

76)

EIdMCastException Class Ancestor for all Multicast-related exceptions. File IdIPMCastBase (

114

4673)

Internet Direct (Indy) Version 10.1.5

Classes

EIdMCastNotValidAddress Class

Hierarchy

Pascal EIdMCastException = class(EIdException); Description EIdMCastException is an EIdException ( Multicast-related exceptions.

76) descendant that represents the event type that is the ancestor for all

See Also EIdException (

76) EIdMCastNoBindings (

115) EIdMCastNotValidAddress (

115)

EIdMCastNoBindings Class Exception (

4733) raised when an error occurs during binding allocation.

File IdIPMCastBase (

4673)

Hierarchy

Pascal EIdMCastNoBindings = class(EIdMCastException); Description EIdMCastNoBindings is an EIdMCastException ( 114) descendant that represents an exception type raised when an error occurs while creating a binding for TIdIPMCastClient ( 1379). See Also EIdMCastException (

114) TIdIPMCastClient.Bindings (

1381)

EIdMCastNotValidAddress Class Exception (

4733) raised when an error occurs during binding allocation.

File IdIPMCastBase (

4673)

Hierarchy

Pascal EIdMCastNotValidAddress = class(EIdMCastException); Description EIdMCastNotValidAddress is an EIdMCastException ( 114) descendant that represents an exception type raised when an error occurs while setting or writing to the Multicast group address for a TIdIPMCastBase ( 1377) component. TIdIPMCastBase.IsValidMulticastGroup (

Internet Direct (Indy) Version 10.1.5

1378) is used to determine if the group address is a valid multicast address.

115

EIdMessageException Class

Classes

See Also EIdMCastException ( 1379)

114) TIdIPMCastBase.IsValidMulticastGroup (

1378) TIdIPMCastServer (

1387) TIdIPMCastClient (

EIdMCastReceiveErrorZeroBytes Class File IdIPMCastBase (

4673)

Hierarchy

Pascal EIdMCastReceiveErrorZeroBytes = class(EIdMCastException); Description EIdMCastReceiveErrorZeroBytes is a EIdMCastException (

114) descendant

See Also EIdMCastException (

114)

EIdMessageCannotLoad Class Exeception raised when attempting to load a message from an invalid or missing file name. File IdMessage (

4682)

Hierarchy

Pascal EIdMessageCannotLoad = class(EIdMessageException); Description EIdMessageCannotLoad is an EIdMessageException ( 116) descendant that represents the exception raised when an invalid or missing file name is used in TIdMessage.LoadFromFile ( 1532). See Also TIdMessage.LoadFromFile (

1532)

EIdMessageException Class File IdExceptionCore (

4625)

Hierarchy

116

Internet Direct (Indy) Version 10.1.5

Classes

EIdMessageYencInvalidCRCException

Pascal EIdMessageException = class(EIdException); Description EIdMessageException is an EIdException (

76) descendant

See Also EIdException (

76)

EIdMessageYencCorruptionException Class File IdMessageCoderYenc (

4688)

Hierarchy

Pascal EIdMessageYencCorruptionException = class(EIdMessageYencException); Description EIdMessageYencCorruptionException EIdMessageYencException (

117) descendant

See Also EIdMessageYencException (

117)

EIdMessageYencException Class File IdMessageCoderYenc (

4688)

Hierarchy

Pascal EIdMessageYencException = class(EIdMessageException); Description EIdMessageYencException EIdMessageException (

116) descendant

See Also EIdMessageException (

116)

EIdMessageYencInvalidCRCException Class File IdMessageCoderYenc (

4688)

Internet Direct (Indy) Version 10.1.5

117

EIdMissingColon Class

Classes

Hierarchy

Pascal EIdMessageYencInvalidCRCException = class(EIdMessageYencException); Description EIdMessageYencInvalidCRCException EIdMessageYencException (

117) descendant

See Also EIdMessageYencException (

117)

EIdMessageYencInvalidSizeException Class File IdMessageCoderYenc (

4688)

Hierarchy

Pascal EIdMessageYencInvalidSizeException = class(EIdMessageYencException); Description EIdMessageYencInvalidSizeException EIdMessageYencException (

117) descendant

See Also EIdMessageYencException (

117)

EIdMissingColon Class Represents the exception raised when the colon at the start or end of the BinHex 4.0 content cannot be located during decoding. File IdCoderBinHex4 (

4593)

Hierarchy

Pascal EIdMissingColon = class(EIdException); Description EIdMissingColon is an Exception ( 4733) descendant that represents the exception raised when the colon at the start or end of the BinHex 4.0 content cannot be located during decoding. EIdMissingColon is raised in the TIdDecoderBinHex4.Decode (

541) method with the following messages:

• Block passed to TIdDecoderBinHex4.Decode (

541) is missing a starting colon

• Block passed to TIdDecoderBinHex4.Decode (

541) is missing a terminating colon

118

Internet Direct (Indy) Version 10.1.5

Classes

EIdNNTPException Class

See Also TIdDecoderBinHex4.Decode (

541)

EIdMustUseOpenProxy Class Exception (

4733) raised when sending or receiving datagrams through a proxy server.

File IdUDPClient (

4750)

Hierarchy

Pascal EIdMustUseOpenProxy = class(EIdUDPException); Description EIdMustUseOpenProxy is an EIdUDPException ( datagrams through a proxy server.

178) descendant that represents the exception raised when sending or receiving

See Also EIdUDPException (

178)

ReceiveBuffer SendBuffer

EIdNNTPConnectionRefused Class Indicates a connection to the NNTP server has been refused. File IdNNTP (

4692)

Hierarchy

Pascal EIdNNTPConnectionRefused = class(EIdReplyRFCError); Description EIdNNTPConnectionRefused is an EIdReplyRFCError ( receives the 502 NNTP response code.

140) descendant raised when an the TIdNNTP.Connect (

1695) method

See Also TIdNNTP.Connect ( EIdReplyRFCError (

1695) 140)

Internet Direct (Indy) Version 10.1.5

119

EIdNNTPNoOnNewGroupsList Class

Classes

EIdNNTPException Class Ancestor class for NNTP exceptions. File IdNNTP (

4692)

Hierarchy

Pascal EIdNNTPException = class(EIdException); Description EIdNNTPException is an EIdException (

76) descendant that is the ancestor for NNTP exceptions in the Indy library.

See Also EIdNNTPNoOnNewGroupsList ( EIdNNTPNoOnNewNewsList (

120) 121)

EIdNNTPNoOnNewsgroupList ( EIdNNTPStringListNotInitialized (

121) 123)

EIdNNTPImplicitTLSRequiresSSL Class File IdNNTPServer (

4693)

Hierarchy

Pascal EIdNNTPImplicitTLSRequiresSSL = class(EIdNNTPServerException); Description EIdNNTPImplicitTLSRequiresSSL EIdNNTPServerException (

122) descendant

See Also EIdNNTPServerException (

122)

EIdNNTPNoOnNewGroupsList Class NNTP exception for retrieval of the new Newsgroups list. File IdNNTP (

4692)

Hierarchy

120

Internet Direct (Indy) Version 10.1.5

Classes

EIdNNTPNoOnNewsgroupList Class

Pascal EIdNNTPNoOnNewGroupsList = class(EIdNNTPException); Description EIdNNTPNoOnNewGroupsList is an EIdNNTPException ( 120) exception descendant raised when TIdNNTP.GetNewGroupsList ( 1714) is called and the TIdNNTP.OnNewGroupsList ( 1734) event handler has not been assigned. See Also TIdNNTP.GetNewGroupsList (

1714)

TIdNNTP.OnNewGroupsList (

1734)

EIdNNTPException (

120)

EIdNNTPNoOnNewNewsList Class Exception (

4733) for retrieval of the new NNTP new message list.

File IdNNTP (

4692)

Hierarchy

Pascal EIdNNTPNoOnNewNewsList = class(EIdNNTPException); Description EIdNNTPNoOnNewNewsList is an EIdNNTPException ( 120) descendant raised when TIdNNTP.GetNewNewsList ( called and the TIdNNTP.OnNewNewsList ( 1736) event handler has not been assigned.

1715) is

See Also TIdNNTP.GetNewNewsList (

1715)

TIdNNTP.OnNewNewsList (

1736)

EIdNNTPException (

120)

EIdNNTPNoOnNewsgroupList Class Exception (

4733) for NNTP newsgroup list retrieval.

File IdNNTP (

4692)

Hierarchy

Pascal EIdNNTPNoOnNewsgroupList = class(EIdNNTPException); Description EIdNNTPNoOnNewsgroupList is an EIdNNTPException ( 120) exception descendant raised when TIdNNTP.GetNewsgroupList ( 1717) is called and a TIdNNTP.OnNewsgroupList ( 1737) event handler has not been assigned.

Internet Direct (Indy) Version 10.1.5

121

EIdNNTPServerException Class

Classes

See Also TIdNNTP.GetNewsgroupList (

1717)

TIdNNTP.OnNewsgroupList (

1737)

EIdNNTPException (

120)

EIdNNTPNoOnXHDREntry Class File IdNNTP (

4692)

Hierarchy

Pascal EIdNNTPNoOnXHDREntry = class(EIdNNTPException); Description EIdNNTPNoOnXHDREntry EIdNNTPException (

120) descendant

See Also EIdNNTPException (

120)

EIdNNTPNoOnXOVER Class File IdNNTP (

4692)

Hierarchy

Pascal EIdNNTPNoOnXOVER = class(EIdNNTPException); Description EIdNNTPNoOnXOVER EIdNNTPException (

120) descendant

See Also EIdNNTPException (

120)

EIdNNTPServerException Class File IdNNTPServer (

4693)

Hierarchy

122

Internet Direct (Indy) Version 10.1.5

Classes

EIdNoExecuteSpecified Class

Pascal EIdNNTPServerException = class(EIdException); Description EIdNNTPServerException EIdException (

76) descendant

See Also EIdException (

76)

EIdNNTPStringListNotInitialized Class Exception (

4733) for unsuccessful message retrieval.

File IdNNTP (

4692)

Hierarchy

Pascal EIdNNTPStringListNotInitialized = class(EIdNNTPException); Description EIdNNTPStringListNotInitialized is an EIdNNTPException ( 120) exception descendant raised when TIdNNTP.Check ( called and the TStringList container for messages has not been initialized.

1695) is

See Also TIdNNTP.Check (

1695)

EIdNNTPException (

120)

EIdNoDataToRead Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdNoDataToRead = class(EIdTCPConnectionError); Description EIdNoDataToRead is an EIdTCPConnectionError (

165) descendant

See Also EIdTCPConnectionError (

165)

Internet Direct (Indy) Version 10.1.5

123

EIdNotASocket Class

Classes

EIdNoExecuteSpecified Class Unused at the moment. File IdCustomTCPServer (

4609)

Hierarchy

Pascal EIdNoExecuteSpecified = class(EIdTCPServerError); Description EIdNoExecuteSpecified is a EIdTCPServerError (

166) descendant that is unused at the moment.

See Also EIdTCPServerError (

166)

EIdTCPNoOnExecute (

166)

TIdCustomTCPServer.OnExecute TIdTCPServer.OnExecute (

2379)

EIdNotAllBytesSent Class Exception (

4733) raised for an incomplete socket transmission.

File IdException (

4624)

Hierarchy

Pascal EIdNotAllBytesSent = class(EIdSocketHandleError); Description EIdNotAllBytesSent is an EIdSocketHandleError ( 154) descendant that represents the exception raised when TIdSocketHandle ( 2071) is unable to send all bytes in a transmission to the peer connection. EIdNotAllBytesSent is raised in TIdStackWindows.WSSendTo ( 2250) when the WinSock SendTo() API returns a value (other than Id_SOCKET_ERROR) that does not match the length of send buffer. EIdNotAllBytesSent used the resource string in RSNotAllBytesSent to construct the message for the exception. See Also TIdSocketHandle.WSSendTo EIdSocketHandleError (

154) EIdPackageSizeTooBig (

132)

Id_WSAEMSGSIZE Id_SOCKET_ERROR

124

Internet Direct (Indy) Version 10.1.5

Classes

EIdNotEnoughDataInBuffer Class

EIdNotASocket Class Exception (

4733) raised when a socket operation is performed using an invalid socket handle.

File IdStackBSDBase (

4728)

Hierarchy

Pascal EIdNotASocket = class(EIdSocketError); Description EIdNotASocket is an EIdSocketError ( 152) descendant that represents the exception raised when a socket operation is performed using an invalid socket handle. EIdNotASocket is created in RaiseSocketError when the error number for the last socket operation contains Id_WSAENOTSOCK. The message for the exception will contain the value in the resource string RSStackENOTSOCK. Please note that you can add EIdNotASocket to the list of ignored exceptions in the IDE. This will treat EIdNotASocket just like silent exceptions in the IDE. Your program will still run correctly, but the debugger will not stop on it. See Also EIdSocketError (

152)

TIdStackBSDBase.RaiseSocketError (

2189)

Id_WSAENOTSOCK

EIdNotConnected Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdNotConnected = class(EIdException); Description EIdNotConnected is an EIdException (

76) descendant

See Also EIdException (

76)

EIdNotEnoughDataInBuffer Class Exception (

4733) raised when extracting data from the buffer.

Internet Direct (Indy) Version 10.1.5

125

EIdObjectTypeNotSupported Class

Classes

File IdBuffer (

4588)

Hierarchy

Pascal EIdNotEnoughDataInBuffer = class(EIdException); Description EIdNotEnoughDataInBuffer is an EIdException ( the buffer.

76) descendant that represents an exception raised when extracting data from

EIdNotEnoughDataInBuffer indicates that not enough data exists in the buffer to satisfy the extraction request. See Also EIdException (

76)

TIdBuffer.ExtractToBytes (

287)

TIdBuffer.ExtractToIdBuffer (

289)

TIdBuffer.ExtractToStream (

292)

EIdNumberInvalid Class File IdIMAP4 (

4666)

Hierarchy

Pascal EIdNumberInvalid = class(EIdException); Description EIdNumberInvalid is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdObjectTypeNotSupported Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdObjectTypeNotSupported = class(EIdTCPConnectionError); Description EIdObjectTypeNotSupported is an EIdTCPConnectionError ( 126

165) descendant Internet Direct (Indy) Version 10.1.5

Classes

EIdOSSLAcceptError Class

See Also EIdTCPConnectionError (

165)

EIdOpenSSLError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOpenSSLError = class(EIdException); Description EIdOpenSSLError is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdOpenSSLLoadError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOpenSSLLoadError = class(EIdOpenSSLError); Description EIdOpenSSLLoadError is a EIdOpenSSLError (

127) descendant.

See Also EIdOpenSSLError (

127)

EIdOSSLAcceptError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLAcceptError = class(EIdOpenSSLError);

Internet Direct (Indy) Version 10.1.5

127

EIdOSSLCreatingContextError Class

Classes

Description EIdOSSLAcceptError is a EIdOpenSSLError (

127) descendant.

See Also EIdOpenSSLError (

127)

EIdOSSLConnectError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLConnectError = class(EIdOpenSSLError); Description EIdOSSLConnectError is a EIdOpenSSLError (

127) descendant.

See Also EIdOpenSSLError (

127)

EIdOSSLCouldNotLoadSSLLibrary Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLCouldNotLoadSSLLibrary = class(EIdOpenSSLLoadError); Description EIdOSSLCouldNotLoadSSLLibrary is a EIdOpenSSLLoadError (

127) descendant.

See Also EIdOpenSSLLoadError (

127)

EIdOSSLCreatingContextError Class File IdSSLOpenSSL (

4726)

Hierarchy

128

Internet Direct (Indy) Version 10.1.5

Classes

EIdOSSLLoadingCertError Class

Pascal EIdOSSLCreatingContextError = class(EIdOpenSSLError); Description EIdOSSLCreatingContextError is a EIdOpenSSLError (

127) descendant.

See Also EIdOpenSSLError (

127)

EIdOSSLDataBindingError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLDataBindingError = class(EIdOpenSSLError); Description EIdOSSLDataBindingError is a EIdOpenSSLError (

127) descendant.

See Also EIdOpenSSLError (

127)

EIdOSSLGetMethodError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLGetMethodError = class(EIdOpenSSLError); Description EIdOSSLGetMethodError is a EIdOpenSSLError (

127) descendant.

See Also EIdOpenSSLError (

127)

EIdOSSLLoadingCertError Class File IdSSLOpenSSL (

4726)

Internet Direct (Indy) Version 10.1.5

129

EIdOSSLModeNotSet Class

Classes

Hierarchy

Pascal EIdOSSLLoadingCertError = class(EIdOpenSSLLoadError); Description EIdOSSLLoadingCertError is a EIdOpenSSLLoadError (

127) descendant.

See Also EIdOpenSSLLoadError (

127)

EIdOSSLLoadingKeyError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLLoadingKeyError = class(EIdOpenSSLLoadError); Description EIdOSSLLoadingKeyError is a EIdOpenSSLLoadError (

127) descendant.

See Also EIdOpenSSLLoadError (

127)

EIdOSSLLoadingRootCertError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLLoadingRootCertError = class(EIdOpenSSLLoadError); Description EIdOSSLLoadingRootCertError is a EIdOpenSSLLoadError (

127) descendant.

See Also EIdOpenSSLLoadError (

130

127)

Internet Direct (Indy) Version 10.1.5

Classes

EIdOTPSASLException Class

EIdOSSLModeNotSet Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLModeNotSet = class(EIdOpenSSLError); Description EIdOSSLModeNotSet is a EIdOpenSSLError (

127) descendant.

See Also EIdOpenSSLError (

127)

EIdOSSLSettingCipherError Class File IdSSLOpenSSL (

4726)

Hierarchy

Pascal EIdOSSLSettingCipherError = class(EIdOpenSSLError); Description EIdOSSLSettingCipherError is a EIdOpenSSLError (

127) descendant.

See Also EIdOpenSSLError (

127)

EIdOTPSASLException Class Ancestor for exceptions raised in the SASL OTP famework. File IdSASLOTP (

4714)

Hierarchy

Pascal EIdOTPSASLException = class(EIdException); Description EIdOTPSASLException is an EIdException (

Internet Direct (Indy) Version 10.1.5

76) descendant that represents the ancestor for exceptions raised in the SASL OTP

131

EIdPackageSizeTooBig Class

Classes

famework in the Indy library. See Also EIdException (

76) EIdOTPSASLUnknownOTPMethodException (

132)

EIdOTPSASLUnknownOTPMethodException Class Exception (

4733) raised for an invalid OTP extended response in a server challenge.

File IdSASLOTP (

4714)

Hierarchy

Pascal EIdOTPSASLUnknownOTPMethodException = class(EIdOTPSASLException); Description EIdOTPSASLUnknownOTPMethodException is an EIdOTPSASLException ( raised when generating an OTP client response.

131) descendant that represents the exception

EIdOTPSASLUnknownOTPMethodException is raised when an invalid OTP extended response is encountered in a server challenge. EIdOTPSASLUnknownOTPMethodException can be raised in TIdSASLOTP.ContinueAuthenticate ( exception message text:

1946) with the following

Unknown OTP method See Also EIdOTPSASLException (

131)

EIdPackageSizeTooBig Class Exception (

4733) raised for an invalid datagram size.

File IdException (

4624)

Hierarchy

Pascal EIdPackageSizeTooBig = class(EIdSocketHandleError); Description EIdPackageSizeTooBig is an EIdSocketHandleError ( 154) descendant that represents the exception raised when TIdSocketHandle.SendTo ( 2082) is unable to send a large datagram. EIdPackageSizeTooBig is raised in TIdStackWindows.WSSendTo ( 2250) when the WinSock SendTo() API returns the value Id_SOCKET_ERROR, and the last error message is Id_WSAEMSGSIZE. EIdNotAllBytesSent (

132

124) uses the resource string in RSPackageSizeTooBig to construct the message for the exception.

Internet Direct (Indy) Version 10.1.5

Classes

EIdPOP3ReplyException Class

See Also TIdSocketHandle.SendTo ( EIdSocketHandleError ( EIdNotAllBytesSent (

2082)

154)

124)

Id_SOCKET_ERROR Id_WSAEMSGSIZE RSPackageSizeTooBig

EIdPOP3Exception Class File IdPOP3 (

4696)

Hierarchy

Pascal EIdPOP3Exception = class(EIdException); Description EIdPOP3Exception is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdPOP3ImplicitTLSRequiresSSL Class File IdPOP3Server (

4697)

Hierarchy

Pascal EIdPOP3ImplicitTLSRequiresSSL = class(EIdPOP3ServerException); Description EIdPOP3ImplicitTLSRequiresSSL is a EIdPOP3ServerException (

134) descendant.

See Also EIdPOP3ServerException (

134)

EIdPOP3ReplyException Class File IdReplyPOP3 (

4706)

Internet Direct (Indy) Version 10.1.5

133

EIdPortRequired Class

Classes

Hierarchy

Pascal EIdPOP3ReplyException = class(EIdException); Description EIdPOP3ReplyException is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdPOP3ReplyInvalidEnhancedCode Class File IdReplyPOP3 (

4706)

Hierarchy

Pascal EIdPOP3ReplyInvalidEnhancedCode = class(EIdPOP3ReplyException); Description EIdPOP3ReplyInvalidEnhancedCode is a EIdPOP3ReplyException (

133) descendant.

See Also EIdPOP3ReplyException (

133)

EIdPOP3ServerException Class File IdPOP3Server (

4697)

Hierarchy

Pascal EIdPOP3ServerException = class(EIdException); Description EIdPOP3ServerException is a EIdException (

76) descendant.

See Also EIdException (

134

76)

Internet Direct (Indy) Version 10.1.5

Classes

EIdReadLnMaxLineLengthExceeded Class

EIdPortRequired Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdPortRequired = class(EIdException); Description EIdPortRequired is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdRangeException Class Exception (

4733) raised when an index out of range error occurs in the Indy library.

File IdException (

4624)

Hierarchy

Pascal EIdRangeException = class(EIdException); Description EIdRangeException is an EIdException ( occurs in the Indy library.

76) descendant that represents the exception raised when an index out of range error

EIdRangeException is raised in the BytesToString ( 2728) function when the index value is not in the range required to access values in the TIdBytes ( 3007) passed to the routine. See Also EIdException (

76)

BytesToString (

2728)

EIdReadLnMaxLineLengthExceeded Class File IdExceptionCore (

4625)

Hierarchy

Internet Direct (Indy) Version 10.1.5

135

EIdReplyIMAP4Error Class

Classes

Pascal EIdReadLnMaxLineLengthExceeded = class(EIdException); Description EIdReadLnMaxLineLengthExceeded is an EIdException (

76) descendant

See Also EIdException (

76)

EIdReadTimeout Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdReadTimeout = class(EIdException); Description EIdReadTimeout is an EIdException (

76) descendant

See Also EIdException (

76)

EIdReplyError Class Base class for reply exceptions. File IdReply (

4705)

Hierarchy

Pascal EIdReplyError = class(EIdException); Description EIdReplyError is an EIdException ( replies).

76) descendant that represents the base class for exceptions raised in message responses (or

EIdReplyError is the ancestor for TIdRFCRplyError. See Also EIdException (

76)

TIdRFCRplyError

136

Internet Direct (Indy) Version 10.1.5

Classes

EIdReplyIMAP4Error Class

EIdReplyIMAP4Error Class File IdReplyIMAP4 (

4706)

Hierarchy

Pascal EIdReplyIMAP4Error = class(EIdReplyError); Description EIdReplyIMAP4Error is a EIdReplyError (

136) descendant.

See Also EIdReplyError (

136)

EIdReplyIMAP4Error Members The following tables list the members exposed by EIdReplyIMAP4Error. Methods Method

Description

Create (

77)

CreateError (

137)

IfAssigned ( IfFalse (

78)

IfNotAssigned ( IfNotInRange ( IfTrue ( Toss (

Raises an instance of the exception based on an object reference.

78)

Raises an instance of the exception based on an expression value. 79) 80)

80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

81)

Raises the exception class with the specified message.

Legend Constructor virtual

EIdReplyIMAP4Error Methods The Methods of the EIdReplyIMAP4Error class are listed here. Methods Method CreateError (

Description 137)

Legend Constructor

EIdReplyIMAP4Error.CreateError Constructor Pascal constructor CreateError( const AReplyMessage: string ); Internet Direct (Indy) Version 10.1.5

137

EIdReplyPOP3Error Class

Classes

Parameters Parameters

Description

AReplyMessage

Scope is const. Type is string.

Description CreateError is a constructor for the object instance.

EIdReplyPOP3Error Class File IdReplyPOP3 (

4706)

Hierarchy

Pascal EIdReplyPOP3Error = class(EIdReplyError); Description EIdReplyPOP3Error is a EIdReplyError (

136) descendant.

See Also EIdReplyError (

136)

EIdReplyPOP3Error Members The following tables list the members exposed by EIdReplyPOP3Error. Properties Property

Description

EnhancedCode ( ErrorCode (

139)

139)

Methods Method

Description

Create (

77)

CreateError ( IfAssigned ( IfFalse (

IfNotInRange ( Toss (

Raises an instance of the exception based on an object reference.

78)

IfNotAssigned ( IfTrue (

139)

78)

Raises an instance of the exception based on an expression value. 79) 80)

80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

81)

Raises the exception class with the specified message.

Legend Constructor virtual Property read only

EIdReplyPOP3Error Methods The Methods of the EIdReplyPOP3Error class are listed here. 138

Internet Direct (Indy) Version 10.1.5

Classes

EIdReplyRFCError Class

Methods Method

Description

CreateError (

139)

Legend Constructor virtual

EIdReplyPOP3Error.CreateError Constructor Pascal constructor CreateError( const AErrorCode: String; const AReplyMessage: string; const AEnhancedCode: String = '' ); virtual; reintroduce; Parameters Parameters

Description

AErrorCode

Scope is const. Type is String.

AReplyMessage

Scope is const. Type is string.

AEnhancedCode

Scope is const. Type is String.

Description CreateError is a reintroduced,virtual constructor for the object instance.

EIdReplyPOP3Error Properties The Properties of the EIdReplyPOP3Error class are listed here. Properties Property

Description

EnhancedCode ( ErrorCode (

139)

139)

Legend Property read only

EIdReplyPOP3Error.EnhancedCode Property Pascal property EnhancedCode: String; Description EnhancedCode is a Public read-only String property.

EIdReplyPOP3Error.ErrorCode Property Pascal property ErrorCode: String; Description ErrorCode is a Public read-only String property.

Internet Direct (Indy) Version 10.1.5

139

EIdReplyRFCError Class

Classes

EIdReplyRFCError Class Exception (

4733) raised for RFC-compliant protocol responses.

File IdReplyRFC (

4707)

Hierarchy

Pascal EIdReplyRFCError = class(EIdReplyError); Description EIdReplyRFCError is an EIdReplyError ( protocol responses.

136) descendant that represents the generic exception raised for RFC-compliant

EIdReplyRFCError implements an ErrorCode ( 141) property for the protocol response, and an alternate cosntructor for creating the exception with a given error code and message text. EIdReplyRFCError is used as an ancestor class for EIdNNTPConnectionRefused ( 119), and EIdSMTPREplyError.

protocol-specific

errors,

like

EIdHTTPProtcolException,

See Also EIdReplyError (

136)

EIdHTTPProtcolException EIdNNTPConnectionRefused (

119)

EIdSMTPREplyError

EIdReplyRFCError Members The following tables list the members exposed by EIdReplyRFCError. Properties Property

Description

ErrorCode (

141)

Methods Method

Description

Create (

77)

CreateError ( IfAssigned ( IfFalse (

IfNotInRange ( Toss (

Constructor for the object instance. Raises an instance of the exception based on an object reference.

78)

IfNotAssigned ( IfTrue (

141)

78)

Raises an instance of the exception based on an expression value. 79) 80)

80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

81)

Raises the exception class with the specified message.

Legend Constructor virtual Property read only

140

Internet Direct (Indy) Version 10.1.5

Classes

EIdResolveError Class

EIdReplyRFCError Methods The Methods of the EIdReplyRFCError class are listed here. Methods Method

Description

CreateError (

141)

Constructor for the object instance.

Legend Constructor virtual

EIdReplyRFCError.CreateError Constructor Constructor for the object instance. Pascal constructor CreateError( const AErrorCode: Integer; const AReplyMessage: string ); virtual; reintroduce; Parameters Parameters

Description

AErrorCode

Numeric protocol response code for the exception.

AReplyMessage

Textual message for the protocol response exception.

Description CreateError is an alternate constructor for the exception instance, and initializes the exception with the ErrorCode ( Message indicated in AErrorCode and AReplyMessage. Use TIdReplyRFC.RaiseReplyError (

1853) to create (

141) and

77) and raise an instance of the exception using an RFC response.

EIdReplyRFCError Properties The Properties of the EIdReplyRFCError class are listed here. Properties Property

Description

ErrorCode (

141)

Legend Property read only

EIdReplyRFCError.ErrorCode Property Pascal property ErrorCode: Integer; Description ErrorCode is a read-only Integer property that represents the numeric response code from a protocol response that results in the exception being raised. Use CreateError (

141) to instance an exception instance with a given numeric code and message text.

Internet Direct (Indy) Version 10.1.5

141

EIdReverseResolveError Class

Classes

EIdResolveError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdResolveError = class(EIdSocketError); Description EIdResolveError is an EIdSocketError (

152) descendant

See Also EIdSocketError (

152)

EIdResponseError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdResponseError = class(EIdException); Description EIdResponseError is an EIdException (

76) descendant

See Also EIdException (

76)

EIdReverseResolveError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdReverseResolveError = class(EIdSocketError); Description EIdReverseResolveError is an EIdSocketError (

142

152) descendant

Internet Direct (Indy) Version 10.1.5

Classes

EIdSASLMsg Class

See Also EIdSocketError (

152)

EIdSASLException Class File IdSASLCollection (

4713)

Hierarchy

Pascal EIdSASLException = class(EIdException); Description EIdSASLException is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdSASLMechNeeded Class File IdSASLCollection (

4713)

Hierarchy

Pascal EIdSASLMechNeeded = class(EIdSASLException); Description EIdSASLMechNeeded is a EIdSASLException (

143) descendant.

See Also EIdSASLException (

143)

EIdSASLMsg Class File IdSASLCollection (

4713)

Hierarchy

Pascal EIdSASLMsg = class(EIdException);

Internet Direct (Indy) Version 10.1.5

143

EIdSchedulerException Class

Classes

Description EIdSASLMsg is a EIdException (

76) descendant.

See Also EIdException (

76)

EIdSASLNotSupported Class File IdSASLCollection (

4713)

Hierarchy

Pascal EIdSASLNotSupported = class(EIdSASLException); Description EIdSASLNotSupported is a EIdSASLException (

143) descendant.

See Also EIdSASLException (

143)

EIdSASLNotValidForProtocol Class File IdSASLCollection (

4713)

Hierarchy

Pascal EIdSASLNotValidForProtocol = class(EIdSASLMsg); Description EIdSASLNotValidForProtocol is a EIdSASLMsg (

143) descendant.

See Also EIdSASLMsg (

143)

EIdSchedulerException Class File IdExceptionCore (

4625)

Hierarchy

144

Internet Direct (Indy) Version 10.1.5

Classes

EIdSilentException Class

Pascal EIdSchedulerException = class(EIdException); Description EIdSchedulerException is an EIdException (

76) descendant

See Also EIdException (

76)

EIdSchedulerMaxThreadsExceeded Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSchedulerMaxThreadsExceeded = class(EIdSchedulerException); Description EIdSchedulerMaxThreadsExceeded is an EIdSchedulerException (

144) descendant

See Also EIdSchedulerException (

144)

EIdSetSizeExceeded Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSetSizeExceeded = class(EIdException); Description EIdSetSizeExceeded is an EIdException (

76) descendant

See Also EIdException (

76)

EIdSilentException Class Exception (

4733) that behaves like the VCL EAbort (

4733) exception.

File IdException (

4624)

Internet Direct (Indy) Version 10.1.5

145

EIdSMTPReplyError Class

Classes

Hierarchy

Pascal EIdSilentException = class(EIdException); Description EIdSilentException is an EIdException ( 76) descendant that represents an exception class which should behave like the VCL EAbort ( 4733) exception. Use the settings in the IDE to include EIdSilentException in the list of ignored exceptions under Tools -> Debugger Options. Notes An Exception (

4733) must be handled your application code to avoid being raised at runtime, or in the IDE debugger.

See Also EIdException (

76)

EIdSMTPReply Class Ancestor class for exceptions raised when handling values in SMTP enhanced status code replies. File IdReplySMTP (

4707)

Hierarchy

Pascal EIdSMTPReply = class(EIdException); Description EIdSMTPReply is an EIdException ( 76) descendant that represents the ancestor class for exceptions raised when handling values in SMTP enhanced status code replies. See Also EIdException (

76)

EIdSMTPReplyError Class File IdReplySMTP (

4707)

Hierarchy

Pascal EIdSMTPReplyError = class(EIdReplyRFCError); Description EIdSMTPReplyError is an EIdReplyRFCError ( codes.

146

140) descendant that represents an exception raised for selected SMTP response

Internet Direct (Indy) Version 10.1.5

Classes

EIdSMTPReplyError Class

EIdSMTPReplyError extends EIdReplyRFCError ( message text for the exception.

140) by supporting the numeric and enhanced response codes as well

See Also EIdReplyRFCError (

140)

EIdSMTPReplyError Members The following tables list the members exposed by EIdSMTPReplyError. Properties Property

Description

EnhancedCode ( ErrorCode (

148)

The enhanced status code for the exception instance.

141)

Methods Method

Description

Create (

77)

CreateError (

147)

Destroy ( IfAssigned ( IfFalse (

Frees the exception instance.

78)

Raises an instance of the exception based on an object reference.

78)

Raises an instance of the exception based on an expression value.

IfNotAssigned ( IfNotInRange ( IfTrue ( Toss (

Constructor for the exception instance.

148)

79) 80)

80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

81)

Raises the exception class with the specified message.

Legend Constructor virtual Property read only

EIdSMTPReplyError Methods The Methods of the EIdSMTPReplyError class are listed here. Methods Method CreateError ( Destroy (

Description 147) 148)

Constructor for the exception instance. Frees the exception instance.

Legend Constructor virtual

EIdSMTPReplyError.CreateError Constructor Constructor for the exception instance. Pascal constructor CreateError( const AErrCode: Integer; AEnhanced: TIdSMTPEnhancedCode; const AReplyMessage: string ); reintroduce;

Internet Direct (Indy) Version 10.1.5

147

EIdSMTPReplyError Class

Classes

Parameters Parameters

Description

AErrCode

Numeric SMTP response code for the exception

AEnhanced

The SMTP Enhanced Status Code for the exception.

AReplyMessage

The enhanced status code and message text for the exception.

Description CreateError is the reintroduced constructor for the exception instance. CreateError calls the inherited CreateError constructor using AErrCode and AReplyMessage as arguments CreateError initializes the TIdSMTPEnhancedCode ( the enhanced reply to the value in AReplyMessage.

2033) instance assigned to the EnhancedCode (

148) property and sets

See Also EIdSMTPReplyError.EnhancedCode (

148)

EIdSMTPReplyError.Destroy Destructor Frees the exception instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the exception instance. Destroy frees the resources allocated in CreateError ( method.

147) to the EnhancedCode (

148) property, and calls the inherited Destroy

See Also EIdSMTPReplyError.CreateError (

147)

EIdSMTPReplyError.EnhancedCode (

148)

EIdSMTPReplyError Properties The Properties of the EIdSMTPReplyError class are listed here. Properties Property

Description

EnhancedCode (

148)

The enhanced status code for the exception instance.

Legend Property read only

EIdSMTPReplyError.EnhancedCode Property The enhanced status code for the exception instance. Pascal property EnhancedCode: TIdSMTPEnhancedCode; Description EnhancedCode is a read-only TIdSMTPEnhancedCode ( 2033) property that represents the enhanced status code for the exception instance, as described in the Internet Standards documents: The value in EnhancedCode is assigned when the exception is created in CreateError. 148

Internet Direct (Indy) Version 10.1.5

Classes

EIdSMTPServerError Class

See Also EIdSMTPReplyError.CreateError

EIdSMTPReplyInvalidClass Class Exception raised when an invalid valid is assigned to the status class in an SMTP enhanced status code reply. File IdReplySMTP (

4707)

Hierarchy

Pascal EIdSMTPReplyInvalidClass = class(EIdSMTPReply); Description EIdSMTPReplyInvalidClass is an EIdSMTPReply descendant that represents the exception raised when an invalid Cardinal value is assigned to the StatusClass for an SMTP enhanced status code reply. See Also EIdSMTPReply TIdSMTPEnhancedCode.StatusClass RSSMTPReplyInvalidClass

EIdSMTPReplyInvalidReplyString Class Exception raised when an invalid value is found in an SMTP enhanced status code reply. File IdReplySMTP (

4707)

Hierarchy

Pascal EIdSMTPReplyInvalidReplyString = class(EIdSMTPReply); Description EIdSMTPReplyInvalidReplyString is an EIdSMTPReply descendant that represents the exception raised when an invalid value is assigned to the StatusClass, Subject, or Details for an SMTP enhanced status code reply. EIdSMTPReplyInvalidReplyString is raised in TIdSMTPEnhancedCode.ReplyAsStr. See Also EIdSMTPReply TIdSMTPEnhancedCode.ReplyAsStr ValidClassChars

Internet Direct (Indy) Version 10.1.5

149

EIdSNPPConnectionRefused Class

Classes

EIdSMTPServerError Class File IdSMTPServer (

4721)

Hierarchy

Pascal EIdSMTPServerError = class(EIdException); Description EIdSMTPServerError is a EIdException descendant. See Also EIdException

EIdSMTPServerNoRcptTo Class File IdSMTPServer (

4721)

Hierarchy

Pascal EIdSMTPServerNoRcptTo = class(EIdSMTPServerError); Description EIdSMTPServerNoRcptTo is a EIdSMTPServerError descendant. See Also EIdSMTPServerError

EIdSNPPConnectionRefused Class Exception raised when an SNPP client connection cannot be established. File IdSNPP (

4723)

Hierarchy

Pascal EIdSNPPConnectionRefused = class(EIdReplyRFCError); Description EIdSNPPConnectionRefused is an EIdReplyRFCError descendant that represents the exception raised when an SNPP client

150

Internet Direct (Indy) Version 10.1.5

Classes

EIdSNPPProtocolError Class

connection cannot be established. EIdSNPPConnectionRefused may be raised as a result of the SNPP refusing the client connection in TIdSNPP.Connect. See Also TIdSNPP.Connect EIdReplyRFCError

EIdSNPPException Class Ancestor for SNPP exceptions types. File IdSNPP (

4723)

Hierarchy

Pascal EIdSNPPException = class(EIdException); Description EIdSNPPException is an EIdException descendant that represents the exception type used as the ancestor for other SNPP exceptions, like EIdSNPPNoMultiLineMessages. See Also EIdException EIdSNPPNoMultiLineMessages

EIdSNPPNoMultiLineMessages Class Exception raised when sending a multi-line SNPP message. File IdSNPP (

4723)

Hierarchy

Pascal EIdSNPPNoMultiLineMessages = class(EIdSNPPException); Description EIdSNPPNoMultiLineMessages is an EIdSNPPException descendant that represents the exception raised when an SNPP client attempts to send a multi-line message in TIdSNPP.SendMessage. See Also EIdSNPPException TIdSNPP.SendMessage

EIdSNPPProtocolError Class Exception raised when handling SNPP Protocol responses.

Internet Direct (Indy) Version 10.1.5

151

EIdSocketError Class

Classes

File IdSNPP (

4723)

Hierarchy

Pascal EIdSNPPProtocolError = class(EIdReplyRFCError); Description EIdSNPPProtocolError is an EIdReplyRFCError descendant that represents the exception raised when handling SNPP Protocol responses. See Also EIdReplyRFCError

EIdSocketError Class Exception raised when a socket error occurs while reading or writing using the Internet protocol stack. File IdStack (

4727)

Hierarchy

Pascal EIdSocketError = class(EIdException); Description EIdSocketError is an EIdException descendant that represents exceptions raise when a socket error occurs while reading or writing using the Internet protocol stack. EIdSocketError reflects the error number and message returned by the protocol stack for the platform. See Also EIdException

EIdSocketError Members The following tables list the members exposed by EIdSocketError. Properties Property

Description

LastError (

154)

Error number for the socket exception.

Methods Method

Description

Create (

77)

CreateError ( IfAssigned ( IfFalse (

IfNotInRange (

152

80)

Constructor for the object instance. Raises an instance of the exception based on an object reference.

78)

IfNotAssigned ( IfTrue (

153)

78)

Raises an instance of the exception based on an expression value. 79) 80)

Raises an instance of the exception based on an object reference. Raises an instance of the exception when the value is not in the specified range. Raises an instance of the exception based on an expression value.

Internet Direct (Indy) Version 10.1.5

Classes

EIdSocketError Class

Toss (

81)

Raises the exception class with the specified message.

Legend Constructor virtual Property read only

EIdSocketError Methods The Methods of the EIdSocketError class are listed here. Methods Method

Description

CreateError (

153)

Constructor for the object instance.

Legend Constructor virtual

EIdSocketError.CreateError Constructor Constructor for the object instance. Pascal constructor CreateError( const AErr: Integer; const AMsg: string ); virtual; Parameters Parameters

Description

AErr

Error number for the socket exception.

AMsg

Message text for the socket exception.

Description CreateError is a virtual constructor for the object instance. CreateError calls the inherited constructor using the value in AMsg as the content of the exception message. CreateError also sets the value in the LastError property to the value specified in AErr. See Also EIdSocketError.LastError

EIdSocketError Properties The Properties of the EIdSocketError class are listed here. Properties Property LastError (

Description 154)

Error number for the socket exception.

Legend Property read only

Internet Direct (Indy) Version 10.1.5

153

EIdSocksAuthError Class

Classes

EIdSocketError.LastError Property Error number for the socket exception. Pascal property LastError: Integer; Description LastError is a read-only Integer property that indicates the error number from the socket exception. LastError is updated when CreateError is called.

EIdSocketHandleError Class Ancestor for Indy socket handle errors. File IdException (

4624)

Hierarchy

Pascal EIdSocketHandleError = class(EIdException); Description EIdSocketHandleError is an EIdException descendant that is the ancestor class for Indy TIdSocketHandle errors. Applications do not generally create instances of EIdSocketHandleError. Use one of the descendant classes that represent the specific socket error encountered. See Also EIdException EIdPackageSizeTooBig EIdNotAllBytesSent EIdCouldNotBindSocket EIdCanNotBindPortInRange EIdInvalidPortRange EIdCannotSetIPVersionWhenConnected EIdInvalidIPAddress

EIdSocksAuthError Class File IdExceptionCore (

4625)

Hierarchy

154

Internet Direct (Indy) Version 10.1.5

Classes

EIdSocksRequestFailed Class

Pascal EIdSocksAuthError = class(EIdSocksError); Description EIdSocksAuthError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksAuthMethodError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksAuthMethodError = class(EIdSocksError); Description EIdSocksAuthMethodError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksError = class(EIdException); Description EIdSocksError is an EIdException descendant See Also EIdException

EIdSocksRequestFailed Class File IdExceptionCore (

4625)

Internet Direct (Indy) Version 10.1.5

155

EIdSocksServerAddressError Class

Classes

Hierarchy

Pascal EIdSocksRequestFailed = class(EIdSocksError); Description EIdSocksRequestFailed is an EIdSocksError descendant See Also EIdSocksError

EIdSocksRequestIdentFailed Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksRequestIdentFailed = class(EIdSocksError); Description EIdSocksRequestIdentFailed is an EIdSocksError descendant See Also EIdSocksError

EIdSocksRequestServerFailed Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksRequestServerFailed = class(EIdSocksError); Description EIdSocksRequestServerFailed is an EIdSocksError descendant See Also EIdSocksError

156

Internet Direct (Indy) Version 10.1.5

Classes

EIdSocksServerConnectionRefusedError

EIdSocksServerAddressError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksServerAddressError = class(EIdSocksError); Description EIdSocksServerAddressError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksServerCommandError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksServerCommandError = class(EIdSocksError); Description EIdSocksServerCommandError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksServerConnectionRefusedError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksServerConnectionRefusedError = class(EIdSocksError); Description EIdSocksServerConnectionRefusedError is an EIdSocksError descendant

Internet Direct (Indy) Version 10.1.5

157

EIdSocksServerNetUnreachableError Class

Classes

See Also EIdSocksError

EIdSocksServerGeneralError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksServerGeneralError = class(EIdSocksError); Description EIdSocksServerGeneralError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksServerHostUnreachableError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksServerHostUnreachableError = class(EIdSocksError); Description EIdSocksServerHostUnreachableError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksServerNetUnreachableError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksServerNetUnreachableError = class(EIdSocksError);

158

Internet Direct (Indy) Version 10.1.5

Classes

EIdSocksServerTTLExpiredError Class

Description EIdSocksServerNetUnreachableError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksServerPermissionError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksServerPermissionError = class(EIdSocksError); Description EIdSocksServerPermissionError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksServerRespondError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksServerRespondError = class(EIdSocksError); Description EIdSocksServerRespondError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksServerTTLExpiredError Class File IdExceptionCore (

4625)

Hierarchy

Internet Direct (Indy) Version 10.1.5

159

EIdSocksSvrInvalidLogin Class

Classes

Pascal EIdSocksServerTTLExpiredError = class(EIdSocksError); Description EIdSocksServerTTLExpiredError is an EIdSocksError descendant See Also EIdSocksError

EIdSocksSvrAccessDenied Class File IdSocksServer (

4725)

Hierarchy

Pascal EIdSocksSvrAccessDenied = class(EIdSocksSvrException); Description EIdSocksSvrAccessDenied is a EIdSocksSvrException descendant. See Also EIdSocksSvrException

EIdSocksSvrException Class File IdSocksServer (

4725)

Hierarchy

Pascal EIdSocksSvrException = class(EIdException); Description EIdSocksSvrException is a EIdException descendant. See Also EIdException

EIdSocksSvrInvalidLogin Class File IdSocksServer (

160

4725)

Internet Direct (Indy) Version 10.1.5

Classes

EIdSocksSvrUnexpectedClose Class

Hierarchy

Pascal EIdSocksSvrInvalidLogin = class(EIdSocksSvrException); Description EIdSocksSvrInvalidLogin is a EIdSocksSvrException descendant. See Also EIdSocksSvrException

EIdSocksSvrNotSupported Class File IdSocksServer (

4725)

Hierarchy

Pascal EIdSocksSvrNotSupported = class(EIdSocksSvrException); Description EIdSocksSvrNotSupported is a EIdSocksSvrException descendant. See Also EIdSocksSvrException

EIdSocksSvrSocks5WrongATYP Class File IdSocksServer (

4725)

Hierarchy

Pascal EIdSocksSvrSocks5WrongATYP = class(EIdSocksSvrException); Description EIdSocksSvrSocks5WrongATYP is a EIdSocksSvrException descendant. See Also EIdSocksSvrException

Internet Direct (Indy) Version 10.1.5

161

EIdSocksSvrWrongSocksVer Class

Classes

EIdSocksSvrUnexpectedClose Class File IdSocksServer (

4725)

Hierarchy

Pascal EIdSocksSvrUnexpectedClose = class(EIdSocksSvrException); Description EIdSocksSvrUnexpectedClose is a EIdSocksSvrException descendant. See Also EIdSocksSvrException

EIdSocksSvrWrongSocksCmd Class File IdSocksServer (

4725)

Hierarchy

Pascal EIdSocksSvrWrongSocksCmd = class(EIdSocksSvrException); Description EIdSocksSvrWrongSocksCmd is a EIdSocksSvrException descendant. See Also EIdSocksSvrException

EIdSocksSvrWrongSocksVer Class File IdSocksServer (

4725)

Hierarchy

Pascal EIdSocksSvrWrongSocksVer = class(EIdSocksSvrException); Description EIdSocksSvrWrongSocksVer is a EIdSocksSvrException descendant.

162

Internet Direct (Indy) Version 10.1.5

Classes

EIdSSLProtocolReplyError Class

See Also EIdSocksSvrException

EIdSocksUDPNotSupportedBySOCKSVersion Class File IdSocks (

4724)

Hierarchy

Pascal EIdSocksUDPNotSupportedBySOCKSVersion = class(EIdException); Description EIdSocksUDPNotSupportedBySOCKSVersion is a EIdException descendant See Also EIdException

EIdSocksUnknownError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSocksUnknownError = class(EIdSocksError); Description EIdSocksUnknownError is an EIdSocksError descendant See Also EIdSocksError

EIdSSLProtocolReplyError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdSSLProtocolReplyError = class(EIdException);

Internet Direct (Indy) Version 10.1.5

163

EIdStackInitializationFailed Class

Classes

Description EIdSSLProtocolReplyError is an EIdException descendant See Also EIdException

EIdStackError Class Ancestor for stack exceptions raised in the Indy library. File IdStackBSDBase (

4728)

Hierarchy

Pascal EIdStackError = class(EIdException); Description EIdStackError is an EIdException descendant that is the ancestor for stack Exceptions Exceptions

Description

general exception type, instead of the more specialized instances like

Example try // ... except on E: EIdStackError do HandleStackException(E); on E: EIdIPVersionUnsupported do HandleIPVersionException(E); // ... end; See Also EIdException EIdStackInitializationFailed EIdStackSetSizeExceeded EIdIPVersionUnsupported

EIdStackInitializationFailed Class Exception raised when the protocol stack cannot be initialized. File IdStackBSDBase (

4728)

Hierarchy

164

Internet Direct (Indy) Version 10.1.5

Classes

EIdTCPConnectionError Class

Pascal EIdStackInitializationFailed = class(EIdStackError); Description EIdStackInitializationFailed is an EIdStackError descendant that represent the exception raised when the protocol stack cannot be initialized for the platform or Operating System hosting the Indy library. EIdStackInitializationFailed is created in the constructor for TIdStackWindows when the protocol stack cannot be loaded and/or started using WSAStartup from the Windows API. EIdStackInitializationFailed is created with the exception message defined in the resource string RSWinsockInitializationError. See Also EIdStackError RSWinsockInitializationError TIdStackWindows.Create

EIdStackSetSizeExceeded Class Exception raised when the number of allocated socket handles exceeds the limit for the protocol stack. File IdStackBSDBase (

4728)

Hierarchy

Pascal EIdStackSetSizeExceeded = class(EIdStackError); Description EIdStackSetSizeExceeded is an EIdStackError descendant raised when the number of allocated socket handles for the protocol stack exceeds the limit for the platform or Operating System hosting the Indy Library. EIdStackSetSizeExceeded is raised when adding a TIdStackSocketHandle socket handle instance to the TIdSocketListLinux or TIdSocketListWindows socket lists. EIdStackSetSizeExceeded is raised with the exception message defined in the resource string RSSetSizeExceeded. See Also EIdStackError RSSetSizeExceeded TIdStackSocketHandle TIdSocketListLinux.Add TIdSocketListWindows.Add

EIdTCPConnectionError Class File IdExceptionCore (

4625)

Internet Direct (Indy) Version 10.1.5

165

EIdTCPServerError Class

Classes

Hierarchy

Pascal EIdTCPConnectionError = class(EIdException); Description EIdTCPConnectionError is an EIdException descendant See Also EIdException

EIdTCPNoOnExecute Class Exception raised when OnExecute has not been assigned for TIdTCPServer. File IdTCPServer (

4741)

Hierarchy

Pascal EIdTCPNoOnExecute = class(EIdTCPServerError); Description EIdTCPNoOnExecute is a EIdTCPServerError descendant that represents the exception raised when the event handler has not been assigned for the TIdTCPServer.OnExecute property. EIdTCPNoOnExecute is raised a run-time when the Active property for TIdTCPServer is changed from False to True, and the OnExecute event handler has not been assigned. See Also EIdTCPServerError TIdTCPServer.OnExecute TIdCustomTCPServer.OnExecute TIdCustomTCPServer.Active

EIdTCPServerError Class Ancestor for TCP server exceptions. File IdCustomTCPServer (

4609)

Hierarchy

Pascal EIdTCPServerError = class(EIdException); Description EIdTCPServerError is a EIdException descendant that is the ancestor for TCP server exceptions in the Indy library, like EIdTCPNoOnExecute and EIdTerminateThreadTimeout.

166

Internet Direct (Indy) Version 10.1.5

Classes

EIdTelnetServerOnDataAvailableIsNil Class

See Also EIdException EIdTCPNoOnExecute EIdTerminateThreadTimeout

EIdTelnetClientConnectError Class Exception for Telnet connection errors. File IdTelnet (

4741)

Hierarchy

Pascal EIdTelnetClientConnectError = class(EIdTelnetError); Description EIdTelnetClientConnectError is an EIdTelnetError descendant that represents the exception raised when an error occurs in TIdTelnet.Connect. See Also EIdTelnetError TIdTelnet.Connect

EIdTelnetError Class Ancestor for Indy Telnet exceptions. File IdTelnet (

4741)

Hierarchy

Pascal EIdTelnetError = class(EIdException); Description EIdTelnetError is an EIdException descendant that is the ancestor class for Indy Telnet exceptions. See Also EIdTelnetClientConnectError EIdTelnetServerOnDataAvailableIsNil

Internet Direct (Indy) Version 10.1.5

167

EIdTextInvalidCount Class

Classes

EIdTelnetServerOnDataAvailableIsNil Class Exception for Telnet OnDataAvailable event notification. File IdTelnet (

4741)

Hierarchy

Pascal EIdTelnetServerOnDataAvailableIsNil = class(EIdTelnetError); Description EIdTelnetServerOnDataAvailableIsNil is an EIdTelnetError exception descendant raised when TIdTelnet.OnDataAvailable is triggered and no event handler has been assigned for the notification. See Also EIdTelnetError TIdTelnet.OnDataAvailable

EIdTerminateThreadTimeout Class Exception raised while waiting for termination of active threads. File IdCustomTCPServer (

4609)

Hierarchy

Pascal EIdTerminateThreadTimeout = class(EIdTCPServerError); Description EIdTerminateThreadTimeout is an EIdTCPServerError descendant that represents the exception raised when a timeout occurs while waiting for termination of active threads in TIdTCPServer. EIdTerminateThreadTimeout can be raised when attempting to terminate all active threads when the server is no longer active, and the timeout period in TerminateWaitTime has elapsed. See Also EIdTCPServerError

EIdTextInvalidCount Class Indicates an error creating text message parts. File IdMessage ( 168

4682) Internet Direct (Indy) Version 10.1.5

Classes

EIdTFTPException Class

Hierarchy

Pascal EIdTextInvalidCount = class(EIdMessageException); Description EIdTextInvalidCount is a EIdMessageException exception descendant that identifies when a error has occurred while creating TIdText portions of TIdMessage during message transmission. EIdTextInvalidCount is the exception raised when headers are generated for a message in TIdMessage.GenerateHeader. See Also EIdMessageException TIdSMTP.Send TIdMessage.GenerateHeader

EIdTFTPAccessViolation Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPAccessViolation = class(EIdTFTPException); Description EIdTFTPAccessViolation is an EIdTFTPException descendant See Also EIdTFTPException

EIdTFTPAllocationExceeded Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPAllocationExceeded = class(EIdTFTPException); Description EIdTFTPAllocationExceeded is an EIdTFTPException descendant See Also EIdTFTPException

Internet Direct (Indy) Version 10.1.5

169

EIdTFTPFileNotFound Class

Classes

EIdTFTPException Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPException = class(EIdException); Description EIdTFTPException is an EIdException descendant See Also EIdException

EIdTFTPFileAlreadyExists Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPFileAlreadyExists = class(EIdTFTPException); Description EIdTFTPFileAlreadyExists is an EIdTFTPException descendant See Also EIdTFTPException

EIdTFTPFileNotFound Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPFileNotFound = class(EIdTFTPException); Description EIdTFTPFileNotFound is an EIdTFTPException descendant

170

Internet Direct (Indy) Version 10.1.5

Classes

EIdTFTPOptionNegotiationFailed Class

See Also EIdTFTPException

EIdTFTPIllegalOperation Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPIllegalOperation = class(EIdTFTPException); Description EIdTFTPIllegalOperation is an EIdTFTPException descendant See Also EIdTFTPException

EIdTFTPNoSuchUser Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPNoSuchUser = class(EIdTFTPException); Description EIdTFTPNoSuchUser is an EIdTFTPException descendant See Also EIdTFTPException

EIdTFTPOptionNegotiationFailed Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPOptionNegotiationFailed = class(EIdTFTPException);

Internet Direct (Indy) Version 10.1.5

171

EIdThreadException Class

Classes

Description EIdTFTPOptionNegotiationFailed is an EIdTFTPException descendant See Also EIdTFTPException

EIdTFTPUnknownTransferID Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTFTPUnknownTransferID = class(EIdTFTPException); Description EIdTFTPUnknownTransferID is a EIdTFTPException descendant See Also EIdTFTPException

EIdThreadClassNotSpecified Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdThreadClassNotSpecified = class(EIdThreadMgrError); Description EIdThreadClassNotSpecified is a EIdThreadMgrError descendant See Also EIdThreadMgrError

EIdThreadException Class Ancestor for exception raised in the Indy threading framework. File IdThread (

4744)

Hierarchy

172

Internet Direct (Indy) Version 10.1.5

Classes

EIdTLSClientCanNotSetWhileActive Class

Pascal EIdThreadException = class(EIdException); Description EIdThreadException is a EIdException descendant that represents the ancestor class for exception raised by the Indy threading framework. EIdThreadException is used as the ancestor for more specfic exception types like EIdThreadTerminateAndWaitFor. See Also EIdException EIdThreadTerminateAndWaitFor

EIdThreadMgrError Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdThreadMgrError = class(EIdException); Description EIdThreadMgrError is a EIdException descendant See Also EIdException

EIdThreadTerminateAndWaitFor Class Exception raised when waiting for a terminating thread that may have already been freed. File IdThread (

4744)

Hierarchy

Pascal EIdThreadTerminateAndWaitFor = class(EIdThreadException); Description EIdThreadTerminateAndWaitFor is a EIdThreadException descendant that represents an exception type raised when waiting for a terminating thread that may have already been freed. EIdThreadTerminateAndWaitFor is raised when TerminateAndWaitFor is called for a thread instances, and FreeOnTerminate contains True. See Also EIdThreadException TIdThread.TerminateAndWaitFor

Internet Direct (Indy) Version 10.1.5

173

EIdTLSClientException Class

Classes

EIdTLSClientCanNotSetWhileActive Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal EIdTLSClientCanNotSetWhileActive = class(EIdTLSClientException); Description EIdTLSClientCanNotSetWhileActive is a EIdTLSClientException descendant. See Also EIdTLSClientException

EIdTLSClientCanNotSetWhileConnected Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal EIdTLSClientCanNotSetWhileConnected = class(EIdTLSClientException); Description EIdTLSClientCanNotSetWhileConnected is a EIdTLSClientException descendant. See Also EIdTLSClientException

EIdTLSClientException Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal EIdTLSClientException = class(EIdException); Description EIdTLSClientException is a EIdException descendant.

174

Internet Direct (Indy) Version 10.1.5

Classes

EIdTLSClientTLSNegCmdFailed Class

See Also EIdException

EIdTLSClientSSLIOHandlerRequred Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal EIdTLSClientSSLIOHandlerRequred = class(EIdTLSClientException); Description EIdTLSClientSSLIOHandlerRequred is a EIdTLSClientException descendant. See Also EIdTLSClientException

EIdTLSClientTLSHandShakeFailed Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal EIdTLSClientTLSHandShakeFailed = class(EIdTLSClientException); Description EIdTLSClientTLSHandShakeFailed is a EIdTLSClientException descendant. See Also EIdTLSClientException

EIdTLSClientTLSNegCmdFailed Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal EIdTLSClientTLSNegCmdFailed = class(EIdTLSClientException);

Internet Direct (Indy) Version 10.1.5

175

EIdTLSServerSSLIOHandlerRequired Class

Classes

Description EIdTLSClientTLSNegCmdFailed is a EIdTLSClientException descendant. See Also EIdTLSClientException

EIdTLSClientTLSNotAvailable Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal EIdTLSClientTLSNotAvailable = class(EIdTLSClientException); Description EIdTLSClientTLSNotAvailable is a EIdTLSClientException descendant. See Also EIdTLSClientException

EIdTLSServerException Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal EIdTLSServerException = class(EIdException); Description EIdTLSServerException is a EIdException descendant. See Also EIdException

EIdTLSServerSSLIOHandlerRequired Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

176

Internet Direct (Indy) Version 10.1.5

Classes

EIdTransparentProxyCircularLink Class

Pascal EIdTLSServerSSLIOHandlerRequired = class(EIdTLSServerException); Description EIdTLSServerSSLIOHandlerRequired is a EIdTLSServerException descendant. See Also EIdTLSServerException

EIdTooMuchDataInBuffer Class Exception raised when writing data to the buffer. File IdBuffer (

4588)

Hierarchy

Pascal EIdTooMuchDataInBuffer = class(EIdException); Description EIdTooMuchDataInBuffer is an EIdException descendant that represents the exception raised when writing data to the buffer. EIdTooMuchDataInBuffer indicates the write operation would cause the internal storage for the buffer to exceed the maximum size supported for the host platform or operating system. See Also EIdException TIdBuffer.Bytes TIdBuffer.Write

EIdTransparentProxyCantBind Class File IdExceptionCore (

4625)

Hierarchy

Pascal EIdTransparentProxyCantBind = class(EIdException); Description EIdTransparentProxyCantBind is a EIdException descendant See Also EIdException

Internet Direct (Indy) Version 10.1.5

177

EIdUDPException Class

Classes

EIdTransparentProxyCircularLink Class File IdCustomTransparentProxy (

4609)

Hierarchy

Pascal EIdTransparentProxyCircularLink = class(EIdException); Description EIdTransparentProxyCircularLink EIdException descendant See Also EIdException

EIdTransparentProxyUDPNotSupported Class File IdCustomTransparentProxy (

4609)

Hierarchy

Pascal EIdTransparentProxyUDPNotSupported = class(EIdException); Description EIdTransparentProxyUDPNotSupported is a EIdException descendant See Also EIdException

EIdUDPException Class Ancestor class for Indy UDP exceptions. File IdUDPBase (

4750)

Hierarchy

Pascal EIdUDPException = class(EIdException); Description EIdUDPException is an EIdException descendant that is the ancestor class for UDP exceptions raised in the Indy library.

178

Internet Direct (Indy) Version 10.1.5

Classes

EIdUnknownProtocol Class

See Also EIdUDPReceiveErrorZeroBytes TIdUDPBase TIdUDPClient

EIdUDPReceiveErrorZeroBytes Class Exception raised when no data was read from the UDP connection. File IdUDPBase (

4750)

Hierarchy

Pascal EIdUDPReceiveErrorZeroBytes = class(EIdUDPException); Description EIdUDPReceiveErrorZeroBytes is an EIdUDPException exception descendant raised when an error occurs while reading data from the a peer using the UDP protocol. EIdUDPReceiveErrorZeroBytes is raised with the message identified in RSIPMCastReceiveError0 when the listener thread for TIdIPMCastServer is unabled to read the datagram for an incoming peer connection. See Also EIdUDPException

EIdUDPServerException Class Ancestor class for Indy UDP server exceptions. File IdUDPServer (

4751)

Hierarchy

Pascal EIdUDPServerException = class(EIdUDPException); Description EIdUDPServerException is an EIdUDPException descendant that is the ancestor class for Indy UDP server exceptions. See Also EIdUDPException

Internet Direct (Indy) Version 10.1.5

179

EIdURIException Class

Classes

EIdUnknownProtocol Class Exception raised for an invalid protocol in the URL for a HTTP request. File IdHTTP (

4662)

Hierarchy

Pascal EIdUnknownProtocol = class(EIdException); Description EIdUnknownProtocol is an EIdException decendant that represents an exception raised when an unknown error occurs during preparation of an HTTP request. EIdUnknownProtocol is normally raised when TIdHTTP is used to prepare a request having a protocol specifier other than 'http:' or 'https:' in the URL for the request. See Also EIdException

EIdUnrecognizedReply Class File IdPOP3 (

4696)

Hierarchy

Pascal EIdUnrecognizedReply = class(EIdPOP3Exception); Description EIdUnrecognizedReply is a EIdPOP3Exception descendant. See Also EIdPOP3Exception

EIdURIException Class Exception raised when an error in encountered in URI component values. File IdURI (

4753)

Hierarchy

180

Internet Direct (Indy) Version 10.1.5

Classes

EInvalidSyslogMessage Class

Pascal EIdURIException = class(EIdException); Description EIdURIException is a EIdException descendant that represents an exception raised when an error in encountered while building the contents of the URI from it's components in TIdURI.GetFullURI. See Also EIdException TIdURI.GetFullURI

EIdUserPassProviderUnassigned Class File IdSASLUserPass (

4715)

Hierarchy

Pascal EIdUserPassProviderUnassigned = class(EIdException); Description EIdUserPassProviderUnassigned is a EIdException descendant. See Also EIdException

EIdWrapperException Class Exception used as a wrapper for native exceptions raised on the .Net platform. File IdException (

4624)

Hierarchy

Pascal EIdWrapperException = class(EIdException); Description EIdWrapperException is an EIdException descendant that represents the exception type used as a wrapper for native exceptions raised on the .Net platform. EIdWrapperException is used in BuildException for any native exception type derived from a type other than System.Net.Sockets.SocketException. EIdSocketError is used for exceptions derived from System.Net.Sockets.SocketException. See Also EIdException

Internet Direct (Indy) Version 10.1.5

181

EmUTF7Encode Class

Classes

EInvalidSyslogMessage Class File IdExceptionCore (

4625)

Hierarchy

Pascal EInvalidSyslogMessage = class(EIdException); Description EInvalidSyslogMessage is a EIdException descendant See Also EIdException

EmUTF7Decode Class File IdIMAP4 (

4666)

Hierarchy

Pascal EmUTF7Decode = class(EmUTF7Error); Description EmUTF7Decode is a EmUTF7Error descendant. See Also EmUTF7Error

EmUTF7Encode Class File IdIMAP4 (

4666)

Hierarchy

Pascal EmUTF7Encode = class(EmUTF7Error); Description EmUTF7Encode is a EmUTF7Error descendant.

182

Internet Direct (Indy) Version 10.1.5

Classes

EZlibError Class

See Also EmUTF7Error

EmUTF7Error Class File IdIMAP4 (

4666)

Hierarchy

Pascal EmUTF7Error = class(EIdSilentException); Description EmUTF7Error is a EIdSilentException descendant. See Also EIdSilentException

EZlibError Class File IdZLib (

4757)

Hierarchy

Pascal EZlibError = class(Exception); Description EZlibError is a Exception (

4733) descendant.

See Also Exception (

4733)

EZlibError Members The following tables list the members exposed by EZlibError. Properties Property ErrorCode (

Description 184)

Methods Method CreateError (

Description 184)

Internet Direct (Indy) Version 10.1.5

183

TAAAARecord Class

Classes

Legend Constructor Property read only

EZlibError Methods The Methods of the EZlibError class are listed here. Methods Method

Description

CreateError (

184)

Legend Constructor

EZlibError.CreateError Constructor Pascal constructor CreateError( const AError: Integer ); Parameters Parameters

Description

AError

Scope is const. Type is Integer.

Description CreateError is a constructor for the object instance.

EZlibError Properties The Properties of the EZlibError class are listed here. Properties Property

Description

ErrorCode (

184)

Legend Property read only

EZlibError.ErrorCode Property Pascal property ErrorCode: Integer; Description ErrorCode is a Public read-only Integer property.

TAAAARecord Class Implements a DNS AAAA resource record type for IPv6 addresses found in an DNS query response. 184

Internet Direct (Indy) Version 10.1.5

Classes

TAAAARecord Class

File IdDNSResolver (

4620)

Hierarchy

Pascal TAAAARecord = class(TResultRecord); Description TAAAARecord is a TResultRecord ( the Internet Standards documents:

2682) descendant that represents the AAAA resource record type in DNS, as described in

RFC 1034 - Domain Names Concepts and Facilities RFC 1035 - Domain Names Implementation and Specification RFC 1884 - IP Version 6 Addressing Architecture RFC 1886 - DNS Extensions to support IP version 6 AAAA resource record types allow storage of IPv6 addresses in DNS, and allow DNS servers to perform address lookups based on the 128-bit IP address values. AAAA resource records are included in DNS queries for the IP6.INT Domain, and may also be included in any query that performs additional section processing to locate IPv4 addresses. (Both IPv4 and IPv6 are now required). The AAAA resource record type is specific to the Internet class of resource records. TAAAARecords resource records may appear in the QueryResult for TIdDNSResolver ( its QueryType property.

600) when the value qtAAAA is used in

The Address ( 187) property in TAAAARecord is used to store the string representation of the 128-bit IPv6 address as found in the RDATA for the resource record. Values in Address (

187) are in network byte order (high-order byte first), as described in the Intenet Standards document:

RFC 1884 - IP Version 6 Addressing Architecture The IP6.INT Domain is defined to look up a record given an address. The intent of this domain is to provide a way of mapping an IPv6 address to a host name, although it may be used for other purposes as well. The domain is rooted at IP6.INT. An IPv6 address is represented as a name in the IP6.INT domain by a sequence of nibbles separated by dots with the suffix ".IP6.INT". The sequence of nibbles is encoded in reverse order, i.e. the low-order nibble is encoded first, followed by the next low-order nibble and so on. Each nibble is represented by a hexadecimal digit. For example, the inverse lookup domain name corresponding to the address 4321:0:1:2:3:4:567:89ab would be b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.IP6.INT. All existing query types that perform type A additional section processing, i.e. name server (NS), mail exchange (MX) and mailbox (MB) query types, must be redefined to perform both type A and type AAAA additional section processing. These new definitions mean that a name server must add any relevant IPv4 addresses and any relevant IPv6 addresses available locally to the additional section of a response when processing any one of the above queries. As a result, TIdDNSResolver ( issued for these query types.

600) can include TARecord (

189) and TAAAARecord resource record types any time a query is

See Also TResultRecord (

2682) TQUeryResult.Add TIdDNSResolver.QueryResult (

Internet Direct (Indy) Version 10.1.5

607) TIdDNSResolver.QueryType (

607)

185

TAAAARecord Class

Classes

TAAAARecord Members The following tables list the members exposed by TAAAARecord. Properties Property

Description

Address (

187)

Name (

2686)

RData (

2686)

RDataLength (

Respresents the 128-bit IPv6 address for the resource record.

RecClass ( RecType ( Section ( TTL (

2686)

2686) 2686) 2687)

2687)

Methods Method Assign ( Destroy ( Parse (

Description 186) 2685) 187)

Converts and populates the value for the Address (

187) property.

Legend Method virtual Property read only

TAAAARecord Methods The Methods of the TAAAARecord class are listed here. Methods Method Assign ( Parse (

Description 186) 187)

Converts and populates the value for the Address (

187) property.

Legend Method virtual

TAAAARecord.Assign Method Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Type is TIdPersistent (

3073).

Description Assign is a overridden method.

186

Internet Direct (Indy) Version 10.1.5

Classes

TAAAARecord Class

TAAAARecord.Parse Method Converts and populates the value for the Address (

187) property.

Pascal procedure Parse( CompleteMessage: TIdBytes; APos: Integer ); override; Parameters Parameters

Description

CompleteMessage APos

Description Parse is an overridden method in TAAAARecord ( the Address ( 187) property.

184) used convert and populate values found in CompleteMessage for use in

Parse calls the inherited method prior to parsing values specific to the AAAA resource record type. Parse performs no processing if the value in RData (

2686) is less than 15 bytes long.

Parse converts the values in RData ( 2686) to an IPv6 address, an converts the 128-bit IP address from its Network byte ordering to the Host-specific byte ordering using the global stack instance in GStack ( 3126). The string representation for the IPv6 address is stored in the Address (

187) property.

See Also RData (

2686) Address (

187) BytesToIPv6 (

2725) GStack (

3126) TIdStack.NetworkToHost (

2172)

TAAAARecord Properties The Properties of the TAAAARecord class are listed here. Properties Property Address (

Description 187)

Respresents the 128-bit IPv6 address for the resource record.

Legend Property read only

TAAAARecord.Address Property Respresents the 128-bit IPv6 address for the resource record. Pascal property Address: string; Description Address is a read-only String property that contains the string representation of the 128-bit IPv6 address for the resource record type. Values in Address are in network byte order (high-order byte first), as described in the Internet Standards document: RFC 1884 - IP Version 6 Addressing Architecture Values in Address are assigned when Parse ( TQueryResult.Add ( 2670).

Internet Direct (Indy) Version 10.1.5

187) is called using the raw byte values for the resource record in

187

TAppendFileStream Class

Classes

See Also TQueryResult.Add ( 2670) TIdDNSResolver.QueryResult ( TIdDNSResolver.FillResult ( 603) TIdDNSResolver.ParseAnswers ( 604)

607)

TIdDNSResolver.QueryType

(

607)

TAppendFileStream Class Implements a file stream used to append content to a file in the local file system. File IdGlobal (

4650)

Hierarchy

Pascal TAppendFileStream = class(TIdFileStream); Description TAppendFileStream is a TIdFileStream ( local file system.

3026) descendant that implements a file stream used to append content to a file in the

TAppendFileStream implements a constructor that accepts a file name representing the storage for the file stream. The constructor ensures that the underlying file stream is opened or created using the correct file mode and sharing mode for the specified file name. The constructor also positions the stream at its end when the file already exists. Use TFileCreateStream (

212) when a file stream is required that always recreates the underlying file storage for the stream.

Use TReadFileExclusiveStream ( file sharing modes enabled.

2676) or TReadFileNonExclusiveStream (

2677) to create (

189) file streams with the desired

See Also Create (

189)

TIdFileStream (

3026)

TFileCreateStream (

212)

TReadFileExclusiveStream (

2676)

TReadFileNonExclusiveStream (

2677)

TAppendFileStream Members The following tables list the members exposed by TAppendFileStream. Methods Method Create (

Description 189)

Constructor for the object instance.

Legend Constructor

TAppendFileStream Methods The Methods of the TAppendFileStream class are listed here.

188

Internet Direct (Indy) Version 10.1.5

Classes

TARecord Class

Methods Method Create (

Description 189)

Constructor for the object instance.

Legend Constructor

TAppendFileStream.Create Constructor Constructor for the object instance. Pascal constructor Create( const AFile: String ); Parameters Parameters

Description

AFile

File name used to access and store content for the file stream.

Description Create is the constructor for the object instance. AFile is the file name in the local file system used to access and store the content for the file stream. If the file specified in AFile does not already exist, it is created by calling the inherited constructor with the following File mode:

fmCreate (

3206)

When AFile already exists on the local file system, the file stream is created by calling the inherited constructor using the following File and Sharing modes OR'd togehter:

fmOpenReadWrite (

3207)

fmShareDenyWrite (

3208)

When an existing file is specified in AFile, the file stream is positioned at its' end (using the indicated Size for the stream). This ensures that the newly created stream will append any output written to the stream after existing content.

TARecord Class Represents a resource record returned by a DNS query that includes Host Address record types. File IdDNSResolver (

4620)

Hierarchy

Pascal TARecord = class(TRDATARecord); Description TARecord is a TRDATARecord ( 2673) descendant that represents a resource record returned in the results for a DNS query. TARecord is the collection item created to represent a resource resource returned when TIDNSResolver.QueryRecords includes Internet Direct (Indy) Version 10.1.5

189

TCNRecord Class

Classes

the value qtA for Address resource records. An Address resource record is used to provide the Internet address of a host server in dotted-decimal form. For example: "10.2.0.52" or "192.0.5.6". An Address resource record uses the same DNS packet layout as other TResultRecord ( use of RData ( 2686) to include the following definition and format:

2682)-based responses, but extends the

ADDRESS - 32-bit Internet IP address Hosts that have multiple Internet addresses will have multiple Address resource records. See Also TResultRecord (

2682) TRDATARecord (

2673) TQueryResult (

2669) TIdDNSResolver.QueryRecords

TCNRecord Class Represents a resource record returned from a DNS query that includes Canonical Name (

2686) resource record types.

File IdDNSResolver (

4620)

Hierarchy

Pascal TCNRecord = class(TNAMERecord); Description TCNRecord is a TNameRecord ( 2652) descendant that represents a resource record returned in the results for a DNS query. TCNRecord is a collection item created to represent a resource resource returned when TIDNSResolver.QueryRecords includes the value qtCN for Mail Exchange resource records. Canonical Name ( 2686) resoure records are used to indicate the canonical or primary name for the owner. Canonical Name ( 2686) resource records cause no additional section processing, but Canonical Names may choose to restart the query at the Canonical Name ( 2686) in certain cases. See the Canonical Name ( 2686) resoure records uses the same DNS packet layout as other TResultRecord ( 2682)-based responses, but extends the use of RData ( 2686) to include the following definition and format:

CNAME - Domain name which specifies the canonical or primary name for the owner. The owner name is an alias. TCNRecord extends TNameRecord ( 190

2652) to implement the specifics of accessing RData (

2686) values as properties,

Internet Direct (Indy) Version 10.1.5

Classes

TCompressionStream Class

including HostName (

2654). HostName (

TCNRecord also overrides the Parse (

2654) is used to store the CNAMe value from the resource record.

2653) method to read the values in RData (

2686) into their property counterparts.

See Also TNameRecord (

2652) TResultRecord (

2682) TQueryResult (

2669) TIdDNSResolver.QueryRecords

TCompressionStream Class File IdZLib (

4757)

Hierarchy

Pascal TCompressionStream = class(TCustomZlibStream); Description TCompressionStream is a TCustomZlibStream (

196) descendant.

See Also TCustomZlibStream (

196)

TCompressionStream Members The following tables list the members exposed by TCompressionStream. Properties Property

Description

CompressionRate ( OnProgress (

193)

193)

Methods Method Create (

Description 192)

Destroy ( Seek (

192) 192)

Legend Constructor virtual Property read only

TCompressionStream Methods The Methods of the TCompressionStream class are listed here. Methods Method Create (

Description 192)

Destroy ( Seek (

192) 192)

Internet Direct (Indy) Version 10.1.5

191

TCompressionStream Class

Classes

Legend Constructor virtual

TCompressionStream.Create Constructor Pascal constructor Create( CompressionLevel: TCompressionLevel; Dest: TStream ); Parameters Parameters

Description

CompressionLevel

Type is TCompressionLevel (

Dest

Type is TStream.

2941).

Description Create is a constructor for the object instance.

TCompressionStream.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TCompressionStream.Seek Method Pascal function Seek( Offset: Longint; Origin: Word ): Longint; override; Parameters Parameters

Description

Offset

Type is Longint.

Origin

Type is Word.

Returns Longint Description Seek is a overridden method. Seek returns a Longint value.

TCompressionStream Properties The Properties of the TCompressionStream class are listed here. Properties Property

Description

CompressionRate ( OnProgress (

192

193)

193)

Internet Direct (Indy) Version 10.1.5

Classes

TCriticalSection Class

Legend Property read only

TCompressionStream.CompressionRate Property Pascal property CompressionRate: Single; Description CompressionRate is a Public read-only Single property.

TCompressionStream.OnProgress Event Pascal property OnProgress; Description OnProgress is a Public property.

TCriticalSection Class Implements the ancestor for critical section classes in Indy. File IdGlobal (

4650)

Hierarchy

Pascal TCriticalSection = class(TObject); Description TCriticalSection is a TObject descendant that implements the ancestor class for TIdCriticalSection (

404) on the .Net platform.

TCriticalSection implements methods that emulate the behavior of Win32 Critical Sections on the .Net platform using methods from System.Threading.Monitor in the Framework Class Library (FCL). On the Windows and Linux platforms, TCriticalSection is declared as an alias for the TCriticalSection type in the SyncObjs.pas unit. Indy applications, and classes, normally use TIdCriticalSection ( 404) which isolates these platform dependencies. See Also TIdCriticalSection ( IndySupport (

404)

15)

TCriticalSection Members The following tables list the members exposed by TCriticalSection. Methods Method Acquire (

Description 194)

Internet Direct (Indy) Version 10.1.5

Enables resource protection in a critical section.

193

TCriticalSection Class Enter (

Classes

194)

Leave (

Starts resource protection in a critical section.

195)

Release ( TryEnter (

Stops resource protection in a critical section. 195)

Disables resource protection in a critical section.

195)

Attempts to start resource protection for the critical section.

Legend Method virtual

TCriticalSection Methods The Methods of the TCriticalSection class are listed here. Methods Method

Description

Acquire ( Enter (

194)

Enables resource protection in a critical section.

194)

Leave (

Starts resource protection in a critical section.

195)

Release ( TryEnter (

Stops resource protection in a critical section. 195)

Disables resource protection in a critical section.

195)

Attempts to start resource protection for the critical section.

Legend Method virtual

TCriticalSection.Acquire Method Enables resource protection in a critical section. Pascal procedure Acquire; virtual; Description Acquire is a virtual procedure used to start resource protection for the critical section on the .Net platform. Acquire calls the Enter ( Use Release (

194) method.

195) to free the resource protection for the critical section.

See Also Enter (

194)

Release ( Leave (

195) 195)

TCriticalSection.Enter Method Starts resource protection in a critical section. Pascal procedure Enter; Description Enter is a procedure used to to start resource protection for the critical section on the .Net platform. Enter calls System.Threading.Monitor.Enter method in the FCL using the current object instance as an argument. Use Release (

194

195) or Leave (

195) to free the resource protection for the critical section.

Internet Direct (Indy) Version 10.1.5

Classes

TCriticalSection Class

See Also Release ( Leave (

195) 195)

TCriticalSection.Leave Method Stops resource protection in a critical section. Pascal procedure Leave; Description Leave is a procedure used to stop resource protection for the critical section on the .Net platform. Leave calls the System.Threading.Monitor.Exit method in the FCL using the current object instance as an argument. Use Enter (

194) or Acquire (

194) to begin resource protection for the critical section.

See Also Enter (

194)

Acquire (

194)

Release (

195)

TCriticalSection.Release Method Disables resource protection in a critical section. Pascal procedure Release; virtual; Description Release is a virtual procedure used to stop resource protection for the critical section on the .Net platform. Release calls the Leave ( Use Enter (

195) method in its implementation.

194) or Acquire (

194) to begin resource protection for the critical section.

See Also Enter (

194)

Acquire ( Leave (

194) 195)

TCriticalSection.TryEnter Method Attempts to start resource protection for the critical section. Pascal function TryEnter: Boolean; Returns Boolean - True on success. Description TryEnter is a Boolean function that attempts to start resource protection for the critical section on the .Net platform. TryEnter calls the System.Threading.Monitor.TryEnter method in the FCL using the current object instance as an argument.

Internet Direct (Indy) Version 10.1.5

195

TDecompressionStream Class

Classes

TryEnter returns True if resource protection was successfully initiated for the current object instance. Use Release (

195) or Leave (

195) to stop resource protection for the critical section.

See Also Enter (

194)

Leave (

195)

Release (

195)

TCustomZlibStream Class File IdZLib (

4757)

Hierarchy

Pascal TCustomZlibStream = class(TStream); Description TCustomZlibStream is a TStream descendant. See Also TStream

TDecompressionStream Class File IdZLib (

4757)

Hierarchy

Pascal TDecompressionStream = class(TCustomZlibStream); Description TDecompressionStream is a TCustomZlibStream (

196) descendant.

See Also TCustomZlibStream (

196)

TDecompressionStream Members The following tables list the members exposed by TDecompressionStream. Properties Property OnProgress (

196

Description 198)

Internet Direct (Indy) Version 10.1.5

Classes

TDecompressionStream Class

Methods Method Create (

Description 197)

Destroy ( Seek (

197) 197)

Legend Constructor virtual Property

TDecompressionStream Methods The Methods of the TDecompressionStream class are listed here. Methods Method Create (

Description 197)

Destroy ( Seek (

197) 197)

Legend Constructor virtual

TDecompressionStream.Create Constructor Pascal constructor Create( Source: TStream ); Parameters Parameters

Description

Source

Type is TStream.

Description Create is a constructor for the object instance.

TDecompressionStream.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TDecompressionStream.Seek Method Pascal function Seek( Offset: Longint; Origin: Word ): Longint; override;

Internet Direct (Indy) Version 10.1.5

197

TDNSHeader Class

Classes

Parameters Parameters

Description

Offset

Type is Longint.

Origin

Type is Word.

Returns Longint Description Seek is a overridden method. Seek returns a Longint value.

TDecompressionStream Properties The Properties of the TDecompressionStream class are listed here. Properties Property OnProgress (

Description 198)

Legend Property

TDecompressionStream.OnProgress Event Pascal property OnProgress; Description OnProgress is a Public property.

TDNSHeader Class Represents the Header section in a DNS message packet. File IdDNSCommon (

4617)

Hierarchy

Pascal TDNSHeader = class; Description TDNSHeader is a TObject descendant that represents the Header section in a DNS message packet. A DNS message packet may contain the following 5 sections:

198

Internet Direct (Indy) Version 10.1.5

Classes

TDNSHeader Class

Section

Description

Header Question

question for the name server

Answer

resource records answering the question

Authority

resource records pointing toward an authority

Additional

resource records holding additional information

The TDNSHeader header section is always present in the message packet, and includes values that specify which of the remaining sections are present. TDNSHeader also provides properties specific to the header section or the entire message packet, including:

Field ID (

Description 204) Identifier assigned to a DNS query.

Qr 205)

(

Query (0) or Response (1) flag.

OpCode ( 204)

Indicates the kind of query to be performed.

AA 202)

(

Indicates the responsing DNS server is an authority for the domain.

TC 207)

(

Indicates the message was truncated.

RD 206)

(

Indicates recurive queries are desired on the DNS server.

RA 205)

(

Indicates recurive queries are available on the DNS server.

RCode ( 206)

Response code from the DNS server.

QDCount ( 205)

Number of entries in the DNS Question section.

ANCount ( 203)

Number of resource records in the DNS Answer section.

NSCount ( 204)

Number of resource records in the DNS Authority section.

ARCount ( 203)

Number of resource records in the DNS Additional section.

Internet Direct (Indy) Version 10.1.5

199

TDNSHeader Class

Classes

TDNSHeader is used in the message packet for both a DNS query and a DNS response, although some values are only appropriate in one or the other context.

TDNSHeader Members The following tables list the members exposed by TDNSHeader. Properties Property AA (

Description 202)

Indicates if the name server is an authority for the requested domain.

ANCount (

203)

Number of resource records in the Answer section of a DNS response.

ARCount (

203)

Number of resource records in the Additional section of a DNS response.

BitCode ( ID (

203)

Represents temporary storage for bit fields used in the DNS header.

204)

Identifier assigned to match DNS query and response packets.

NSCount (

204)

OpCode ( QDCount (

Indicates the kind of query to be performed on the DNS server.

205)

Qr (

205)

RA (

205)

RCode (

Number of resource records in the Authority section of a DNS response.

204)

Number of Questions in the DNS message packet. Indicates if the DNS message packet contains a query or a response. Indicates if recursive query support is available on a name server.

206)

Result code returned in a DNS response.

RD (

206)

Indicates if recursive query support is desired for DNS request.

TC (

207)

Indicates if a DNS response message packet has been truncated due to excessive length.

Methods Method

Description

ClearByteCode ( Create (

200)

Resets the temporary storage for bit field in the DNS header.

201)

Constructor for the object instance.

GenerateBinaryHeader ( ParseQuery (

201)

201)

Generates the raw byte values for the DNS header section of a DNS message. Parses and updates property values found in the raw DNS header.

Legend Method Property

TDNSHeader Methods The Methods of the TDNSHeader class are listed here. Methods Method

Description

ClearByteCode ( Create (

200)

Resets the temporary storage for bit field in the DNS header.

201)

Constructor for the object instance.

GenerateBinaryHeader ( ParseQuery (

201)

201)

Generates the raw byte values for the DNS header section of a DNS message. Parses and updates property values found in the raw DNS header.

Legend Method

TDNSHeader.ClearByteCode Method Resets the temporary storage for bit field in the DNS header. Pascal procedure ClearByteCode; Description ClearByteCode is a procedure that resets the temporary storage allocated for the bit fields in BitCode (

200

203). ClearByteCode is

Internet Direct (Indy) Version 10.1.5

Classes

TDNSHeader Class

used when the DNS resolver creates the DNS query used in TIdDNSResolver.Resolve ( Use BitCode (

604).

203) to access the value for an individual bit field in the DNS Header.

TDNSHeader.Create Constructor Constructor for the object instance. Pascal constructor Create; Description Create is the constructor for the object instance. Create calls the Randomize procedure to initialize the runtime random number generator with an arbitrary random value prior to assigning the identifier used in ID ( 204). See Also ID (

204)

TDNSHeader.GenerateBinaryHeader Method Generates the raw byte values for the DNS header section of a DNS message. Pascal function GenerateBinaryHeader: TIdBytes; Returns TIdBytes (

3007) - Raw byte values for the DNS header.

Description GenerateBinaryHeader is a TIdBytes ( the DNS header fields.

3007) function used to create (

201) the raw byte values that represent the contents of

The return value for the method is the 12 byte values representing the fields as indicated in the following:

GenerateBinaryHeader converts numeric values in the header from their host-specific byte order representation to their network byte order representation using the TIdStack.HostToNetwork ( 2165) method. GenerateBinaryHeader also ensures that reserved values in BitCode ( returned from the method. Use ParseQuery (

203) are cleared prior to populate the TIdBytes (

3007)

201) to populate the poroperty values in the DNS using the raw byte values returned in a DNS query response.

See Also ID (

204) BitCode (

203) QDCount (

205) ANCount (

203) NSCount (

204) ARCount (

203) ParseQuery (

201)

TDNSHeader.ParseQuery Method Parses and updates property values found in the raw DNS header. Pascal function ParseQuery( Data: TIdBytes Internet Direct (Indy) Version 10.1.5

201

TDNSHeader Class

Classes

): integer; Parameters Parameters

Description

Data

Raw byte values to load into the properties for the DNS header.

Returns Integer - 0 on success, or -1 on error. Description ParseQuery is an Integer function used to parse and store property values found in the raw DNS header in Data. ParseQuery returns 0 (zero) on successful completion of the parsing operation, or -1 when Data does not contain at leasst 12 byte values as required in a valid DNS header. ParseQuery converts numeric values in Data from their network byte order representation to their host-specific byte order representation prior to storing the values in the properties for the DNS header. This includes the following properties:

ID (

204)

BitCode (

203)

QDCount (

205)

ANCount (

203)

NSCount (

204)

ARCount (

203)

See Also ID (

204) BitCode (

203) QDCount (

205) ANCount (

203) NSCount (

204) ARCount (

203)

TDNSHeader Properties The Properties of the TDNSHeader class are listed here. Properties Property AA (

Description 202)

Indicates if the name server is an authority for the requested domain.

ANCount (

203)

Number of resource records in the Answer section of a DNS response.

ARCount (

203)

Number of resource records in the Additional section of a DNS response.

BitCode ( ID (

203)

204)

Identifier assigned to match DNS query and response packets.

NSCount (

204)

OpCode (

204)

QDCount (

205)

Qr (

205)

RA (

205)

RCode (

Represents temporary storage for bit fields used in the DNS header. Number of resource records in the Authority section of a DNS response. Indicates the kind of query to be performed on the DNS server. Number of Questions in the DNS message packet. Indicates if the DNS message packet contains a query or a response. Indicates if recursive query support is available on a name server.

206)

Result code returned in a DNS response.

RD (

206)

Indicates if recursive query support is desired for DNS request.

TC (

207)

Indicates if a DNS response message packet has been truncated due to excessive length.

Legend Property

TDNSHeader.AA Property Indicates if the name server is an authority for the requested domain.

202

Internet Direct (Indy) Version 10.1.5

Classes

TDNSHeader Class

Pascal property AA: Word; Description AA is a Word property that indicates if the responding Domain Name Server is an authority for the Domain name space in the question section of a DNS query. AA is used in a DNS response that may contain multiple resource records in the answer section of the DNS response, and each resource record may have a different owner. AA corresponds to the name which matches the Omain name in the query, or the owner name for the first resource record in the answer section. AA is represented in a DNS header as a bit flag. Changing the value of AA ensures that the appropriate bit field is updated in the DNS header for the message packet.

TDNSHeader.ANCount Property Number of resource records in the Answer section of a DNS response. Pascal property ANCount: Word; Description ANCount is a Word property that indicates the number of resource records found in the Answer section of a DNS response. Use NSCount (

204) to determine the number of name server resource records in the DNS response.

Use ARCount (

203) to determine the number of additional resource records in in the DNS response.

TDNSHeader.ARCount Property Number of resource records in the Additional section of a DNS response. Pascal property ARCount: Word; Description ARCount is a Word property that indicates the number of resource records found in the Additional section of a DNS response. Use ANCount (

203) to determine the number of Answer resource records in the DNS response.

Use NSCount (

204) to determine the number of name server resource records in the DNS response.

TDNSHeader.BitCode Property Represents temporary storage for bit fields used in the DNS header. Pascal property BitCode: Word; Description BitCode is a read-only Word property used to represent the individual bit fields that appear in the DNS header. BitCode acts as a temporary storage slot for bit field values. BitCode is used when updating values for bit fields while creating the DNS query, and when reading the values from bit fields in the DNS response. BitCode is ANDed with the appropriate value to access a particular bit field in the DNS header. Use ClearByteCode (

200) to reset the value of all bit fields in BitCode.

Internet Direct (Indy) Version 10.1.5

203

TDNSHeader Class

Classes

TDNSHeader.ID Property Identifier assigned to match DNS query and response packets. Pascal property ID: Word; Description ID is a Word property that represents the 16-bit identifier assigned by the DNS Resolver to allow matching a response to the DNS query that generates the message packet. ID is copied from the DNS request to the corresponding reply and can be used by the requester to match up replies to outstanding queries. The value in ID is assigned in the Create (

201) constructor, and contains a random value in the range 0 to 65535.

ID is read from the DNS Header returned in a DNS response packet, when the results are parsed after a call to TIdDNSResolver.Resolve ( 604).

TDNSHeader.NSCount Property Number of resource records in the Authority section of a DNS response. Pascal property NSCount: Word; Description NSCount is a Word property that indicates the number of resource records found in the Authority section of a DNS response. Use ARCount (

203) to determine the number of Additional resource records in the DNS response.

Use ANCount (

203) to determine the number of resource records in the Answer section of the DNS response.

TDNSHeader.OpCode Property Indicates the kind of query to be performed on the DNS server. Pascal property OpCode: Word; Description OpCode is a Word property and contains an Integer value that specifies the kind of query in a DNS request packet. OpCode is specified in the DNS query, and returned in the DNS response. OpCode may contain one of the following values and associated meanings:

Value

Meaning

0

A standard query (QUERY)

1

An inverse query (IQUERY)

2

A server status request (STATUS)

3

Reserved for future use

4

Reserved for future use

5

Reserved for future use

6

Reserved for future use

7

Reserved for future use

8

Reserved for future use

204

Internet Direct (Indy) Version 10.1.5

Classes

TDNSHeader Class

9

Reserved for future use

10

Reserved for future use

11

Reserved for future use

12

Reserved for future use

13

Reserved for future use

14

Reserved for future use

15

Reserved for future use

Currently, the TIdDNSResolver ( limitations:

600) implementation does not support all aspects of the DNS protocol, and includes the following

• The DNS query type is limited to standard queries, where the DNS Header OpCode is 0. • Inverse queries (OpCode=1) and Status queries (OpCode=2) are not supported at this time. OpCode is represented in a DNS header as a 4-bit field. Changing the value of OpCode ensures that the appropriate bit field is updated in the DNS header for the message packet.

TDNSHeader.QDCount Property Number of Questions in the DNS message packet. Pascal property QDCount: Word; Description QDCount is a Word property that indicates the number of entries in the Question section of a DNS message packet. QDCount is calculated and included in the DNS query when the query is constructed after a call to TIdDNSResolver.Resolve ( 604). QDCount will indicate the numer of values assigned to TIdDNSResolver.QueryRecords. QDCount is returned in the DNS response to indicate the number of Questions handled by the DNS server. Use ANCount ( Use NSCount ( response. Use ARCount (

203) to determine the number of resource records returned in the Answer section of the DNS response. 204) to determine the number of name server resource records returned in the Authoruty section of the DNS 203) to determine the number of resource records returned in the Additional section of the DNS response.

TDNSHeader.Qr Property Indicates if the DNS message packet contains a query or a response. Pascal property Qr: Word; Description Qr is a Word property that specifies if the contents of the DNS message packet contains a DNS query or DNS a response. Qr will contain the value 0 when the message is a query, and the value 1 when the message is a response. Qr is represented in a DNS header as a bit field. Changing the value of Qr ensures that the appropriate bit field is updated in the DNS header for the message packet.

TDNSHeader.RA Property Indicates if recursive query support is available on a name server.

Internet Direct (Indy) Version 10.1.5

205

TDNSHeader Class

Classes

Pascal property RA: Word; Description RA is a Word property that indicates if recursive query support is available on the DNS server responding to the DNS query. RA will contain the value 1 when recursive queries are availabale on the name server, or the value 0 when recursive queries are not supported or allowed for the DNS resolver. Use RD (

206) to indicate if recursive query support is desired in a DNS request.

RA is represented in a DNS header as a bit field. Changing the value of RA ensures that the appropriate bit field is updated in the DNS header for the message packet.

TDNSHeader.RCode Property Result code returned in a DNS response. Pascal property RCode: Word; Description RCode is a Word property that represents the result code returned by a DNS server as part of a response to a DNS query. RCode may contain one of the following values and associated meanings:

Value Meaning 0

No error condition.

1

Query Format error. The name server was unable to interpret the query.

2

Server failure. The name server was unable to process this query due to a problem with the name server.

3

Name Error. Meaningful only for responses from an authoritative name server, this code signifies that the domain name referenced in the query does not exist.

4

Not Implemented. The name server does not support the requested kind of query.

5

Operation Refused. The name server refuses to perform the specified operation for policy reasons. For example, a name server may not wish to provide the information to the particular requester, or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data.

6

Reserved for future use.

7

Reserved for future use.

8

Reserved for future use.

9

Reserved for future use.

10

Reserved for future use.

11

Reserved for future use.

12

Reserved for future use.

13

Reserved for future use.

14

Reserved for future use.

15

Reserved for future use.

RCode is represented in a DNS header as a 4-bit field. Changing the value of RCode ensures that the appropriate bit field is updated in the DNS header for the message packet.

TDNSHeader.RD Property Indicates if recursive query support is desired for DNS request. 206

Internet Direct (Indy) Version 10.1.5

Classes

TEvent Class

Pascal property RD: Word; Description RD is a Word property that indicates if recursive query support is desired on the DNS server responding to a DNS query. RD will contain the value 1 when recursive queries are desired on the name server, or the value 0 when recursive queries are not desired by the DNS resolver. Use RA (

205) to detgermine if recursive query support is available on a DNS server issuing a response.

RD is represented in a DNS header as a bit field. Changing the value of RD ensures that the appropriate bit field is updated in the DNS header for the message packet.

TDNSHeader.TC Property Indicates if a DNS response message packet has been truncated due to excessive length. Pascal property TC: Word; Description TC is a Word property that indicates if a DNS response message packet has been truncated when the length of the message packet exceeds the maximum permitted on the transmission channel. TC will contain the value 1 when the mesaage packet has been truncated, or the value 0 when the packet contains the entire response issued by the name server. Messages handled by the UDP-based DNS Resolver are restricted to 512 bytes (not counting the UDP headers). Longer messages are truncated and TC is set to 1 in the header. For this reason, the UDP-based TIdDNSResolver ( 600) does not implement DNS zone transfers, but is the recommended method for standard queries in the Internet. TC is represented in a DNS header as a bit field. Changing the value of TC ensures that the appropriate bit field is updated in the DNS header for the message packet.

TErrorRecord Class File IdDNSResolver (

4620)

Hierarchy

Pascal TErrorRecord = class(TResultRecord); Description TErrorRecord is a TResultRecord (

2682) descendant.

See Also TResultRecord (

2682)

TEvent Class Ancestor class for thread-based event notifications.

Internet Direct (Indy) Version 10.1.5

207

TEvent Class

Classes

File IdGlobal (

4650)

Hierarchy

Pascal TEvent = class(TObject); Description TEvent is a TObject descendant that implements the ancestor for the TIdLocalEvent ( 1449) class on the .Net platform. TEvent provides the functionality required for thread-based event notifications using waitable event handles. On the ,Net platform, TEvent provides a wrapper for the WaitHandle class in the FCL. WaitHandle instances are typically used when implementing synchronized access to object instances. TEvent defines a signaling mechanism to indicate taking or releasing exclusive access to a shared resource using WaitHandle methods to block while waiting for access to shared resources. TEvent also isolates differences between the implementations for the AutoResetEvent and the ManualResetEvent descendants in the FCL. Use the methods of this class to block a thread until one or more synchronization objects receive a signal. See Also TIdLocalEvent ( TWaitResult (

1449) 2989)

TEvent Members The following tables list the members exposed by TEvent. Methods Method

Description

Destroy (

210)

ResetEvent ( SetEvent ( Create (

210) 210)

Frees the object instance. Clears the waitable event handler. Sets the signal for the event.

209)

WaitFor (

211)

Blocks the current thread until the current event receives a signal.

Legend Destructor virtual

TEvent Methods The Methods of the TEvent class are listed here. Methods Method Create (

Description 209)

Destroy ( ResetEvent ( SetEvent ( WaitFor (

208

210) 210) 210) 211)

Frees the object instance. Clears the waitable event handler. Sets the signal for the event. Blocks the current thread until the current event receives a signal.

Internet Direct (Indy) Version 10.1.5

Classes

TEvent Class

Legend Constructor virtual

TEvent.Create Constructor Overload List Method

Description

TEvent.Create () (

209)

TEvent.Create (IntPtr, Boolean, string) ( 209)

Constructor for the object instance. Boolean, Constructor for the object instance.

TEvent.Create Constructor () Constructor for the object instance. Pascal constructor Create; overload; Description Create is the overloaded constructor for the object instance. Create calls the overloaded Create method using the value Nil for the event attributes and True for the ManualReset flag. The InitialState flag is set to False. A name is not assigned for the event. Use Destroy (

210) to free the object instance.

See Also TEvent.Create TEvent.Destroy (

210)

TEvent.Create Constructor (IntPtr, Boolean, Boolean, string) Constructor for the object instance. Pascal constructor Create( EventAttributes: IntPtr; ManualReset: Boolean; InitialState: Boolean; const Name: string = '' ); overload; Parameters Parameters

Description

EventAttributes

Attributes for the event.

ManualReset

Indicates if the event is manually reset.

InitialState

Inital state values for the FCL class.

Name

Name of the event. Unused.

Description Create is the overloaded constructor for the object instance. EventAttributes is the attributes for the event, and is provide for compatibility with the inherited constructor. They are not used in the overloaded constructor. ManualReset indicates the type of FCL event to create for the object instance. When ManualReset contains True, the event stores a ManualResetEvent object instance with the values in InitialState. When ManualReset contains False, the event stores a AutoResetEvent object instance with the values in InitialState. Internet Direct (Indy) Version 10.1.5

209

TEvent Class

Classes

InitialState represents the arguments passed to the ManualResetEvent or AutoResetEvent used in the object instance. Name is provided for compatibility with the inherited constructor, but is not used in the overloaded constructor. Use Destroy (

210) to free the object instance.

See Also TEvent.Create TEvent.Destroy (

210)

TEvent.ResetEvent (

210)

TEvent.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy frees resources allocated to the internal event handle for the class instance using SetEvent (

210).

Destroy calls the inherited Destructor prior to exiting from the method. See Also Create (

209)

SetEvent (

210)

ResetEvent (

210)

TEvent.ResetEvent Method Clears the waitable event handler. Pascal procedure ResetEvent; Description ResetEvent is a procedure used to ensure that signals posted to the waitable event handle in the class instance are cleared. ResetEvent examines the internal handle to determine its' class type, and casts the handle prior to calling the Reset method from the Framework class library. Use SetEvent ( Use WaitFor (

210) to post a signal to the waitable event handle. 211) to retrieve the result from the waitable event handler.

See Also SetEvent (

210)

WaitFor (

211)

TEvent.SetEvent Method Sets the signal for the event. Pascal procedure SetEvent;

210

Internet Direct (Indy) Version 10.1.5

Classes

TEvent Class

Description SetEvent is a procedure used to ensure that the event handle is signalled in the class instance. SetEvent examines the internal handle to determine its' class type, and casts the handle prior to calling the Set method from the Framework class library. A thread waits for a signal by calling the WaitFor ( 211) method in the class instance. If it is in the nonsignaled state, the thread blocks, waiting for the thread that currently controls the resource to signal that the resource is available. SetEvent uses the internal waitable handle to signal the release of a waiting thread. You can control the initial state of the event intance using the Create ( is signaled and false otherwise. Use ResetEvent ( Use WaitFor (

209) constructor by passing the value True if the initial state

210) to clear a signal on the waitable event handle.

211) to retrieve the result from the waitable event handler.

See Also ResetEvent ( WaitFor ( Create (

210)

211) 209)

TEvent.WaitFor Method Blocks the current thread until the current event receives a signal. Pascal function WaitFor( Timeout: LongWord ): TWaitResult; virtual; Parameters Parameters

Description

Timeout

Number of milliseconds to wait for a signal on the event handle.

Returns TWaitResult (

2989) - Enumerated value representing the method result.

Description WaitFor is a TWaitResult ( 2989) function used to block execution of the current thread until the current event receives a signal. WaitFor wraps calls to the overloaded WaitHandle.WaitOne methods from the FCL, and provides an enumerated value to represent the result of the operation. Timeout indicates the optional number of milliseconds to wait for the signal on the waitable event handle. The value INFINITE indicates that the value in Timeout is not used when calling the overloaded WaitHandle.WaitOne method. The return value for the method can contain one of the enumerated values defined in TWaitResult ( values and meanings:

2989), with the following

Value Meaning --------- --------------------------------------------------wrSignaled A signal was received. wrTimeout A signal was not received before the optional timeout period elapsed. wrAbandoned ??? wrError An exception occurred while waiting for the signal. Internet Direct (Indy) Version 10.1.5

211

TFileCreateStream Class

Classes

See Also TWaitResult (

2989)

TFileCreateStream Class Implements a file stream which recreates the file used for storing stream content. File IdGlobal (

4650)

Hierarchy

Pascal TFileCreateStream = class(TIdFileStream); Description TFileCreateStream is a TIdFileStream ( storing content written to the stream.

3026) descendant that implements a file stream which always recreates the file used for

TFileCreateStream includes a constructor which accepts a file name argument specifying the file on the local file system to create ( 213) for the stream. Use TAppendFileStream (

188) to create (

Use TReadFileExclusiveStream ( file sharing modes enabled.

213) a file stream which appends stream output to any existing content in the local file.

2676) or TReadFileNonExclusiveStream (

2677) to create (

213) file streams with the desired

See Also Create (

213)

TIdFileStream (

3026)

TAppendFileStream (

188)

TReadFileExclusiveStream (

2676)

TReadFileNonExclusiveStream (

2677)

TFileCreateStream Members The following tables list the members exposed by TFileCreateStream. Methods Method Create (

Description 213)

Constructor for the object instance.

Legend Constructor

TFileCreateStream Methods The Methods of the TFileCreateStream class are listed here.

212

Internet Direct (Indy) Version 10.1.5

Classes

THINFORecord Class

Methods Method Create (

Description 213)

Constructor for the object instance.

Legend Constructor

TFileCreateStream.Create Constructor Constructor for the object instance. Pascal constructor Create( const AFile: String ); Parameters Parameters

Description

AFile

File name used to store stream output.

Description Create is the constructor for the object instance. AFile contains the file path and/or name on the local file system to create for storing output written to the stream. Create calls the inherited constructor using the following file mode constant for the specified file name:

fmCreate (

3206)

THINFORecord Class Represents a resource record returned from a DNS query that includes Host Information resource record types. File IdDNSResolver (

4620)

Hierarchy

Pascal THINFORecord = class(TTextRecord); Description THINFORecord is a TTextRecord ( 2702) descendant that represents a resource record returned in the results for a DNS query. THINFORecord is a collection item created to represent a resource record returned when TIDNSResolver.QueryRecords includes the value qtHINFO for Host Information resource records. HINFO resource records are used to acquire general information about a host server. The main use is for protocols such as FTP that can use special procedures when talking between machines or operating systems of the same type. An HINFO resoure record uses the same DNS packet layout as other TResultRecord ( use of RData ( 2686) to include the following definition and format:

Internet Direct (Indy) Version 10.1.5

2682)-based responses, but extends the

213

THINFORecord Class

• CPU (

Classes

216) - Variable length character string which specifies the CPU (

216) type for the host server.

• OS ( 216) - Variable length character string which specifies the Operating System for the host server. Standard values for CPU ( 216) and OS ( 216) can be found in RFC 1010. THINFORecord extends TTextRecord ( including CPU ( 216) and OS ( 216).

2702) to implement the specifics of accessing RData (

THINFORecord also overrides the Parse (

215) method to read the values in RData (

2686) values as properties,

2686) into their property counterparts.

See Also TTextRecord (

2702) TResultRecord (

2682) TQueryResult (

2669) TIdDNSResolver.QueryRecords

THINFORecord Members The following tables list the members exposed by THINFORecord. Properties Property

Description

CPU (

216)

Name ( OS (

2686)

216)

RData (

2686)

RDataLength ( RecClass ( RecType ( Section (

2686)

2686) 2686) 2687)

Text (

2705)

TTL (

2687)

Methods Method

Description

Assign (

215)

Create (

2704)

Destroy ( Destroy ( Parse (

2685) 2704) 215)

Legend Method virtual Property

214

Internet Direct (Indy) Version 10.1.5

Classes

THINFORecord Class read only

THINFORecord Methods The Methods of the THINFORecord class are listed here. Methods Method

Description

Assign ( Parse (

215) 215)

Legend Method virtual

THINFORecord.Assign Method Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Type is TIdPersistent (

3073).

Description Assign is a overridden method.

THINFORecord.Parse Method Pascal procedure Parse( CompleteMessage: TIdBytes; APos: Integer ); override; Parameters Parameters

Description

CompleteMessage

Type is TIdBytes (

APos

Type is Integer.

3007).

Description Parse is a overridden method.

THINFORecord Properties The Properties of the THINFORecord class are listed here. Properties Property CPU ( OS (

Description 216) 216)

Legend Property read only

Internet Direct (Indy) Version 10.1.5

215

TIdAEPLFFTPListItem Class

Classes

THINFORecord.CPU Property Pascal property CPU: String; Description CPU is a Public read-only String property.

THINFORecord.OS Property Pascal property OS: String; Description OS is a Public read-only String property.

TIdAEPLFFTPListItem Class File IdFTPListParseEPLF (

4638)

Hierarchy

Pascal TIdAEPLFFTPListItem = class(TIdFTPListItem); Description TIdAEPLFFTPListItem is a TIdFTPListItem (

851) descendant.

See Also TIdFTPListItem (

851)

TIdAEPLFFTPListItem Members The following tables list the members exposed by TIdAEPLFFTPListItem. Properties Property Data (

Description 855)

Data from a directory listing response used to populate properties in the collection item.

FileName (

855)

ItemType (

855)

LocalFileName (

Indicates the type of item represented by the collection entry. 855)

ModifiedAvail (

856)

ModifiedDate (

856)

Last modification date and time for the resource on the remote FTP server. 217)

PermissionDisplay (

856)

857)

Suggested file name to used for the local file system. Indicates if last modification date and time values are available for the collection item.

ModifiedDateGMT ( Size (

216

Name for a file as assigned on the remote FTP server.

User-displayable representation of permissions for the collection item. Indicates the allocated size for the file resource on the remote FTP server.

SizeAvail (

857)

UniqueID (

217)

Indicates if file size information is available in the Size (

857) property for the collection item.

Internet Direct (Indy) Version 10.1.5

Classes

TIdAntiFreezeBase Class

Methods Method

Description

Assign (

853)

Copies property values from another structured directory listing entry.

Create (

853)

Constructor for the collection item.

Destroy (

854)

Frees the collection item.

Legend Property Method virtual

TIdAEPLFFTPListItem Properties The Properties of the TIdAEPLFFTPListItem class are listed here. Properties Property

Description

ModifiedDateGMT ( UniqueID (

217)

217)

Legend Property

TIdAEPLFFTPListItem.ModifiedDateGMT Property Pascal property ModifiedDateGMT; Description ModifiedDateGMT is a Public property.

TIdAEPLFFTPListItem.UniqueID Property Pascal property UniqueID: string; Description UniqueID is a Public string property. Write access for the property is implemented using FUniqueID.

TIdAntiFreezeBase Class Ancestor for the Indy GUI-integration class. File IdAntiFreezeBase (

4555)

Hierarchy

Pascal TIdAntiFreezeBase = class(TIdBaseComponent); Description TIdAntiFreezeBase is a TIdBaseComponent ( Internet Direct (Indy) Version 10.1.5

266) descendant that represents the ancestor for the Indy GUI-integration 217

TIdAntiFreezeBase Class

Classes

component. TIdAntiFreezeBase specifies abstract and virtual methods that allow descendant classes to yield to the application for message handling and processing. TIdAntiFreezeBase implements an overridden protected InitComponent method used to initialize property values in the new object instance. InitComponent ensures that the GAntiFreeze ( 3123) application variable is assigned using the current TIdAntiFreezeBase instance. At runtime, InitComponent may raise an EIdException ( created in the application.

76) exception if an existing TIdAntiFreezeBase descendant has been

InitComponent also ensures that the default value for the following properties:

Property Active (

Value 221)

ID_Default_TIdAntiFreezeBase_Active (

ApplicationHasPriority ( IdleTimeOut (

222)

222)

OnlyWhenIdle (

3282)

ID_Default_TIdAntiFreezeBase_ApplicationHasPriority ( ID_Default_TIdAntiFreezeBase_IdleTimeOut (

222)

3283)

3283)

ID_Default_TIdAntiFreezeBase_OnlyWhenIdle (

Do not create ( 267) instances of TIdAntiFreezeBase. Applications should create ( ( 2710) component.

3283) 267) and use instances of the TIdAntiFreeze

See Also TIdBaseComponent ( GAntiFreeze (

266)

3123)

TIdAntiFreeze (

2710)

TIdAntiFreezeBase Members The following tables list the members exposed by TIdAntiFreezeBase. Properties Property Active (

Description 221)

Indicates that the component is active.

ApplicationHasPriority ( IdleTimeOut (

222)

OnlyWhenIdle ( Version (

222)

269)

222)

Specifies that messages from the application main thread have priority. Identifies the idle timeout value in milliseconds. Specifies the component should yield when the main thread is idle. Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

Constructor for the object instance.

Destroy (

219)

Frees an TIdAntiFreezeBase (

DoProcess (

219)

Implements basic Process (

GetVersion (

269)

Version (

Process (

220)

Specifies the method that implements the component functionality.

ShouldUse ( Sleep ( CType (

220)

221)

217) object instance. 220) functionality for descendant classes.

269) number for Indy component suite.

Indicates that a TIdAntiFreezeBase ( the main thread.

217) descendant is in use, and processor cycles should be yielded to

Yields processor cycles and optionally processes application messages.

267)

Create (

1274)

Legend Constructor virtual

218

Internet Direct (Indy) Version 10.1.5

Classes

TIdAntiFreezeBase Class abstract Property read only

TIdAntiFreezeBase Methods The Methods of the TIdAntiFreezeBase class are listed here. Methods Method

Description

Destroy (

219)

Frees an TIdAntiFreezeBase (

DoProcess (

219)

Implements basic Process (

Process (

220)

Specifies the method that implements the component functionality.

ShouldUse ( Sleep (

220)

217) object instance. 220) functionality for descendant classes.

Indicates that a TIdAntiFreezeBase ( the main thread.

221)

217) descendant is in use, and processor cycles should be yielded to

Yields processor cycles and optionally processes application messages.

Legend Destructor virtual abstract

TIdAntiFreezeBase.Destroy Destructor Frees an TIdAntiFreezeBase (

217) object instance.

Pascal destructor Destroy; override; Description Destroy frees the object instance. Destroy sets the unit global variable GAntiFreeze ( inherited Destroy method.

3123) to the value nil prior to calling the

Notes It is not recommended to call Destroy directly. Call Free instead. Free checks to ensure that the object reference is not nil before calling Destroy. See Also GAntiFreeze (

3123)

TIdAntiFreezeBase.DoProcess Method Implements basic Process (

220) functionality for descendant classes.

Pascal class procedure DoProcess( const AIdle: Boolean = true; const AOverride: Boolean = false ); Parameters Parameters

Description

AIdle

True forces an Idle state. Default is True.

AOverride

True overrides the current OnlyWhenIdle (

222) property. Default is False.

Description DoProcess is a class procedure that implements the default behavior for the abstract Process ( 220) method in TIdAntiFreezeBase ( 217) descendants. DoProcess allows the component to force an idle state in the main thread of execution, and to allow message processing for other threads of execution. Internet Direct (Indy) Version 10.1.5

219

TIdAntiFreezeBase Class

Classes

Set AIdle to True to force an idle state in the main thread regardless of the current OnlyWhenIdle ( to use the current OnlyWhenIdle ( 222) value. The default value for AIdle is True.

222) value. Set AIdle to False

Set AOverride to True to force an idle state in the main thread regardless of either AIdle or OnlyWhenIdle ( 222) values. Set AOverride to False to allow use of the current values in AIdle or OnlyWhenIdle ( 222). The default value for AOverride is False. DoProcess calls the Process ( returns True.

220) method in the global GAntiFreeze (

3123) application variable when the ShouldUse (

220)

Notes TIdAntiFreezeBase ( Active ( 221).

217) can only perform DoProcess when the calling client is the main application thread and the component is

See Also Process (

220)

ShouldUse (

220)

OnlyWhenIdle (

222)

TIdAntiFreezeBase.Process Method Specifies the method that implements the component functionality. Pascal procedure Process; virtual; abstract; Description Process is an abstract virtual procedure in TIdAntiFreezeBase ( yielding to the application for message handling and processing.

217). Descendant classes must implement Process to enable

See Also DoProcess (

219)

TIdAntiFreeze.Process

TIdAntiFreezeBase.ShouldUse Method Indicates that a TIdAntiFreezeBase (

217) descendant is in use, and processor cycles should be yielded to the main thread.

Pascal class function ShouldUse: Boolean; virtual; Returns Boolean - True when the calling client is in the main thread and an active TIdAntiFreezeBase (

217) descendant is in use.

Description ShouldUse is a virtual Boolean class function that indicates when a TIdAntiFreezeBase ( application, and that the component should yield to the main thread of execution. ShouldUse accesses the GAntiFreeze ( activated.

3123) variable to determine if a TIdAntiFreeze (

217) descendant is in use in an

2710) instance has been assigned and

ShouldUse will return True when all of the following conditions are met:

Condition

Description

GAntiFreeze (

3123)

Not nil.

GAntiFreeze (

3123)

Active (

InMainThread ( 220

2841)

221) property value is True.

Return value is True. Internet Direct (Indy) Version 10.1.5

Classes

TIdAntiFreezeBase Class

ShouldUse is called from the Sleep ( 221) method, as well as in TIdSocketHandle ( methods that implement connection timeout features.

2071) and TIdIOHandlerStack (

1342)

See Also GAntiFreeze ( Active (

3123)

221)

InMainThread (

2841)

TIdAntiFreezeBase.Sleep Method Yields processor cycles and optionally processes application messages. Pascal class procedure Sleep( ATimeout: Integer ); Parameters Parameters

Description

ATimeout

Total milliseconds to yiled to the application.

Description Sleep is a class procedure that forces a TIdAntiFreezeBase ( milliseconds specified in ATimeout.

217) descendant to yield processor cycles for the number of

Sleep calls ShouldUse ( 220) to determine if a TIdAntiFreezeBase ( 217) descendant is in use in the application. When ShouldUse ( 220) is True, Sleep calls Sleep (in IdCoreGlobal.pas) and DoProcess ( 219) repeatedly until ATimeout milliseconds have elapsed. Each iteration allows Sleep to pause the application for IdleTimeOut ( 222) milliseconds, and calls DoProcess ( 219) to allow the main thread of excution to handle application messages. When ShouldUse (

220) is False, Sleep calls Sleep for ATimeout milliseconds with no additional processing.

See Also ShouldUse (

220)

IdleTimeOut (

222)

TIdAntiFreezeBase Properties The Properties of the TIdAntiFreezeBase class are listed here. Properties Property Active (

Description 221)

Indicates that the component is active.

ApplicationHasPriority ( IdleTimeOut (

222)

222)

OnlyWhenIdle (

222)

Specifies that messages from the application main thread have priority. Identifies the idle timeout value in milliseconds. Specifies the component should yield when the main thread is idle.

Legend Property

TIdAntiFreezeBase.Active Property Indicates that the component is active. Pascal property Active: boolean;

Internet Direct (Indy) Version 10.1.5

221

TIdAntiFreezeBase Class

Classes

Description Active is a Boolean property that can be used to enable or disable a TIdAntiFreezeBase ( 217) component. The default value for Active is ID_Default_TIdAntiFreezeBase_Active ( 3282) as assigned in the Create ( 267) constructor. Notes TIdAntiFreezeBase ( 217) can only perform it's processing when the calling client is the main thread in the application and the component is Active, as indicated in ShouldUse ( 220). See Also ID_Default_TIdAntiFreezeBase_Active (

3282) TIdAntiFreezeBase.ShouldUse (

220)

TIdAntiFreezeBase.ApplicationHasPriority Property Specifies that messages from the application main thread have priority. Pascal property ApplicationHasPriority: Boolean; Description ApplicationHasPriority is a Boolean property indicating that an Application should process ( 220) any Application messages prior to messages from other threads of execution in the Process ( 220) method. The default value for the property is ID_Default_TIdAntiFreezeBase_ApplicationHasPriority ( 3283). See Also TIdAntiFreezeBase.Process (

220)

TIdAntiFreezeBase.IdleTimeOut Property Identifies the idle timeout value in milliseconds. Pascal property IdleTimeOut: integer; Description IdleTimeOut is an Integer property that specifies the number of milliseconds allowed to elapse in calls to Sleep ( The default value for IdleTimeout is ID_Default_TIdAntiFreezeBase_IdleTimeOut ( and the Create ( 267) constructor. IdleTimeout is used in TIdIOHandlerStack (

221).

3283), as used in VCL Component streaming

1342) when handling timeouts during a client connection.

IdleTimeout is used in TIdSocketHandle.Readable (

2078) when checking if the connection is available for read operations.

See Also Sleep (

221)

TIdSocketHandle.Readable ( TIdIOHandlerStack (

2078)

1342)

ID_Default_TIdAntiFreezeBase_IdleTimeOut (

3283)

TIdAntiFreezeBase.OnlyWhenIdle Property Specifies the component should yield when the main thread is idle. Pascal property OnlyWhenIdle: Boolean;

222

Internet Direct (Indy) Version 10.1.5

Classes

TIdARPHdr Class

Description OnlyWhenIdle is a Boolean property that indicates when TIdAntiFreezeBase ( 217) should yield when the Application main thread is idle. Set OnlyWhenIdle to True to prevent the component from yielding when the application main thread is not idle in DoProcess ( 219). Set OnlyWhenIdle to False to allow the component to yield when ShouldUse ( 220) is True. The default value for OnlyWhenIdle is ID_Default_TIdAntiFreezeBase_OnlyWhenIdle ( streaming and in the Create ( 267) constructor.

3283), as assigned during VCL component

See Also DoProcess ( Process (

219) 220)

ShouldUse (

220)

ID_Default_TIdAntiFreezeBase_OnlyWhenIdle (

3283)

TIdARPHdr Class File IdRawHeaders (

4701)

Hierarchy

Pascal TIdARPHdr = class(TIdStruct); Description TIdARPHdr is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdARPHdr Members The following tables list the members exposed by TIdARPHdr. Properties Property arp_hln ( arp_hrd (

Description 225) 225)

arp_op (

226)

arp_pln (

226)

arp_pro (

226)

arp_sha (

226)

arp_spa (

226)

arp_tha (

226)

arp_tpa (

226)

Methods Method create ( Destroy (

Description 224) 224)

ReadStruct (

224)

WriteStruct (

225)

Internet Direct (Indy) Version 10.1.5

223

TIdARPHdr Class

Classes

Legend Constructor virtual Property read only

TIdARPHdr Methods The Methods of the TIdARPHdr class are listed here. Methods Method create ( Destroy (

Description 224) 224)

ReadStruct (

224)

WriteStruct (

225)

Legend Constructor virtual

TIdARPHdr.create Constructor Pascal constructor create; override; Description create is a overridden constructor for the object instance.

TIdARPHdr.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdARPHdr.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description ReadStruct is a overridden method.

224

Internet Direct (Indy) Version 10.1.5

Classes

TIdARPHdr Class

TIdARPHdr.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdARPHdr Properties The Properties of the TIdARPHdr class are listed here. Properties Property arp_hln ( arp_hrd (

Description 225) 225)

arp_op (

226)

arp_pln (

226)

arp_pro (

226)

arp_sha (

226)

arp_spa (

226)

arp_tha (

226)

arp_tpa (

226)

Legend Property read only

TIdARPHdr.arp_hln Property Pascal property arp_hln: byte; Description arp_hln is a Public byte property. Write access for the property is implemented using Farp_hln.

TIdARPHdr.arp_hrd Property Pascal property arp_hrd: word; Description arp_hrd is a Public word property. Write access for the property is implemented using Farp_hrd.

Internet Direct (Indy) Version 10.1.5

225

TIdARPHdr Class

Classes

TIdARPHdr.arp_op Property Pascal property arp_op: word; Description arp_op is a Public word property. Write access for the property is implemented using Farp_op.

TIdARPHdr.arp_pln Property Pascal property arp_pln: byte; Description arp_pln is a Public byte property. Write access for the property is implemented using Farp_pln.

TIdARPHdr.arp_pro Property Pascal property arp_pro: word; Description arp_pro is a Public word property. Write access for the property is implemented using Farp_pro.

TIdARPHdr.arp_sha Property Pascal property arp_sha: TIdEtherAddr; Description arp_sha is a Public read-only TIdEtherAddr (

679) property.

TIdARPHdr.arp_spa Property Pascal property arp_spa: TIdInAddr; Description arp_spa is a Public read-only TIdInAddr (

1271) property.

TIdARPHdr.arp_tha Property Pascal property arp_tha: TIdEtherAddr; Description arp_tha is a Public read-only TIdEtherAddr (

679) property.

TIdARPHdr.arp_tpa Property Pascal property arp_tpa: TIdInAddr;

226

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachment Class

Description arp_tpa is a Public read-only TIdInAddr (

1271) property.

TIdAS400FTPListItem Class File IdFTPListParseAS400 (

4635)

Hierarchy

Pascal TIdAS400FTPListItem = class(TIdOwnerFTPListItem); Description TIdAS400FTPListItem is a TIdOwnerFTPListItem (

1765) descendant.

See Also TIdOwnerFTPListItem (

1765)

TIdAttachment Class Encapsulates a MIME-encoded attachment or inline graphic. File IdAttachment (

4585)

Hierarchy

Pascal TIdAttachment = class(TIdMessagePart); Description TIdAttachment is a TIdMessagePart ( 1614) descendant that encapsulates a MIME-encoded attachment or inline graphic. TIdAttachment, TIdAttachmentFile ( 236), TIdAttachmentMemory ( 244), and TIdText ( 2404) are used as collection items in the TIdMessageParts ( 1623) collection. TIdAttachment publishes properties that provide read and write access to additional header values common to mail message attachments. TIdAttachment specifies abstract virtual methods that allow the Internet Message attachment to retrieve and store the contents of its headers and message body using a stream.

Sending a Message with Attachments For sending a message with attachments, the following abstract virtual methods need to be overridden and reimplemented:

• Create (

1616)

• OpenLoadStream (

231)

Internet Direct (Indy) Version 10.1.5

227

TIdAttachment Class

Classes

• CloseLoadStream (

230)

Create ( 1616) accepts an argument that indicates the file, string, or stream containing the contents of the attachment. TIdAttachment does not implement a constructor for the class that allows specifying the file, string, stream with the contents of the attachment. When a TIdMessage ( 1521) instance is transmitted using TIdMessageClient ( 1555), or a descendant class, the overridden OpenLoadStream ( 231) and CloseLoadStream ( 230) in an attachment are called. These overridden methods open and close the internal stream used for loading the contents of the message part during transmission. OpenLoadStream ( 231) accesses (or creates) a stream used for loading the contents of the message part. During transmission, values in the internal stream are encoded based on the properties specified in the message or message part in TIdMessageClient ( 1555) methods like SendHeader and SendBody. CloseLoadStream ( 230) ensures that the internal stream for accessing data in the message part is reset when all values have been read during transmission. If the internal stream is created in OpenLoadStream ( 231), it is freed in CloseLoadStream ( 230). An existing stream is repositioned to its initial position prior to reading values for the message part.

Accessing or Receiving a message with Attachments When loading or receiving a message with attachments, the following abstract virtual methods need to be overridden and reimplemented:

• PrepareTempStream ( • FinishTempStream (

232) 231)

When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream ( 232) and FinishTempStream ( 231) methods for the attachment are called. These methods apply to both receiving a message from a remote mail server or accessing a message from a local mail store. Essentially, the actions are the same - differing only in the type of stream used to read the message contents. PrepareTempStream ( 232) ensures that the temporary stream used for processing the contents of the message part are allocated, sized, and/or positioned prior to reading values to be stored in a TIdMessage ( 1521) instance. FinishTempStream ( 231) ensures that the temporary stream used for processing the contents of the message part are freed, and/or repositioned after reading values stored in a TIdMessage ( 1521) instance. The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient (

1555) rely on the overridden methods.

Applications do not normally create ( 1616) instances of TIdAttachment. Use TIdAttachmentFile ( 236) or TIdAttachmentMemory ( 244), which implement the abstract virtual methods required to create ( 1616), load, or save the attachment using the desired string, stream, or file. See Also TIdMessage.MessageParts ( TIdMessagePart ( TIdText (

1548)

1614)

2404)

TIdAttachmentFile (

236)

TIdAttachmentMemory ( IndySupport (

244)

15)

TIdAttachment Members The following tables list the members exposed by TIdAttachment.

228

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachment Class

Properties Property

Description

Boundary (

1618)

BoundaryBegin ( BoundaryEnd ( CharSet (

Character sequence that delimits the message part. 1618)

Indicates that a boundary marker appears at the beginning of the message part.

1618)

Indicates that a boundary marker appears at the end of the message part.

1619)

ContentDescription (

1619)

Represents descriptive information with a given message body.

ContentDisposition (

234)

Indicates presentation and storage parameters for the message part.

ContentID (

1619)

Identifier for the message part.

ContentLocation (

1619)

Specifies a URI that is the resource location for the entity in the message.

ContentTransfer (

1620)

Identifies the encoding scheme for the message part.

ContentType (

1620)

Identifies the MIME media type for the message.

ContentTypeName ( ExtraHeaders ( FileName (

Optional attribute parameter for the ContentType (

1621)

File name used to the store the attachment.

1621)

IsEncoded (

1620) in a message part.

Represents message headers not used for with property storage.

236)

Headers ( ParentPart (

235)

Represents message headers in native form.

1622)

Indicates that the body for the message part is MIME-encoded.

1622)

Methods Method Assign (

Description 230)

Copies properties from a persistent object to the current object instance.

CloseLoadStream ( Create ( Destroy (

230)

Specifies the method used to close the internal stream needed for loading an attachment before transmission.

1616)

Constructor for the collection item.

1616)

Frees the object instance.

FinishTempStream ( GetCharSet (

231)

Resets the internal stream used to access the message part.

1617)

OpenLoadStream ( PartType (

231)

Specifies the method used to open and initialize the internal stream needed for loading an attachment before transmission.

232)

Indicates the message part type to control decoding and processing during receipt.

PrepareTempStream ( ResolveContentType ( SaveToFile (

232)

233)

SaveToStream (

Provides a stream for the contents of the message part.

1617) Stores the headers and message part content for the attachment into the specified file.

233)

Writes the content for an attachment onto the specified stream.

Events Event

Description

OnGetMessagePartStream (

1622)

Legend Method virtual abstract Property read only Event

TIdAttachment Methods The Methods of the TIdAttachment class are listed here. Methods Method Assign (

Description 230)

CloseLoadStream ( FinishTempStream ( OpenLoadStream ( PartType (

Copies properties from a persistent object to the current object instance. 230) 231) 231)

232)

Internet Direct (Indy) Version 10.1.5

Specifies the method used to close the internal stream needed for loading an attachment before transmission. Resets the internal stream used to access the message part. Specifies the method used to open and initialize the internal stream needed for loading an attachment before transmission. Indicates the message part type to control decoding and processing during receipt.

229

TIdAttachment Class

Classes

PrepareTempStream ( SaveToFile (

232)

Provides a stream for the contents of the message part.

233)

SaveToStream (

Stores the headers and message part content for the attachment into the specified file.

233)

Writes the content for an attachment onto the specified stream.

Legend Method virtual abstract

TIdAttachment.Assign Method Copies properties from a persistent object to the current object instance. Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Persistent object with properties to assign to the current object instance.

Description Assign is an overridden procedure used to copy property values from the persistent object in Source to the current object instance. Assign compares the ClassType value in the current object to the class type for the object in Source. When the values are the same, the values in the following properties are assigned to the current object instance:

Headers (

1621)

ExtraHeaders ( FileName (

1621)

236)

When the ClassType values do not match, the inherited Assign method is called. See Also TIdMessagePart.Headers (

1621)

TIdMessagePart.ExtraHeaders ( TIdAttachment.FileName (

1621)

236)

TIdAttachment.CloseLoadStream Method Specifies the method used to close the internal stream needed for loading an attachment before transmission. Pascal procedure CloseLoadStream; virtual; abstract; Description CloseLoadStream is an abstract virtual procedure that specifies the method used to close the internal stream needed for loading an attachment. CloseLoadStream is used to ensure that the internal stream for accessing data in the message part is reset when all values have been read during transmission. If the internal stream is created in OpenLoadStream ( 231), it should be freed in CloseLoadStream. An existing stream must be repositioned to its initial position prior to reading values for the message part. CloseLoadStream must be overriden in an ancestor class to properly close (or free) the internal stream used for loading the contents of an attachment prior to transmission. Use OpenLoadStream ( 230

231) to initialize the stream used for loading the contents of a message attachment. Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachment Class

See Also TIdAttachmentFile.CloseLoadStream (

239)

TIdAttachmentMemory.CloseLoadStream ( TIdAttachmentFile.OpenLoadStream (

247)

241)

TIdAttachment.FinishTempStream Method Resets the internal stream used to access the message part. Pascal procedure FinishTempStream; virtual; abstract; Description FinishTempStream is an abstract virtual procedure tha specifies the method used to reset the internal stream for accessing the contents of the message part. FinishTempStream is called when loading or receiving a message with attachments. When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream ( 232) and FinishTempStream methods for the attachment are called. These methods apply to both receiving a message from a remote mail server or accessing a message from a local mail store. Essentially, loading a message and receiving a message are the same differing only in the type of stream used to read the message contents. FinishTempStream ensures that the temporary stream used for processing the contents of the message part is freed or repositioned after reading values in the message part. Use PrepareTempStream ( 232) to ensure that the temporary stream used for processing the contents of the message part is allocated or positioned prior to reading values stored in the message part. The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient ( FinishTempStream must be overridden in a descendant class, like TIdAttachmentFile ( implement freeing or repositioning the stream as required for the message part.

1555) rely on the overridden methods. 236) or TIdAttachmentMemory (

244), to

See Also TIdAttachmentFile.FinishTempStream (

240)

TIdAttachmentMemory.FinishTempStream ( TIdMessage.LoadFromFile (

250)

1532)

TIdMessage.ProcessMessage TIdMessage.ReceiveHeader TIdMessage.ReceiveBody

TIdAttachment.OpenLoadStream Method Specifies the method used to open and initialize the internal stream needed for loading an attachment before transmission. Pascal function OpenLoadStream: TIdStream; virtual; abstract; Returns TStream - Stream used to access the contents of the message part. Description OpenLoadStream is an abstract virtual TStream function that specifies the method used to open and initialize the internal stream needed for loading an attachment before transmission. OpenLoadStream is used to ensure that the internal stream for accessing data in the message part is created, opened, and Internet Direct (Indy) Version 10.1.5

231

TIdAttachment Class

Classes

repositioned prior to reading values during message transmission. OpenLoadStream must be overridden in an ancestor class to properly create ( for loading the contents of an attachment prior to transmission.

1616), open, or position the internal stream used

During transmission, values in the internal stream are encoded based on the properties specified in the message or message part using methods in TIdMessageClient ( 1555) like SendHeader and SendBody. CloseLoadStream ( 230) is used to ensure that the internal stream for accessing data in the message part is reset when all values have been read during transmission. If the internal stream is created in OpenLoadStream, it should be freed in CloseLoadStream ( repositioned to its initial position prior to reading values for the message part.

230). An existing stream should be

See Also TIdAttachmentFile.OpenLoadStream (

241)

TIdAttachmentMemory.OpenLoadStream ( TIdAttachmentFile.CloseLoadStream (

250)

239)

TIdAttachment.PartType Method Indicates the message part type to control decoding and processing during receipt. Pascal class function PartType: TIdMessagePartType; override; Returns TIdMessagePartType (

2969) - Type indicator for the message part class.

Description PartType is an overridden TIdMessagePartType (

2969) class function used to provide the type indicator for the class instance.

PartType returns the value mptAttachment for TIdAttachment (

227) and descendant classes.

PartType is used to differentiate message part types, and allows calling the proper methods required to decode and process message part headers and contents in TIdMessageClient.ReceiveBody. See Also TIdMessageClient.ReceiveBody TIdMessage.OnCreateAttachment (

1554)

TIdMessage.CreateAttachmentClass

TIdAttachment.PrepareTempStream Method Provides a stream for the contents of the message part. Pascal function PrepareTempStream: TIdStream; virtual; abstract; Returns TStream - Stream containing the contents for the message part. Description PrepareTempStream is an virtual abstract TStream function that specifies the method used to obtain a stream containing data for the message part. PrepareTempStream is called when loading or receiving a message with attachments. When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream and FinishTempStream ( 231) methods for the attachment are called. These methods apply to both receiving a message from a 232

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachment Class

remote mail server or accessing a message from a local mail store. Essentially, loading a message and receiving a message are the same - differing only in the type of stream used to read the message contents. PrepareTempStream ensures that the temporary stream used for processing the contents of the message part are allocated, sized, and/or positioned prior to reading values to be stored in a TIdMessage ( 1521) instance. Use FinishTempStream ( 231) to ensure that the temporary stream used for processing the contents of the message part is freed, and/or repositioned after reading values stored in the message part. The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient (

1555) rely on the overridden methods.

PrepareTempStream must be overridden in a descendant class, like TIdAttachmentFile ( to implement creating or positioning the stream as required for the message part.

236) or TIdAttachmentMemory (

244),

See Also TIdAttachmentFile.PrepareTempStream (

241)

TIdAttachmentMemory.PrepareTempStream ( TIdMessage.LoadFromFile (

251)

1532)

TIdMessage.ProcessMessage TIdMessage.ReceiveHeader TIdMessage.ReceiveBody

TIdAttachment.SaveToFile Method Stores the headers and message part content for the attachment into the specified file. Pascal procedure SaveToFile( const FileName: String ); virtual; Parameters Parameters

Description

FileName

FIle used to store the contents of the attachment.

Description SaveToFile is a method used to store the headers and message part content for the attachment into the file specified in FileName ( 236). SaveToFile creates a TIdFileStream ( 3026) instance that used to write the contents of the attachment by calling SaveToStream ( 233). SaveToFile frees the TIdFileStream ( 3026) instance prior to exiting form the method.

TIdAttachment.SaveToStream Method Writes the content for an attachment onto the specified stream. Pascal procedure SaveToStream( AStream: TIdStream ); virtual; Parameters Parameters

Description

Stream

Stream used to store the contents of the attachment.

Description SaveToStream is a method used to write the content of the attachment into the TIdStream (

3087) instance specified in AStream.

SaveToStream prepared an internal stream instance with the headers and the message part content for the attachment. Internet Direct (Indy) Version 10.1.5

233

TIdAttachment Class

Classes

SaveToStream uses the CopyFrom method in the stream instance to copy values from the load stream onto the stream specified by AStream. Use LoadFromStream to load the attachment stored using SaveToStream. See Also OpenLoadStream (

231)

CloseLoadStream (

230)

LoadFromStream

TIdAttachment Properties The Properties of the TIdAttachment class are listed here. Properties Property

Description

ContentDisposition (

234)

ContentTypeName ( FileName (

Indicates presentation and storage parameters for the message part.

235)

236)

Optional attribute parameter for the ContentType (

1620) in a message part.

File name used to the store the attachment.

Legend Property read only

TIdAttachment.ContentDisposition Property Indicates presentation and storage parameters for the message part. Pascal property ContentDisposition: string; Description ContentDisposition is a String property that represents the value for the Internet Message header "Content-Disposition", as described in the Intenet Standards documents: RFC 2183 - Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field ContentDisposition indicates presentation information for the message part and can contain values and optional parameters. ContentDisposition can include the following values and associated meanings, as described in the indicated Internet Standards document:

Value

Description

RFC

inline

displayed automatically

RFC 2183

attachment

user controlled display

RFC 2183

form-data

process as form response

RFC 2388

signal

tunneled content is processed silently

RFC 3204

alert

body is a ring tone to alert the user

RFC 3261

icon

body displayed as an icon to the user

RFC 3261

render

body should be displayed to the user

RFC 3261

session

body describes a communications session

RFC 3261

signed-receipt-protocol requested signature format for receipt

RFC 3335

signed-receipt-micalg

RFC 3335

234

requested signature algorithm for receipt

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachment Class

The values "inline" and "attachment" are the most commonly used ContentDisposition values for attachements. "inline" indicates the message part should be display immediately, and in the order in which it occurs. "attachment" indicates that the message part is separate from the main body of the message, and suggests a file where the message part may be stored. ContentDisposition may contain optional parameters in "attribute=value" form, that includes the following parameters names and associated meanings:

Parameter

Meaning

RFC

filename

name to be used when creating file

RFC 2183

creation-date

date when content was created

RFC 2183

modification-date

date when content was last modified

RFC 2183

read-date

date when content was last read

RFC 2183

size

approximate size of content in octets

RFC 2183

name

original field name in form

RFC 2388

voice

type or use of audio content

RFC 2421

handling

wheter or not processing is required

RFC 3204

Some content disposition parameters have specific values which must be used, as described in the following:

Parameter

Value

RFC

voice

Voice-Message

RFC 2421

voice

Voice-Message-Notification

RFC 2421

voice

Originator-Spoken-Name

RFC 2421

voice

Recipient-Spoken-Name

RFC 2421

voice

Spoken-Subject

RFC 2421

handling

required

RFC 3204

handling

optional

RFC 3204

When ContentDisposition contains "attachment", the FileName ( 236) property reflects the file where the message part is stored. Other parameters names and values are left in the ContentDisposition property. For more detailed information about ContentDisposition values, please refer to the following: RFC 2183 - Communicating Presentation Information in Internet Messages: The Content - Disposition Header Field RFC 2388 - Returning Values from Forms: multipart/form-data RFC 2421 - Voice Profile for Internet Mail (version 2) RFC 3204 - MIME media types for ISUP and QSIG Objects RFC 3261 - SIP: Session Initiation Protocol RFC 3335 - MIME-based Secure Peer-to-Peer Business Data Interchange over the Internet

TIdAttachment.ContentTypeName Property Optional attribute parameter for the ContentType (

1620) in a message part.

Pascal property ContentTypeName: String; Internet Direct (Indy) Version 10.1.5

235

TIdAttachmentFile Class

Classes

Description ContentTypeName is a read-only String property that represents an optional attribute parameter for the ContentType ( in the message part.

1620) used

For assitional information, please refer to the following reference documents: RFC 1049 - Content-type header field for Internet messages. RFC 1437 - The Extension of MIME Content-Types to a New Medium. RFC 1896 - The text/enriched MIME Content-type. RFC 2387 - The MIME Multipart/Related Content-type.

TIdAttachment.FileName Property File name used to the store the attachment. Pascal property FileName: String; Description FileName is a TFileName property that represents the file name where the message part is stored. When receiving a message, FileName contains the attribute parameter value from the Internet Message header: "Content-Dispositon: attachment; filename=". FileName is updated during receipt and processing of the message part in TIdMessageClient.ReceiveBody. When creating a message for transmission, FileName indicates the local file name where the contents for the message part can be located. FileName is used when the message part is encoded for transmission in TIdMessageClient.SendBody. See Also TIdAttachment.ContentDisposition (

234)

TIdMessageClient.ReceiveBody TIdMessageClient.SendBody

TIdAttachmentFile Class Encapsulates a MIME-encoded attachment or inline graphic using local file storage. File IdAttachmentFile (

4585)

Hierarchy

Pascal TIdAttachmentFile = class(TIdAttachment); Description TIdAttachmentFile is a TIdAttachment ( 227) descendant that implements a MIME-encoded attachment or inline graphic using a local file for storage of the contents of the message part. TIdAttachmentFile publishes properties need to represent the file used as storage for the message part, and its longevity. TIdAttachmentFile also implements the internal TFileStream stream used to read or write the contents of the message part during transmission and receipt. 236

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachmentFile Class

TIdAttachmentFile implements abstract virtual methods from TIdAttachment ( the message part using a stream.

227) needed to retrieve and store the contents of

Sending a Message with File Attachments For sending a message with attachments, the following abstract virtual methods are overridden and reimplemented:

• Create (

239)

• OpenLoadStream (

241)

• CloseLoadStream (

239)

Create (

239) accepts an argument that indicates the file name containing the contents of the attachment.

When a TIdMessage ( 1521) instance is transmitted using TIdMessageClient ( 1555), or a descendant class, the overridden OpenLoadStream ( 241) and CloseLoadStream ( 239) in the attachment are called. These overridden methods open and close the internal stream used for loading the contents of the message part during transmission. OpenLoadStream ( 241) creates a stream used for loading the contents of the message part. During transmission, values in the internal stream are encoded based on the properties specified in the message or message part in TIdMessageClient ( 1555) methods like SendHeader and SendBody. CloseLoadStream ( 239) ensures that the internal stream for accessing data in the message part is freed when all values have been read during transmission.

Accessing or Receiving a message with File Attachments When loading or receiving a message with file attachments, the following abstract virtual are overridden and reimplemented:

• PrepareTempStream ( • FinishTempStream (

241) 240)

When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream ( 241) and FinishTempStream ( 240) methods for the file attachment are called. These methods apply to both receiving a message from a remote mail server or accessing a message from a local mail store. Essentially, the actions are the same - differing only in the type of stream used to read the message contents. PrepareTempStream ( 241) ensures that the temporary stream used for processing the contents of the message part is created prior to reading values to be stored in a TIdMessage ( 1521) instance. FinishTempStream ( 240) ensures that the temporary stream used for processing the contents of the message part is freed after reading values stored in a TIdMessage ( 1521) instance. The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient ( TIdAttachment ( 227), TIdAttachmentFile, TIdAttachmentMemory ( the TIdMessageParts ( 1623) collection.

244), and TIdText (

1555) rely on the overridden methods. 2404) are used as collection items in

See Also TIdMessage.MessageParts ( TIdMessagePart ( TIdText (

1548)

1614)

2404)

TIdAttachmentMemory ( TIdAttachment ( IndySupport (

244)

227)

15)

Internet Direct (Indy) Version 10.1.5

237

TIdAttachmentFile Class

Classes

TIdAttachmentFile Members The following tables list the members exposed by TIdAttachmentFile. Properties Property

Description

AttachmentBlocked ( Boundary (

Indicates if creation of the storage for the attchment has been blocked.

1618)

BoundaryBegin (

Character sequence that delimits the message part. 1618)

BoundaryEnd ( CharSet (

243)

Indicates that a boundary marker appears at the beginning of the message part.

1618)

Indicates that a boundary marker appears at the end of the message part.

1619)

ContentDescription (

1619)

Represents descriptive information with a given message body.

ContentDisposition (

234)

Indicates presentation and storage parameters for the message part.

ContentID (

1619)

Identifier for the message part.

ContentLocation (

1619)

Specifies a URI that is the resource location for the entity in the message.

ContentTransfer (

1620)

Identifies the encoding scheme for the message part.

ContentType (

1620)

Identifies the MIME media type for the message.

ContentTypeName ( ExtraHeaders (

1621)

FileIsTempFile (

243)

FileName (

Optional attribute parameter for the ContentType (

Indicates if the file for storing the message part can be deleted when freed. File name used to the store the attachment.

1621)

IsEncoded (

1620) in a message part.

Represents message headers not used for with property storage.

236)

Headers ( ParentPart (

235)

Represents message headers in native form.

1622)

Indicates that the body for the message part is MIME-encoded.

1622)

StoredPathName (

244)

Indicates the local file where the contents of the message part is stored.

Methods Method

Description

Assign (

230)

Assign (

1615)

Copies properties from a persistent object to the current object instance.

CloseLoadStream ( Create (

239)

Frees the internal stream used in loading the contents of the message part.

239)

Destroy (

Constructor for the object instance.

240)

Frees the object instance from the message parts collection.

FinishTempStream ( GetCharSet (

240)

Resets the internal stream used to access the contents of the message part.

1617)

OpenLoadStream ( PartType (

232)

PartType (

1617)

241)

Indicates the message part type to control decoding and processing during receipt. Indicates the classification of the message part instance.

PrepareTempStream ( ResolveContentType ( SaveToFile (

Specifies the method used to open and initialize the internal stream needed for loading an attachment before transmission.

241)

242)

SaveToStream (

Provides a stream for accessing the contents of the message part.

1617) Copies the content for a file-based message attachment to the specified file name.

233)

Writes the content for an attachment onto the specified stream.

Events Event

Description

OnGetMessagePartStream (

1622)

Legend Method virtual Property read only Event

TIdAttachmentFile Methods The Methods of the TIdAttachmentFile class are listed here. 238

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachmentFile Class

Methods Method

Description

CloseLoadStream ( Create (

239)

Frees the internal stream used in loading the contents of the message part.

239)

Destroy (

Constructor for the object instance.

240)

Frees the object instance from the message parts collection.

FinishTempStream ( OpenLoadStream (

240)

PrepareTempStream ( SaveToFile (

Resets the internal stream used to access the contents of the message part.

241)

Specifies the method used to open and initialize the internal stream needed for loading an attachment before transmission.

241)

Provides a stream for accessing the contents of the message part.

242)

Copies the content for a file-based message attachment to the specified file name.

Legend Method virtual

TIdAttachmentFile.CloseLoadStream Method Frees the internal stream used in loading the contents of the message part. Pascal procedure CloseLoadStream; override; Description CloseLoadStream is an overridden procedure used to free the internal file stream created for loading the contents of the message part during encoding and subsequent transmission. CloseLoadStream is used in the implementation of TIdMessageClient.SendBody after a TIdMessageEncoder ( encoded the contents of the message part. CloseLoadStream frees the TFileStream created in OpenLoadStream (

1588) instance has

241).

See Also TIdAttachmentFile (

236)

TIdAttachmentFile.OpenLoadStream ( TIdAttachment.CloseLoadStream (

241)

230)

TIdAttachmentFile.Create Constructor Constructor for the object instance. Pascal constructor Create( Collection: TIdMessageParts; const AFileName: String = '' ); reintroduce; Parameters Parameters

Description

Collection

Collection that owns the message part.

AFileName

File name for the attachment. Default value is ''.

Description Create is the reintroduced constructor for the object instance. Create calls the inherited constructor using Collection as the owner for the message part. Collection normally contains a reference to the MessageParts property for the TIdMessage ( 1521) instance that contains the attachment. FileName ( 236) indicates the file on the local system to use for storage of the attachment content in the file-based message attachment. The file name portion of the FileName ( 236) argument is used in the corresponding property in the file-based attachment. The complete file name (including any drive and path information) is assigned to the StoredPathName ( 244) property. Internet Direct (Indy) Version 10.1.5

239

TIdAttachmentFile Class

Classes

Create sets the FileIsTempFile ( 243) property to False to indicate that the file is not automatically deleted when the message or attachment is freed by the application. See Also TIdMessage (

1521) Filename

StoredPathName ( FileIsTempFile (

244)

243)

TIdAttachmentFile.Destroy Destructor Frees the object instance from the message parts collection. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance and frees the collection item from the message parts collection. When FileIsTempFile ( property.

243) contains True, Destroy will permanently delete the file indicated by the StoredPathName (

244)

Destroy calls the inherited destructor prior to exiting from the method. See Also TIdAttachmentFile.Create (

239)

TIdAttachmentFile.FileIsTempFile (

243)

TIdAttachmentFile.StoredPathName (

244)

TIdAttachmentFile.FinishTempStream Method Resets the internal stream used to access the contents of the message part. Pascal procedure FinishTempStream; override; Description FinishTempStream is an overridden procedure that implements the interface specified in the TIdAttachment (

227) ancestor class.

FinishTempStream is called when loading or receiving a message with attachments. When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream ( 241) and FinishTempStream methods for the attachment are called. These methods apply to both receiving a message from a remote mail server or accessing a message from a local mail store. Essentially, loading a message and receiving a message are the same differing only in the type of stream used to read the message contents. FinishTempStream ensures that the temporary stream used for processing the contents of the message part is freed after reading values in the message part. Use PrepareTempStream ( 241) to ensure that the temporary stream used for processing the contents of the message part is created prior to reading values stored in the message part. The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient (

1555) rely on the overridden methods.

See Also TIdAttachmentFile.PrepareTempStream ( TIdAttachment.FinishTempStream ( TIdMessage.LoadFromFile (

241)

231)

1532)

TIdMessage.ProcessMessage 240

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachmentFile Class

TIdMessage.ReceiveHeader TIdMessage.ReceiveBody

TIdAttachmentFile.OpenLoadStream Method Specifies the method used to open and initialize the internal stream needed for loading an attachment before transmission. Pascal function OpenLoadStream: TIdStream; override; Returns TStream - Stream used to access the contents of the message part. Description OpenLoadStream is an overridden TStream function that implements the method used to open and initialize the internal stream needed for loading an attachment before transmission. OpenLoadStream is used to ensure that the internal TFileStream for accessing data in the message part is created prior to reading values during message transmission. OpenLoadStream creates the TFileStream using the file name specified in StoredPathName ( 244) with the fmOpenRead ( 3206) and fmShareDenyWrite ( 3208) file mode constants. During transmission, values in the internal stream are encoded based on the properties specified in the message or message part using methods in TIdMessageClient ( 1555) like SendHeader and SendBody. CloseLoadStream ( 239) is used to ensure that the internal stream for accessing data in the message part is freed when all values have been read during transmission. See Also TIdAttachmentFile.CloseLoadStream ( TIdAttachment.OpenLoadStream (

239)

231)

TIdMessageClient.SendBody

TIdAttachmentFile.PrepareTempStream Method Provides a stream for accessing the contents of the message part. Pascal function PrepareTempStream: TIdStream; override; Returns TStream - Stream containing the contents for the message part. Description PrepareTempStream is an overridden TStream function that implements the method used to obtain a stream containing data for the message part. PrepareTempStream is called when loading or receiving a message with file attachments. When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream and FinishTempStream ( 240) methods for the attachment are called. These methods apply to both receiving a message from a remote mail server or accessing a message from a local mail store. Essentially, loading a message and receiving a message are the same - differing only in the type of stream used to read the message contents. FinishTempStream ( 240) is used to ensure that the temporary stream used for processing the contents of the message part is freed after reading values stored in the message part. PrepareTempStream ensures that the temporary stream used for processing the contents of the message part is created prior to reading values to be stored in a TIdMessage ( 1521) instance. The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient ( Internet Direct (Indy) Version 10.1.5

1555) rely on the overridden methods. 241

TIdAttachmentFile Class

Classes

PrepareTempStream sets StoredPathName ( sets FileIsTemp to True.

244) to a temporary file name generated using MakeTempFilename (

2874), and

Warning: PrepareLoadStream causes the value in FileIsTempFile ( 243) to be changed to True when the file stream is created for the file name specified in StoredPathName ( 244). Setting FileIsTempFile ( 243) to True will permanently delete the attachment file created when the message is freed. This behavior differs from previous versions of Indy, where the file was assumed to be permanent storage for the message part. Make sure all content in the message or message part has been saved prior to calling Destroy ( 1521) or the TIdAttachmentFile ( 236).

240) for the TIdMessage (

See Also TIdAttachmentFile.FinishTempStream ( TIdAttachment.FinishTempStream (

231)

TIdAttachment.PrepareTempStream ( TIdMessage.LoadFromFile (

240)

232)

1532)

TIdMessage.ProcessMessage TIdMessage.ReceiveHeader TIdMessage.ReceiveBody

TIdAttachmentFile.SaveToFile Method Copies the content for a file-based message attachment to the specified file name. Pascal procedure SaveToFile( const FileName: String ); override; Parameters Parameters

Description

FileName

FIle used to store the contents of the file-based attachment.

Description SaveToFile is an overridden method used to copy the contents of the file-based message attachment to the file name specified in the FileName ( 236) argument. SaveToFile calls the CopyFileTo ( 2745) function to copy the contents of the file specified in StoredPathname to the file indicated in the FileName ( 236) argument. SaveToFile can raise an EIdException ( ( 236) argument. Use OpenLoadStream (

76) if the file copy cannot be performed using StoredPathName (

244) or the FileName

241) to access the content for a file-based attachment creasted using SaveToFile.

Exceptions Exceptions EIdException (

Description 76)

Raised with the message RSTIdMessageErrorSavingAttachment when StorePathName or the file name argument cannot be used to read or write the attachment content.

See Also CopyFileTo (

2745)

OpenLoadStream ( EIdException ( 242

241)

76) Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachmentFile Class

RSTIdMessageErrorSavingAttachment

TIdAttachmentFile Properties The Properties of the TIdAttachmentFile class are listed here. Properties Property

Description

AttachmentBlocked ( FileIsTempFile ( StoredPathName (

243)

Indicates if creation of the storage for the attchment has been blocked.

243)

Indicates if the file for storing the message part can be deleted when freed.

244)

Indicates the local file where the contents of the message part is stored.

Legend Property read only

TIdAttachmentFile.AttachmentBlocked Property Indicates if creation of the storage for the attchment has been blocked. Pascal property AttachmentBlocked: Boolean; Description AttachmentBlocked is a read-only Boolean property used to indicate if the local file storage for the attachment could not be created. AttachmentBlocked is set to True in the FinishTempStream ( 240) method when the file indicated in StoredPathName ( 244) has not been created. This condition can indicate that local file creation was blocked by a virus scanner. It could also indicate any condition that prevents creation of the local storage for the file-based attachment. Use TIdMessage.ExceptionOnBlockedAttachments ( blocked.

1544) to indicate if an exception is raised when an attachment file has been

See Also FinishTempStream (

240)

TIdMessage.ExceptionOnBlockedAttachments (

1544)

TIdAttachmentFile.FileIsTempFile Property Indicates if the file for storing the message part can be deleted when freed. Pascal property FileIsTempFile: Boolean; Description FileIsTempFile is a boolean property that indicates if the file in FileName ( 236) and StoredPathName ( and should be deleted when the message part is freed from the message part collection.

244) is a temporary file,

Set FileIsTempFile to True if the mail client stores messages or attachment files for the account in another location, such as a user-specific directory or mail store. FileIsTempFile is used in Destroy (

240) to determine if the local file is deleted.

Setting FileIsTempFile to True will permanently delete the attachment file created when the message is freed.

Internet Direct (Indy) Version 10.1.5

243

TIdAttachmentMemory Class

Classes

Warning: The default value for FileIsTempFile is False, as assigned in the Create ( 239) constructor. But, PrepareLoadStream causes the value to be changed to True when the file stream is created for the file name specified in StoredPathName ( 244). This behavior differs from previous versions of Indy, where the file was assumed to be permanent storage for the message part. Make sure all content in the message or message part has been saved prior to calling Destroy ( 1521) or the TIdAttachmentFile ( 236).

240) for the TIdMessage (

See Also TIdAttachmentFile.Create (

239)

TIdAttachmentFile.Destroy (

240)

TIdAttachmentFile.PrepareLoadStream TIdMessage.Destroy (

1526)

TIdMessage.OnCreateAttachment (

1554)

TIdMessage.CreateAttachmentClass

TIdAttachmentFile.StoredPathName Property Indicates the local file where the contents of the message part is stored. Pascal property StoredPathName: String; Description StoredPathName is a TFileName property that indicates the local file where the contents of the message part is stored. StoredPathName may contain a fully qualified path when the file is stored in a directory other than the current directory. StoredPathName is updated in Create (

239) to indicate the file used in creating the file attachment for the message.

StoredPathName is also used in OpenLoadStream ( 241), and provides the file name for the internal TFileStream used to access the contents of the message part during encoding for subsequent transmission. StoredPathName is used in Destroy ( be deleted.

240) when FileIsTempFile (

243) contains True, and indicates the temporary file name to

During receipt of a file attachment message part, StoredPathName contains a temporary file name. The tempory file is deleted when receipt of the message part is completed. The only representation of the message part is in memory, and must be stored to a permanent location using SaveToFile ( 242) to avoid data loss when the TIdMessage ( 1521) instance containing the message parts is freed. See Also TIdAttachmentFile.Create (

239)

TIdAttachmentFile.Destroy (

240)

TIdAttachmentFile.OpenLoadStream ( TIdAttachmentFile.FileIsTempFile (

241)

243)

TIdAttachmentMemory Class Encapsulates a MIME-encoded attachment or inline graphic using in-memory storage. File IdAttachmentMemory ( 244

4586) Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachmentMemory Class

Hierarchy

Pascal TIdAttachmentMemory = class(TIdAttachment); Description TIdAttachmentMemory is a TIdAttachment ( 227) descendant that implements a MIME-encoded attachment or inline graphic using in-memory storage for the contents of the message part. TIdAttachmentMemory publishes properties that provide access to memory used to store the message part using string- or stream-based access methods. TIdAttachmentMemory implements an internal TMemoryStream stream used to read or write the contents of the message part during transmission and receipt. TIdAttachmentMemory implements the abstract virtual methods from TIdAttachment ( contents of the message part using a stream.

227) needed to retrieve and store the

Sending a Message with In-Memory Attachments For sending a message with attachments, the following abstract virtual methods are overridden and reimplemented:

• Create (

248)

• OpenLoadStream (

250)

• CloseLoadStream (

247)

The Create ( attachment.

248) constructor is overloaded to accept either a string or stream argument that contains the contents of the

When a TIdMessage ( 1521) instance is transmitted using TIdMessageClient ( 1555), or a descendant class, the overridden OpenLoadStream ( 250) and CloseLoadStream ( 247) in the attachment are called. OpenLoadStream ( 250) creates a stream used for loading the contents of the message part. During transmission, values in the internal stream are encoded based on the properties specified in the message or message part in TIdMessageClient ( 1555) methods like SendHeader and SendBody. CloseLoadStream ( 247) ensures that the internal stream for accessing data in the message part is reset to its initial position when all values have been read during transmission.

Accessing or Receiving a message with In-Memory Attachments When loading or receiving a message with in-memory attachments, the following abstract virtual are overridden and reimplemented:

• PrepareTempStream ( • FinishTempStream (

251) 250)

When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream ( 251) and FinishTempStream ( 250) methods for the in-memory attachment are called. These methods apply to both receiving a message from a remote mail server or accessing a message from a local mail store. Essentially, the actions are the same - differing only in the type of stream used to read the message contents. PrepareTempStream ( 251) ensures that the temporary stream used for processing the contents of the message part is reset to it beginning prior to reading values to be stored in a TIdMessage ( 1521) instance. FinishTempStream ( 250) ensures that the temporary stream used for processing the contents of the message part is reset to it beginning after reading values stored in a TIdMessage ( 1521) instance. Internet Direct (Indy) Version 10.1.5

245

TIdAttachmentMemory Class

Classes

The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient ( TIdAttachment ( 227), TIdAttachmentFile ( the TIdMessageParts ( 1623) collection.

236), TIdAttachmentMemory, and TIdText (

1555) rely on the overridden methods. 2404) are used as collection items in

See Also TIdMessagePart (

1614)

TIdMessage.MessageParts ( TIdText (

1548)

2404)

TIdAttachmentMemory TIdAttachmentFile ( TIdAttachment ( IndySupport (

236)

227)

15)

TIdAttachmentMemory Members The following tables list the members exposed by TIdAttachmentMemory. Properties Property

Description

Boundary (

1618)

BoundaryBegin ( BoundaryEnd ( CharSet (

Character sequence that delimits the message part. 1618)

Indicates that a boundary marker appears at the beginning of the message part.

1618)

Indicates that a boundary marker appears at the end of the message part.

1619)

ContentDescription (

1619)

Represents descriptive information with a given message body.

ContentDisposition (

234)

Indicates presentation and storage parameters for the message part.

ContentID (

1619)

Identifier for the message part.

ContentLocation (

1619)

Specifies a URI that is the resource location for the entity in the message.

ContentTransfer (

1620)

Identifies the encoding scheme for the message part.

ContentType (

1620)

Identifies the MIME media type for the message.

ContentTypeName ( DataStream ( DataString (

252)

ParentPart (

Represents message headers not used for with property storage. File name used to the store the attachment.

1621)

IsEncoded (

1620) in a message part.

Provides access to the contents for the in-memory message part as a string.

1621)

236)

Headers (

Optional attribute parameter for the ContentType (

Provides access to the contents for the in-memory message part using a stream.

252)

ExtraHeaders ( FileName (

235)

Represents message headers in native form.

1622)

Indicates that the body for the message part is MIME-encoded.

1622)

Methods Method

Description

Assign (

230)

Assign (

1615)

Copies properties from a persistent object to the current object instance.

CloseLoadStream ( Destroy (

247)

249)

Frees the object instance.

FinishTempStream ( GetCharSet (

250)

PartType (

232)

PartType (

1617)

250)

Indicates the classification of the message part instance.

ResolveContentType ( SaveToFile (

251)

Provides a stream for accessing the contents of the message part.

1617)

233)

SaveToStream (

Opens and initializes the internal stream needed for loading an attachment before transmission. Indicates the message part type to control decoding and processing during receipt.

PrepareTempStream (

246

Resets the internal stream used to access the contents of the message part.

1617)

OpenLoadStream (

Create (

Resets the stream used in loading the contents of the message part.

233)

Stores the headers and message part content for the attachment into the specified file. Writes the content for an attachment onto the specified stream.

247)

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachmentMemory Class

Events Event

Description

OnGetMessagePartStream (

1622)

Legend Method virtual Property read only Event

TIdAttachmentMemory Methods The Methods of the TIdAttachmentMemory class are listed here. Methods Method

Description

CloseLoadStream ( Create ( Destroy (

247)

Resets the stream used in loading the contents of the message part.

247) 249)

Frees the object instance.

FinishTempStream ( OpenLoadStream (

250)

Resets the internal stream used to access the contents of the message part.

250)

PrepareTempStream (

Opens and initializes the internal stream needed for loading an attachment before transmission.

251)

Provides a stream for accessing the contents of the message part.

Legend Method virtual

TIdAttachmentMemory.CloseLoadStream Method Resets the stream used in loading the contents of the message part. Pascal procedure CloseLoadStream; override; Description CloseLoadStream is an overridden procedure used to reset the internal stream used for loading the contents of the message part during encoding and subsequent transmission. CloseLoadStream is used in the implementation of TIdMessageClient.SendBody after a TIdMessageEncoder ( encoded the contents of the message part. CloseLoadStream resets the position in DataStream (

252) to its position prior to calling OpenLoadStream (

1588) instance has 250).

See Also TIdAttachmentMemory.DataStream (

252)

TIdAttachmentMemory.OpenLoadStream ( TIdAttachmentFile.CloseLoadStream (

250)

239)

TIdAttachmentMemory.Create Constructor Overload List Method

Description

TIdAttachmentMemory.Create Constructor for the object instance. (TIdCollection) ( 248)

Internet Direct (Indy) Version 10.1.5

247

TIdAttachmentMemory Class

Classes

TIdAttachmentMemory.Create Constructor for the object instance. (TIdMessageParts, String) ( 248) TIdAttachmentMemory.Create Constructor for the object instance. (TIdMessageParts, TIdStream) ( 249)

TIdAttachmentMemory.Create Constructor (TIdCollection) Constructor for the object instance. Pascal constructor Create( Collection: TIdCollection ); override; overload; Parameters Parameters

Description

Collection

Type is TIdCollection (

3011).

Description Create is an overloaded reintroduced constructor for the object instance. Create calls the inherited constructor using Collection as the owner for the memory-based message attachment. Create allocates the TIdMemoryStream (

3058) instance used in the DataStream (

252) property.

Use an overloaded variant of the constructor to load the contents of the memory-based attachment from a stream instance. See Also Create TIdStream (

3087)

DataSteam TIdMemoryStream (

3058)

TIdAttachmentMemory.Create Constructor (TIdMessageParts, String) Constructor for the object instance. Pascal constructor Create( Collection: TIdMessageParts; const CopyFrom: String ); overload; reintroduce; Parameters Parameters

Description

Collection

Collection that owns the message part.

CopyFrom

String containing the contents for the message part.

Description Create is the constructor for the object instance. Create is overloaded in TIdAttachmentMemory ( that contains the contents for the message part.

244) to allow specifying the collection that owns the message part, and the string

Create calls the inherited Create method, and allocates the internal TMemoryStream used in the DataStream ( The value in CopyFrom is written to DataStream ( Use Destroy (

248

252) property.

252) to set the contents for the message part.

249) to free the message part from the Collection.

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachmentMemory Class

See Also TIdAttachmentMemory.Create TIdAttachmentMemory.Destroy (

249)

TIdAttachmentMemory.DataString (

252)

TIdAttachmentMemory.DataStream (

252)

TIdAttachmentMemory.Create Constructor (TIdMessageParts, TIdStream) Constructor for the object instance. Pascal constructor Create( Collection: TIdMessageParts; const CopyFrom: TIdStream ); overload; reintroduce; Parameters Parameters

Description

Collection

Owner of the message part.

CopyFrom

Stream with the content for the message part.

Description Create is an overloaded reintroduced constructor for the object instance. Create calls the inherited constructor using Collection as the owner for the memory-based message attachment. CopyFrom is the TIdStream ( 3087) instance with the content for the memory-based message attachment. Values in CopyFrom are read into the TIdMemoryStream ( 3058) instance allocated to the DataStream ( 252) property. Values in CopyFrom stream are read into the DataStream ( 252) property until the entire contents of the CopyFrom stream has been loaded in the DataStream ( 252) property. Use an overloaded variant of the constructor to load the contents of the memory-based attachment from a String value. See Also Create TIdStream (

3087)

DataSteam TIdMemoryStream (

3058)

TIdAttachmentMemory.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy frees resource allocated in Create (

248) to the DataStream (

252) property.

Destroy calls the inherited destructor prior to exiting from the method. See Also TIdAttachmentMemory.Create (

248)

TIdAttachmentMemory.DataStream (

Internet Direct (Indy) Version 10.1.5

252)

249

TIdAttachmentMemory Class

Classes

TIdAttachmentMemory.FinishTempStream Method Resets the internal stream used to access the contents of the message part. Pascal procedure FinishTempStream; override; Description FinishTempStream is an overridden procedure that implements the interface specified in the TIdAttachment (

227) ancestor class.

FinishTempStream is called when loading or receiving a message with in-memory attachments. When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream ( 251) and FinishTempStream methods for the attachment are called. These methods apply to both receiving a message from a remote mail server or accessing a message from a local mail store. Essentially, loading a message and receiving a message are the same - differing only in the type of stream used to read the message contents. Use PrepareTempStream ( 251) to ensure that the temporary stream used for processing the contents of the message part is set to its origin prior to reading values stored in the message part. FinishTempStream ensures that the temporary stream used for processing the contents of the message part is reset to its original stream position after reading values in the message part. The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient (

1555) rely on the overridden methods.

See Also TIdAttachmentMemory.PrepareTempStream ( TIdAttachment.FinishTempStream ( TIdMessage.LoadFromFile (

251)

231)

1532)

TIdMessage.ProcessMessage TIdMessage.ReceiveHeader TIdMessage.ReceiveBody

TIdAttachmentMemory.OpenLoadStream Method Opens and initializes the internal stream needed for loading an attachment before transmission. Pascal function OpenLoadStream: TIdStream; override; Returns TStream - Stream used to access the contents of the message part. Description OpenLoadStream is an overridden TIdStream ( 3087) function that implements the method used to open and initialize the internal stream needed for loading an in-memory attachment before transmission. OpenLoadStream is used to ensure that the internal stream for accessing data in the message part is positioned prior to reading values during message transmission. OpenLoadStream stores the initial position in the stream, and resets the current stream position to its beginning. During transmission, values in the internal stream are encoded based on the properties specified in the message or message part using methods in TIdMessageClient ( 1555) like SendHeader and SendBody. CloseLoadStream ( 247) is used to ensure that the internal stream for accessing data in the message part is reset when all values have been read during transmission. The return value for the method is the stream indicated in the DataStream (

250

252) property.

Internet Direct (Indy) Version 10.1.5

Classes

TIdAttachmentMemory Class

See Also TIdAttachmentMemory.CloseLoadStream ( TIdAttachment.OpenLoadStream (

247)

231)

TIdMessageClient.SendBody

TIdAttachmentMemory.PrepareTempStream Method Provides a stream for accessing the contents of the message part. Pascal function PrepareTempStream: TIdStream; override; Returns TStream - Stream containing the contents for the message part. Description PrepareTempStream is an overridden TIdStream ( data for the message part. The return value for the method is the TIdStream (

3087) function that implements the method used to obtain a stream containing 3087) instance in the DataStream (

252) property.

PrepareTempStream is called when loading or receiving a message with in-memory attachments. When a TIdMessage ( 1521) instance is received and processed using TIdMessageClient ( 1555), or a descendant class, the overridden PrepareTempStream and FinishTempStream ( 250) methods for the attachment are called. These methods apply to both receiving a message from a remote mail server or accessing a message from a local mail store. Essentially, loading a message and receiving a message are the same - differing only in the type of stream used to read the message contents. PrepareTempStream ensures that the temporary stream used for processing the contents of the message part is set to its origin prior to reading values to be stored in a TIdMessage ( 1521) instance. FinishTempStream ( 250) is used to ensure that the temporary stream used for processing the contents of the message part is reset after reading values stored in the message part. The ProcessMessage, ReceiveHeader, and ReceiveBody methods in TIdMessageClient (

1555) rely on the overridden methods.

Make sure all content in the message or message part has been saved using SaveToFile ( for the TIdMessage ( 1521) or the TIdAttachmentMemory ( 244) message part.

233) prior to calling Destroy (

249)

See Also TIdAttachmentMemory.PrepareTempStream TIdAttachmentMemory.FinishTempStream ( TIdAttachment.FinishTempStream ( TIdMessage.LoadFromFile (

250)

231)

1532)

TIdMessage.LoadFromStream (

1533)

TIdMessage.ProcessMessage TIdMessage.ReceiveHeader TIdMessage.ReceiveBody

TIdAttachmentMemory Properties The Properties of the TIdAttachmentMemory class are listed here.

Internet Direct (Indy) Version 10.1.5

251

TIdAttachmentMemory Class

Classes

Properties Property DataStream ( DataString (

Description 252)

Provides access to the contents for the in-memory message part using a stream.

252)

Provides access to the contents for the in-memory message part as a string.

Legend Property

TIdAttachmentMemory.DataStream Property Provides access to the contents for the in-memory message part using a stream. Pascal property DataStream: TIdStream; Description DataStream is a TIdStream ( part.

3087) property that represents the stream used to access the contents of the in-memory message

DataStream is the stream returned by the OpenLoadStream ( message part during encoding and subsequent transmission. DataStream is updated in PrepareTempStream ( message part. DataStream is allocated in Create ( Assigning a new TIdStream ( DataStream property. Use DataString (

250) method, and used to access the contents of the in-memory

251) and FinishTempStream (

248), and freed in Destroy (

250) when loading or receiving an in-memory

249).

3087) instance to DataStream causes the contents of the new stream to be copied to the

252) to read or write the contents of the in-memory message part as a String value.

See Also TIdAttachmentMemory.DataString (

252)

TIdAttachmentMemory.OpenLoadStream (

250)

TIdAttachmentMemory.CloseLoadStream (

247)

TIdAttachmentMemory.PrepareTempStream ( TIdAttachmentMemory.FinishTempStream ( TIdAttachmentMemory.Create ( TIdAttachmentMemory.Destroy (

251) 250)

248) 249)

TIdAttachmentMemory.DataString Property Provides access to the contents for the in-memory message part as a string. Pascal property DataString: string; Description DataString is a string property that represents the contents of the in-memory message part. Reading or writing values in DataString causes DataStream (

252) to be accessed for the corresponding operation.

When reading values in DataString, the entire contents of the stream are returned, but the position in DataStream ( reading values is maintained. When writing values to DataString, the contents in DataStream ( Use DataStream ( 252

252) prior to

252) are discarded and set to the new value for the property.

252) to access the contents for the in-memory message part as a TStream instance. Internet Direct (Indy) Version 10.1.5

Classes

TIdAuthentication Class

See Also TIdAttachmentMemory.DataStream (

252)

TIdAttachmentMemory.OpenLoadStream (

250)

TIdAttachmentMemory.CloseLoadStream (

247)

TIdAttachmentMemory.PrepareTempStream ( TIdAttachmentMemory.FinishTempStream (

251) 250)

TIdAuthentication Class Ancestor for authentication (

254) classes in the Indy authentication (

254) framework.

File IdAuthentication (

4586)

Hierarchy

Pascal TIdAuthentication = class(TIdPersistent); Description TIdAuthentication is a TIdPersistent ( 3073) descendant, and the common ancestor class that specifies the properties and methods available in the Indy authentication ( 254) framework. TIdAuthentication represents the common functionality needed to implement the authentication ( 254) methods described in the Internet Standards documents: RFC 2616 - Hypertext Transfer Protocol [HTTP/1.1] RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication Applications should create ( 255) instances of descendant classes that implement the specifics described in the preceeding documents, such as TIdBasicAuthentication ( 275) and TIdDigestAuthentication ( 573). See Also TIdPersistent (

3073)

TIdBasicAuthentication ( TIdDigestAuthentication (

275) 573)

TIdAuthentication Members The following tables list the members exposed by TIdAuthentication. Properties Property

Description

AuthParams (

256)

CurrentStep ( Params ( Password ( Steps ( Username (

257)

257) 257) 257) 258)

Internet Direct (Indy) Version 10.1.5

Represents authentication (

254) parameters to be used for the process.

Identifies the current task number during authentication ( Contains authentication (

254) processing.

254) parameters for the mechanism.

Represents the authorization credentials for the authentication ( Number of tasks required for the authentication (

254) process.

254) process.

Represents the authorization identity for the authentication (

254) process.

253

TIdAuthentication Class

Classes

Methods Method

Description

Authentication ( Create (

255)

Destroy (

Frees the object instance.

255)

Indicates that Keep-Alive signals are supported for the authentication (

255)

Reset (

Represents the authentication method name to use. Constructor for the object instance.

255)

KeepAlive ( Next (

254)

Identifies the next action in the authentication (

256)

254) mechanism.

254) process.

Clears the number of retries for the authentication (

254) mechanism.

Legend Method abstract virtual Property read only

TIdAuthentication Methods The Methods of the TIdAuthentication class are listed here. Methods Method

Description

Authentication ( Create (

255)

Destroy (

255)

KeepAlive ( Next (

254)

255)

255)

Reset (

Represents the authentication method name to use. Constructor for the object instance. Frees the object instance. Indicates that Keep-Alive signals are supported for the authentication ( Identifies the next action in the authentication (

256)

254) mechanism.

254) process.

Clears the number of retries for the authentication (

254) mechanism.

Legend Method abstract virtual

TIdAuthentication.Authentication Method Represents the authentication method name to use. Pascal function Authentication: String; virtual; abstract; Returns String - Authentication method Name for the object instance. Description Authentication is an abstract virtual String function that provides the identity, credentials, and other authentication parameteres for the authentication scheme. Authentication must be overridden in a descendant class to implement the specifics for the authenticatiopn scheme, like formatting, encoding, and/or encryption. Use AuthParams (

256) to access the common parameters for the authentication scheme.

See Also AuthParams (

254

256)

Internet Direct (Indy) Version 10.1.5

Classes

TIdAuthentication Class

TIdAuthentication.Create Constructor Constructor for the object instance. Pascal constructor Create; virtual; Description Create is the constructor for the object instance. Create relies on the inherited Create method. Create allocates resources required for the Params ( 257) property, and sets the default value for CurrentStep ( 257) to 0. See Also TIdAuthentication.Params (

257)

TIdAuthentication.CurrentStep (

257)

TIdAuthentication.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy clears values in AuthParams ( property, prior to calling the inherited Destroy method.

256), if values have been assigned to the

See Also TIdAuthentication.AuthParams (

256)

TIdAuthentication.KeepAlive Method Indicates that Keep-Alive signals are supported for the authentication (

254) mechanism.

Pascal function KeepAlive: Boolean; virtual; abstract; Returns Boolean - True when the KEEP-ALIVE header is supported for the authentication (

254) scheme.

Description KeepAlive is an abstract virtual Boolean function that specifies the function used to indicate if the authentication ( 254) mechanism supports use of the KEEP-ALIVE header. Descendant classes, like TIdBasicAuthentication ( 275), must implement the KeepAlive function to indicate if the mechanism can be used to prevent loss of a connection during authentication ( 254) processing. See Also TIdBasicAuthentication.KeepAlive (

277)

TIdAuthentication.Next Method Identifies the next action in the authentication (

254) process.

Pascal function Next: TIdAuthWhatsNext; Returns TIdAuthWhatsNext (

2945) - Next action in the authentication (

Internet Direct (Indy) Version 10.1.5

254) process.

255

TIdAuthentication Class

Classes

Description Next is a TIdAuthWhatsNext ( 2945) function that identifies the next action that should be performed in the authentication ( process. Next will increment the the value of Retries when the return value is wnDoRequest. Next is used in TIdHTTP.OnAuthorization (

254)

1050) to determine the action to be taken by the user agent.

See Also TIdHTTP.OnAuthorization (

1050)

TIdAuthentication.Reset Method Clears the number of retries for the authentication (

254) mechanism.

Pascal procedure Reset; virtual; Description Reset is a virtual procedure that clears the number of retry attempts performed using the authentication ( 254) mechanism. In TIdAuthentication ( 253), Reset sets the value of the AuthRetries property to 0. Descendant classes, like TIdBasicAuthentication ( 275) will override Reset to perform the functionality specific to the authentication ( 254) mechanism. See Also TIdBasicAuthentication.Reset (

278)

TIdAuthentication Properties The Properties of the TIdAuthentication class are listed here. Properties Property

Description

AuthParams (

256)

CurrentStep ( Params ( Password ( Steps ( Username (

Represents authentication (

257)

254) parameters to be used for the process.

Identifies the current task number during authentication (

257)

Contains authentication (

257)

254) processing.

254) parameters for the mechanism.

Represents the authorization credentials for the authentication (

257)

Number of tasks required for the authentication (

258)

254) process.

254) process.

Represents the authorization identity for the authentication (

254) process.

Legend Property read only

TIdAuthentication.AuthParams Property Represents authentication (

254) parameters to be used for the process.

Pascal property AuthParams: TIdHeaderList; Description AuthParams is a TIdHeaderList (

1024) property that represents authentication (

254)

See Also TIdRequestHeaderInfo ( TIdHeaderList (

1857)

1024)

TIdHTTP.Request (

1049)

TIdCustomHTTP.Response ( 256

428) Internet Direct (Indy) Version 10.1.5

Classes

TIdAuthentication Class

TIdAuthentication.CurrentStep Property Identifies the current task number during authentication (

254) processing.

Pascal property CurrentStep: Integer; Description CurrentStep is a read-only Integer property used to identify the active task during reading of authentication ( 254) information. CurrentStep contains the value 0 (zero) when Username ( 258) and Password ( 257) values have not been examined for the corresponding TIdAuthWhatsNext ( 2945) value. CurrentStep contains the value 1 (one) when the current authentication ( 254) process has failed. The default value for CurrentStep is 0 (zero) as assigned in the Create ( value in the Reset ( 256) method.

255) constructor. CurrentStep is also set to the default

See Also TIdAuthentication.Reset ( TIdAuthentication.Create (

256) 255)

TIdAuthentication.Params Property Contains authentication (

254) parameters for the mechanism.

Pascal property Params: TIdHeaderList; Description Params is a read-only TIdHeaderList ( 1024) property used to represent common parameter values for the authentication ( 254) mechanism. Params is used to store the Username ( 258) and Password ( 257) property values used during execution of the authorization process. Params is also used in descendant classes for values specific to the enhanced authentication ( 254) functionality. See Also Username (

258)

Password (

257)

TIdBasicAuthentication.Realm (

278)

TIdAuthentication.Password Property Represents the authorization credentials for the authentication (

254) process.

Pascal property Password: String; Description Password is a String property that represents the authorization credentials used in the authentication ( Username ( 258) to specify the identity used for the authentication ( 254) process.

254) process. Use

See Also Username (

258)

TIdAuthentication.Steps Property Number of tasks required for the authentication ( Internet Direct (Indy) Version 10.1.5

254) process. 257

TIdAuthenticationCollection Class

Classes

Pascal property Steps: Integer; Description Steps is a read-only Integer property that represents the number of tasks needed to perform the authentication ( The default value returned for the Steps property is 0. Steps is used when a protocol handler compares the values in Step and CurrentStep ( 254) for the protocol.

254) process.

257) while performing authentication (

See Also CurrentStep (

257)

TIdCustomHTTP.OnDisconnected

TIdAuthentication.Username Property Represents the authorization identity for the authentication (

254) process.

Pascal property Username: String; Description Username is a String property that represents the authorization identity used in the authentication ( Use Password (

257) to specify the credentials used for the authentication (

254) process.

254) process.

See Also Password (

257)

TIdAuthenticationCollection Class Implements a container for authentication mechanisms used by a HTTP client. File IdAuthenticationManager (

4587)

Hierarchy

Pascal TIdAuthenticationCollection = class(TIdOwnedCollection); Description TIdAuthenticationCollection is a TOwnedCollection descendant that implements a container for authentication mechanisms used by a HTTP client. Items ( 260) contains the TIdAuthenticationItem ( TIdCustomHTTP ( 404) or TIdHTTP ( 1041) client.

260) authentication mechanism used for a given URL accessed by a

See Also TIdAuthenticationItem ( TIdCustomHTTP ( TIdHTTP (

258

260)

404)

1041)

Internet Direct (Indy) Version 10.1.5

Classes

TIdAuthenticationCollection Class

TIdAuthenticationCollection Members The following tables list the members exposed by TIdAuthenticationCollection. Properties Property

Description

Items (

260)

Provides indexes access to authentication class instances in the collection.

Methods Method Add (

Description 259)

Create (

Adds a new authentication item to the collection.

259)

Constructor for the collection.

Legend Method Property

TIdAuthenticationCollection Methods The Methods of the TIdAuthenticationCollection class are listed here. Methods Method Add (

Description 259)

Create (

Adds a new authentication item to the collection.

259)

Constructor for the collection.

Legend Method

TIdAuthenticationCollection.Add Method Adds a new authentication item to the collection. Pascal function Add: TIdAuthenticationItem; Description Add is a TIdAuthenticationItem ( 260) function used to create ( 259) new object instances in the Items ( 260) property for the collection. Add creates a new instance of the ItemClass for the collection, TIdAuthenticationItem ( 260), with the collection as the owner of the item. Use Items (

260) for read and write access to exisiting object instances in the collection.

See Also TIdAuthenticationItem ( Items (

260)

260)

TIdAuthenticationCollection.Create Constructor Constructor for the collection. Pascal constructor Create( AOwner: TIdPersistent );

Internet Direct (Indy) Version 10.1.5

259

TIdAuthenticationItem Class

Classes

Parameters Parameters

Description

AOwner

Owner of the collection.

Description Create is the constructor for the collection. Create calls the inherited Create method using AOwner as the owner of the collection, and TIdAuthenticationItem ( 260) as the ItemClass for objects added to the collection using Add ( 259). See Also TIdAuthenticationItem ( Add (

260)

259)

TIdAuthenticationCollection Properties The Properties of the TIdAuthenticationCollection class are listed here. Properties Property Items (

Description 260)

Provides indexes access to authentication class instances in the collection.

Legend Property

TIdAuthenticationCollection.Items Property Provides indexes access to authentication class instances in the collection. Pascal property Items [AIndex: Integer]: TIdAuthenticationItem; Description Items is an indexed TIdAuthenticationItem ( Index.

260) property that provides access to the items in the collection by the integer value in

Reading a collection item in a specified position returns the item as a TIdAuthenticationItem ( 260) object instance. Writing a TIdAuthenticationItem ( 260) to specified position calls the Assign method for the collection item to store the new value(s). Use Add (

259) to create (

259) a new TIdAuthenticationItem (

260) collection item.

See Also Add (

259)

TIdAuthenticationManager (

263)

TIdAuthenticationItem Class Represents an authentication mechanism used in a TIdAuthenticationCollection (

258) collection.

File IdAuthenticationManager (

4587)

Hierarchy

260

Internet Direct (Indy) Version 10.1.5

Classes

TIdAuthenticationItem Class

Pascal TIdAuthenticationItem = class(TIdCollectionItem); Description TIdAuthenticationItem is a TCollectionItem descendant that implements items maintained in a TIdAuthenticationCollection ( 258) collection. TIdAuthenticationItem represents the individual authentication mechanisms used for HTTP client requests, including the URL ( 263) and identity and authorization values provoded as parameters in a client request. See Also TIdCustomHTTP.AuthenticationManager (

421)

TIdAuthenticationItem Members The following tables list the members exposed by TIdAuthenticationItem. Properties Property

Description

Params ( URL (

262)

263)

Represent arguments used with an authentication mechanism. Specified the resource location for the authentication item.

Methods Method Create ( Destroy (

Description 261) 262)

Constructor for the authentication object instance. Destructor for the object instance.

Legend Constructor virtual Property

TIdAuthenticationItem Methods The Methods of the TIdAuthenticationItem class are listed here. Methods Method Create ( Destroy (

Description 261) 262)

Constructor for the authentication object instance. Destructor for the object instance.

Legend Constructor virtual

TIdAuthenticationItem.Create Constructor Constructor for the authentication object instance. Pascal constructor Create( ACollection: TIdCollection ); override; Parameters Parameters

Description

ACollection

Collection that owns the object instance.

Internet Direct (Indy) Version 10.1.5

261

TIdAuthenticationItem Class

Classes

Description Create is the constructor for the authentication object instance. Create calls the inherited Create method using ACollection as the owner of the object instance. Create also allocates resources required for the URL ( 263) and Params ( 262) properties for the authentication mechanism. See Also URL (

263)

Params (

262)

Destroy (

262)

TIdAuthenticationItem.Destroy Destructor Destructor for the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy frees resources allocated in Create ( Params ( 262) properties. Destroy calls the inherited Destroy method prior to exiting.

261) for the URL (

263) and

See Also URL (

263)

Params ( Create (

262) 261)

TIdAuthenticationItem Properties The Properties of the TIdAuthenticationItem class are listed here. Properties Property

Description

Params ( URL (

262)

263)

Represent arguments used with an authentication mechanism. Specified the resource location for the authentication item.

Legend Property

TIdAuthenticationItem.Params Property Represent arguments used with an authentication mechanism. Pascal property Params: TIdStringList; Description Params is a TStringList property that represents the arguments provided for an authentication mechanism added to the collection maintained by TIdAuthenticationManager ( 263). Params is used with URL ( 263) to store the information required to use the authentication mechanism. Params is initialized in the Create ( 261) constructor, and released in the Destroy ( property calls Assign to transfer the values from a TStringList to the property.

262) destructor. Write access to the Params

See Also Create ( 262

261) Internet Direct (Indy) Version 10.1.5

Classes Destroy (

TIdAuthenticationManager Class 262)

TIdAuthenticationItem.URL Property Specified the resource location for the authentication item. Pascal property URL: TIdURI; Description URL is a TIdURI ( 2552) property that represents the resource location for the authetication added to the colletion maintained by TIdAuthenticationManager ( 263). URL is use with Params ( 262) to store the information required to use the authentication mechanism. URL is initialized in the Create ( 261) constructor, and released in the Destroy ( property copies the URI for the new value to the URI for the property.

262) destructor. Write access to the URL

See Also Create ( Destroy (

261) 262)

TIdAuthenticationManager Class Maintains authentication mechanisms used for a HTTP client connection. File IdAuthenticationManager (

4587)

Hierarchy

Pascal TIdAuthenticationManager = class(TIdBaseComponent); Description TIdAuthenticationManager is a TIdBaseComponent ( used by a HTTP client.

266) descendant that maintains a collection of authentication mechanisms

TIdAuthenticationManager is the type used to represent the TIdCustomHTTP.AuthenticationManager ( when a HTTP request requires a specific TIdAuthentication ( 253) mechanism.

421) property, and is used

See Also AddAuthentication ( Authentications (

264)

265)

TIdCustomHTTP.AuthenticationManager ( TIdAuthentication (

421)

253)

TIdAuthenticationManager Members The following tables list the members exposed by TIdAuthenticationManager.

Internet Direct (Indy) Version 10.1.5

263

TIdAuthenticationManager Class

Classes

Properties Property

Description

Authentications ( Version (

265)

Authentication class instances maintained by the manager component.

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

AddAuthentication ( Create (

264)

Adds a new authentication mechanism to the collection for the component,

267)

Constructor for the object instance.

Destroy (

265)

Frees the object instance.

GetVersion (

269)

Version (

CType (

269) number for Indy component suite.

267)

Create (

1274)

Legend Method virtual Property read only

TIdAuthenticationManager Methods The Methods of the TIdAuthenticationManager class are listed here. Methods Method

Description

AddAuthentication ( Destroy (

264)

Adds a new authentication mechanism to the collection for the component,

265)

Frees the object instance.

Legend Method virtual

TIdAuthenticationManager.AddAuthentication Method Adds a new authentication mechanism to the collection for the component, Pascal procedure AddAuthentication( AAuthtetication: TIdAuthentication; AURL: TIdURI ); Parameters Parameters

Description

AAuthtetication

Authentication mechanism to add.

AURL

Resource locator for the authentication.

Description AddAuthentication is a convenience procedure that creates a new authentication class instance in the Authentications ( collection maintained by the component.

265)

AddAuthentication calls the Add method for the Authentications ( 265) collection, and sets the URL and Params values maintained in the new collection item based on values in the AAuthtetication and AURL parameters. See Also TIdAuthenticationCollection ( TIdAuthenticationItem ( 264

258)

260) Internet Direct (Indy) Version 10.1.5

Classes

TIdBaseComponent Class

TIdAuthentication ( Authentications (

253) 265)

TIdAuthenticationManager.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy frees resource allocated in the Create (

267) method for the Authentications (

265) property.

Destroy calls the inherited Destroy method prior to exiting. See Also Create (

267)

Authentications (

265)

TIdAuthenticationManager Properties The Properties of the TIdAuthenticationManager class are listed here. Properties Property

Description

Authentications (

265)

Authentication class instances maintained by the manager component.

Legend Property read only

TIdAuthenticationManager.Authentications Property Authentication class instances maintained by the manager component. Pascal property Authentications: TIdAuthenticationCollection; Description Authentications is a read-only TIdAuthenticationCollection ( 258) property that represents the TIdAuthenticationItem ( instances maintained by the authentication manager component. Authentications is initialized in the Create ( updated when AddAuthentications is called.

267) constructor, and released in the Destroy (

260)

265) destructor. Authentications is

Use methods in the TOwnedCollection ancestor class, like Clear, Delete, Items, to access members of the collection. See Also Create ( Destroy (

267) 265)

AddAuthentication (

264)

Internet Direct (Indy) Version 10.1.5

265

TIdBaseComponent Class

Classes

TIdBaseComponent Class Ancestor class for Indy component classes. File IdBaseComponent (

4588)

Hierarchy

Pascal TIdBaseComponent = class(TIdInitializerComponent); Description TIdBaseComponent is a TIdInitializerComponent ( components.

1273) descendant that represents the class used as an ancestor for Indy

TIdBaseComponent implements properties and methods that allow Indy components to access Version (

269) number information.

TIdBaseComponent is used as the ancestor for utility and other non-socket based components. Socket-based components generally inherit from TIdComponent ( 355) which provides OnWork and OnStatus event handlers. See Also TIdInitializerComponent ( TIdComponent ( IndySupport (

1273)

355)

15)

TIdBaseComponent Members The following tables list the members exposed by TIdBaseComponent. Properties Property

Description

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

GetVersion ( CType (

Constructor for the object instance. 269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Legend Constructor virtual Property read only

TIdBaseComponent Methods The Methods of the TIdBaseComponent class are listed here.

266

Internet Direct (Indy) Version 10.1.5

Classes

TIdBaseComponent Class

Methods Method

Description

Create (

267)

CType (

267)

GetVersion (

Constructor for the object instance. 269)

Version (

269) number for Indy component suite.

Legend Constructor

TIdBaseComponent.Create Constructor Constructor for the object instance. Pascal constructor Create( AOwner: TComponent ); overload; reintroduce; Parameters Parameters

Description

AOwner

Owner of the object instance.

Description Create is an overloaded constructor reintroduced in TIdBaseComponent (

266) for all platfoms except .Net.

Create is reintroduced to trap the condition where override constructors are used at compile time. This technique does not work in .Net, but we always test in VCL so this will catch it. Create calls the inherited constructor. See Also TIdBaseComponent.Create

TIdBaseComponent.CType Method Overload List Method

Description

TIdBaseComponent.CType Performs type conversion for the platform-specific class instance. (StringCollection) ( 267) TIdBaseComponent.CType Performs type conversion for the platform-specific class instance. (System.IO.Stream) ( 268) (

TIdBaseComponent.CType (TIdStrings) Performs type conversion for the platform-specific class instance. 268)

TIdBaseComponent.CType Method (StringCollection) Performs type conversion for the platform-specific class instance. Pascal function CType( aStrings: StringCollection ): TIdStrings; overload; Parameters Parameters

Description

aStrings

FCL String collection to convert to a TIdStrings (

Internet Direct (Indy) Version 10.1.5

3089) instance.

267

TIdBaseComponent Class

Classes

Returns TIdStrings (

3089) - Native TIdStrings (

3089) instance for the type conversion.

Description CType is an overloaded TIdStrings ( aStrings.

3089) function used to perform type conversion for the platform-specific class instance in

CType is available in Visual Studio builds of the Indy library (specifically for VB.Net programs) which do not have access to the implicit conversions in the Borland RTL. CType is used to convert the StringsCollection instance in aStrings to a native TIdStrings (

3089) class instance.

Use overloaded variants of the method to convert an FCL System.IO.Stream class instance to a TIdStream ( Use overloaded variants of the method to convert a native TIdStrings (

3087) class instance.

3089) class instance to a StringCollection class instance.

See Also TIdBaseComponent.CType

TIdBaseComponent.CType Method (System.IO.Stream) Performs type conversion for the platform-specific class instance. Pascal function CType( aStream: System.IO.Stream ): TIdStream; overload; Parameters Parameters

Description

aStream

FCL Stream class to convert to a native TStream instance.

Returns TIdStream (

3087) - Native stream instance for the type conversion.

Description CType is an overloaded TIdStream ( aStream.

3087) function used to perform type conversion for the platform-specific class instance in

CType is available in Visual Studio builds of the Indy library (specifically for VB.Net programs) which do not have access to the implicit conversions in the Borland RTL. CType is used to convert the System.IO.Stream instance in aStream to a TIdStream (

3087) class instance.

Use overloaded variants of the method to convert an FCL StringCollections class instance to a TIdStrings ( and vice-sersa.

3089) class instance,

See Also TIdBaseComponent.CType

TIdBaseComponent.CType Method (TIdStrings) Performs type conversion for the platform-specific class instance. Pascal function CType( aStrings: TIdStrings ): StringCollection; overload; Parameters Parameters

Description

aStrings

TIdStrings (

268

3089) class instance to convert to a StringCollection type.

Internet Direct (Indy) Version 10.1.5

Classes

TIdBaseComponent Class

Returns StringCollection - StringCollection for the type conversion. Description CType is an overloaded StringCollection function used to perform type conversion for the platform-specific class instance in aStrings. CType is available in Visual Studio builds of the Indy library (specifically for VB.Net programs) which do not have access to the implicit conversions in the Borland RTL. CType is used to convert the TIdStrings (

3089) class instance in aStrings to a StringsCollection class instance.

Use overloaded variants of the method to convert an FCL System.IO.Stream class instance to a native TStream class instance. Use overloaded variants of the method to convert a StringCollection class instance to a native TIdStrings (

3089) class instance.

See Also TIdBaseComponent.CType

TIdBaseComponent.GetVersion Method Version (

269) number for Indy component suite.

Pascal function GetVersion: string; Returns String - version number for the Indy component suite. Description GetVersion is a String function used as the read access specifier for the Version ( (Indy) version number for the components installed on your computer.

269) property and returns the Internet Direct

GetVersion returns the value specified in gsIdVersion as the return value. See Also TIdBaseComponent.Version (

269)

TIdBaseComponent Properties The Properties of the TIdBaseComponent class are listed here. Properties Property Version (

Description 269)

Identifies the version number for the Indy component suite.

Legend Property read only

TIdBaseComponent.Version Property Identifies the version number for the Indy component suite. Pascal property Version: string; Description Version is a read-only String property that identifies the version number for the Internet Direct (Indy) components installed on your Internet Direct (Indy) Version 10.1.5

269

TIdBaseStream Class

Classes

computer. Version returns the value specified in gsIdVersion in the return value. See Also TIdBaseComponent.GetVersion (

269)

gsIdVersion

TIdBaseStream Class Ancestor for classes requiring a platform-specific stream implementation. File IdGlobal (

4650)

Hierarchy

Pascal TIdBaseStream = class(TIdStream); Description TIdBaseStream is a TIdStream ( 3087) descendant that acts as an ancestor for classes that require a platform-specific stream implementation. TIdBaseStream implements overridden Read ( 271), Write ( 274), and Seek ( 272) methods to isolate the differences in parameters used as arguments to these methods. TIdBaseStream declares virtual abstract methods that must be implemented in descendant classes to provide the functionality for the Read ( 271), Write ( 274), and Seek ( 272) operations. TIdBaseStream is used as the ancestor for TIdMultiPartFormDataStream ( 1041).

1657) used in POST method requests in TIdHTTP (

See Also TStream TIdBaseStream.Read (

271)

TIdBaseStream.Write (

274)

TIdBaseStream.Seek (

272)

TIdMultiPartFormDataStream (

1657)

TIdBaseStream Members The following tables list the members exposed by TIdBaseStream. Methods Method

Description

Read (

271)

Seek (

272)

Write (

274)

Legend Method virtual

270

Internet Direct (Indy) Version 10.1.5

Classes

TIdBaseStream Class

TIdBaseStream Methods The Methods of the TIdBaseStream class are listed here. Methods Method

Description

Read (

271)

Seek (

272)

Write (

274)

Legend Method virtual

TIdBaseStream.Read Method Overload List Method

Description

TIdBaseStream.Read (, Longint) (

Implements read operations using the platform-specific stream implementation.

271) TIdBaseStream.Read (array of Byte, Implements read operations using the platform-specific stream implementation. Longint, Longint) ( 272)

TIdBaseStream.Read Method (, Longint) Implements read operations using the platform-specific stream implementation. Pascal function Read( var VBuffer; ACount: Longint ): Longint; override; Parameters Parameters

Description

Buffer

Destination for values from the read operation.

Count

Number of bytes to be read from the stream.

Returns Longint - Number of bytes actually read in the operation. Description Read is an overridden Longint method that isolates the platform-specific stream methods required to implement read operations. Read relies on the method implementation in a descendant classes for the protected virtual abstract IdRead method.

On the .Net platform, Read uses an array of Byte to represent the Buffer for storing values read from the stream.

On all other platforms, Read uses an untyped pointer to represent the Buffer for storing values read from the stream. Read calls the Move procedure from the Runtime library to update Buffer with the read values. Use Write (

274) to output values to a platform-specific stream implementation.

Use Seek (

272) to reposition a platform-specific stream implementation.

Internet Direct (Indy) Version 10.1.5

271

TIdBaseStream Class

Classes

See Also Write (

274)

Seek (

272)

TIdBaseStream.Read Method (array of Byte, Longint, Longint) Implements read operations using the platform-specific stream implementation. Pascal function Read( var VBuffer: array of Byte; AOffset: Longint; ACount: Longint ): Longint; override; Parameters Parameters

Description

Buffer

Destination for values from the read operation.

Offset

Position in the stream to begin the read operation.

Count

Number of bytes to be read from the stream.

Returns Longint - Number of bytes actually read in the operation. Description Read is an overridden Longint method that isolates the platform-specific stream methods required to implement read operations. Read relies on the method implementation in a descendant classes for the protected virtual abstract IdRead method.

On the .Net platform, Read uses an array of Byte to represent the Buffer for storing values read from the stream.

On all other platforms, Read uses an untyped pointer to represent the Buffer for storing values read from the stream. Read calls the Move procedure from the Runtime library to update Buffer with the read values. Use Write (

274) to output values to a platform-specific stream implementation.

Use Seek (

272) to reposition a platform-specific stream implementation.

See Also Write (

274)

Seek (

272)

TIdBaseStream.Seek Method Overload List Method TIdBaseStream.Seek TIdSeekOrigin) ( 272) (

Description (Int64, Implements seek operations using the platform-specific stream implementation.

TIdBaseStream.Seek (Longint, Word) Implements seek operations using the platform-specific stream implementation. 273)

TIdBaseStream.Seek Method (Int64, TIdSeekOrigin) Implements seek operations using the platform-specific stream implementation. 272

Internet Direct (Indy) Version 10.1.5

Classes

TIdBaseStream Class

Pascal function Seek( const AOffset: Int64; AOrigin: TIdSeekOrigin ): Int64; override; Parameters Parameters

Description

Offset

Position in the stream to locate relative to the stream origin.

Origin

Stream position to use as the origin for the operation.

Returns Int64 - Position in the stream found relative to the specified stream origin. Description Seek is an overridden method that isolates the platform-specific stream methods required to implement seek operations. Seek relies on the method implementation in a descendant classes for the protected virtual abstract IdSeek method.

On the .Net platform, Seek uses an offest value expresses as an Int64 data type to indicate the position in the stream to locate relative to the stream Origin.

On all other platforms, Seeks uses a Loingint value to indicate the position in the stream to locate relative to the stream Origin. Seek calls the IdSeek method in a descendant class to locate a postion using the mechanism required for the platform-specific stream implementation. Use Read (

271) to input values using a platform-specific stream implementation.

Use Write (

274) to output values to a platform-specific stream implementation.

See Also Read (

271)

Write (

274)

TIdSeekOrigin (

3079)

TIdBaseStream.Seek Method (Longint, Word) Implements seek operations using the platform-specific stream implementation. Pascal function Seek( AOffset: Longint; AOrigin: Word ): Longint; override; Parameters Parameters

Description

Offset

Position in the stream to locate relative to the stream origin.

Origin

Stream position to use as the origin for the operation.

Returns Longint - Position in the stream found relative to the specified stream origin. Description Seek is an overridden method that isolates the platform-specific stream methods required to implement seek operations. Seek relies on the method implementation in a descendant classes for the protected virtual abstract IdSeek method.

Internet Direct (Indy) Version 10.1.5

273

TIdBaseStream Class

Classes

On the .Net platform, Seek uses an offest value expresses as an Int64 data type to indicate the position in the stream to locate relative to the stream Origin.

On all other platforms, Seeks uses a Loingint value to indicate the position in the stream to locate relative to the stream Origin. Seek calls the IdSeek method in a descendant class to locate a postion using the mechanism required for the platform-specific stream implementation. Use Read (

271) to input values using a platform-specific stream implementation.

Use Write (

274) to output values to a platform-specific stream implementation.

See Also Read (

271)

Write (

274)

TIdBaseStream.Write Method Overload List Method TIdBaseStream.Write (, Longint) (

Description Implements write operations using the platform-specific stream implementation.

274) TIdBaseStream.Write (array of Byte, Implements write operations using the platform-specific stream implementation. Longint, Longint) ( 275)

TIdBaseStream.Write Method (, Longint) Implements write operations using the platform-specific stream implementation. Pascal function Write( const ABuffer; ACount: Longint ): Longint; override; Parameters Parameters

Description

Buffer

Values to be written to the stream.

Count

Number of byte values to be written to the stream.

Returns Longint - Number of bytes written in the write operation. Description Write is an overridden method that isolates the platform-specific stream methods required to implement write operations. Write relies on the method implementation in a descendant classes for the protected virtual abstract IdWrite method.

On the .Net platform, Write uses an array of Byte to represent the Buffer containing values written to the stream.

On all other platforms, Write uses an untyped pointer to represent the Buffer containing values written to the stream. Write calls the Move procedure from the Runtime library to update the stream Buffer with the output values. 274

Internet Direct (Indy) Version 10.1.5

Classes

TIdBasicAuthentication Class

Use Read (

271) to input values using a platform-specific stream implementation.

Use Seek (

272) to reposition a platform-specific stream implementation.

See Also Read (

271)

Seek (

272)

TIdBaseStream.Write Method (array of Byte, Longint, Longint) Implements write operations using the platform-specific stream implementation. Pascal function Write( const ABuffer: array of Byte; AOffset: Longint; ACount: Longint ): Longint; override; Parameters Parameters

Description

Buffer

Values to be written to the stream.

Offset

Inital buffer position to be written to the stream.

Count

Number of byte values to be written to the stream.

Returns Longint - Number of bytes written in the write operation. Description Write is an overridden method that isolates the platform-specific stream methods required to implement write operations. Write relies on the method implementation in a descendant classes for the protected virtual abstract IdWrite method.

On the .Net platform, Write uses an array of Byte to represent the Buffer containing values written to the stream.

On all other platforms, Write uses an untyped pointer to represent the Buffer containing values written to the stream. Write calls the Move procedure from the Runtime library to update the stream Buffer with the output values. Use Read (

271) to input values using a platform-specific stream implementation.

Use Seek (

272) to reposition a platform-specific stream implementation.

See Also Read (

271)

Seek (

272)

TIdBasicAuthentication Class Implements the Basic Authentication (

277) mechanism for use in HTTP and other protocols.

File IdAuthentication (

4586)

Hierarchy

Internet Direct (Indy) Version 10.1.5

275

TIdBasicAuthentication Class

Classes

Pascal TIdBasicAuthentication = class(TIdAuthentication); Description TIdBasicAuthentication is a TIdAuthentication ( described in the Internet Standards documents:

253) descendant that implements the Basic Authentication (

277) mechanism

RFC 2616 - Hypertext Transfer Protocol [HTTP/1.1] RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication TIdBasicAuthentication provides properties and methods needed to process user authentication ( 277) in TIdHTTP ( 1041) client for HTTP requests and response using the "Basic" Authentication ( 277) scheme. TIdBasicAuthentication implements support for client authentication ( 277) using Username ( 258) and Password ( 257) values for the Realm ( 278) specified in the WWW-Authenticate header of an HTTP server or proxy response. TIdBasicAuthentication allows the client to construct the base64-encoded client credentials needed in the response to a server or proxy authentication ( 277) challenge. The Authentication ( 277) value is used in the HTTP Authorization header expressed in the following form: Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== TIdBasicAuthentication is the default authentication ( RegisterAuthenticationMethod ( 2893) procedure.

277) scheme registered for use with the TIdHTTP (

1041) client using the

Use TIdDigestAuthentication ( 573) to implement support for the Digest Access Authentication ( 277) Scheme in TIdHTTP ( 1041) client by calling the RegisterAuthenticationMethod ( 2893) procedure with the appropriate arguments. See Also TIdAuthentication (

253)

TIdDigestAuthentication (

573)

RegisterAuthenticationMethod (

2893)

TIdBasicAuthentication Members The following tables list the members exposed by TIdBasicAuthentication. Properties Property

Description

AuthParams (

256)

CurrentStep ( Params (

257)

Password ( Realm (

Represents authentication (

257)

Contains authentication (

257)

Steps (

254) processing.

254) parameters for the mechanism.

Represents the authorization credentials for the authentication (

278)

Identifies the proptection space for the authentication (

257)

Username (

254) parameters to be used for the process.

Identifies the current task number during authentication (

Number of tasks required for the authentication (

258)

254) process.

277) scheme.

254) process.

Represents the authorization identity for the authentication (

254) process.

Methods Method

Description

Authentication ( Create (

277)

Destroy (

255)

KeepAlive ( Next (

277)

277)

255)

Reset (

Creates the authorization scheme and credentials for the authentication class. Constructor for the object instance. Frees the object instance. Indicates Keep-Alive signals are supported for the authentication ( Identifies the next action in the authentication (

278)

277) mechanism.

254) process.

Clears the number of retries and step in the authentication (

277) mechanism.

Legend Method virtual Property

276

Internet Direct (Indy) Version 10.1.5

Classes

TIdBasicAuthentication Class read only

TIdBasicAuthentication Methods The Methods of the TIdBasicAuthentication class are listed here. Methods Method

Description

Authentication ( Create (

277)

KeepAlive ( Reset (

277)

Creates the authorization scheme and credentials for the authentication class. Constructor for the object instance.

277)

278)

Indicates Keep-Alive signals are supported for the authentication ( Clears the number of retries and step in the authentication (

277) mechanism.

277) mechanism.

Legend Method virtual

TIdBasicAuthentication.Authentication Method Creates the authorization scheme and credentials for the authentication class. Pascal function Authentication: String; override; Returns String - Scheme and Base64-encoded credentials for the process. Description Authentication is an overriden String function that implements creation of the authorization credentials for the Basic Authentication scheme, and returned as a Base64-encoded string. Authentication normally returns a value in the form: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== See Also Realm (

278)

TIdBasicAuthentication.Create Constructor Constructor for the object instance. Pascal constructor Create; override; Description Create is the constructor for the object instance. Create calls the inherited Create method. Create also assigns the default value for the internal property used to maintain the current step in the authentication ( 277) process. See Also Reset (

278)

Authentication (

277)

TIdBasicAuthentication.KeepAlive Method Indicates Keep-Alive signals are supported for the authentication (

277) mechanism.

Pascal function KeepAlive: Boolean; override; Internet Direct (Indy) Version 10.1.5

277

TIdBubbleSortStringList Class

Classes

Returns Boolean - True when KEEP-ALIVE is supporeted for the authentication (

277) scheme.

Description KeepAlive is an Boolean function that specifies the function used to indicate if the authentication ( 277) mechanism supports use of the KEEP-ALIVE header. When KeepAlive is True, the authentication ( 277) mechanism allows use of the header to prevent loss of the connection during authentication ( 277) processing.

TIdBasicAuthentication.Reset Method Clears the number of retries and step in the authentication (

277) mechanism.

Pascal procedure Reset; override; Description Reset is an overridden procedure in TIdBasicAuthentication ( 275). The inherited method is called to clear the number of retry attempts performed using the authentication ( 277) mechanism by setting the nuimber of tries to 0. Reset also sets the value of the CurrentStep (

257) to 0 to indicate the next (

255) step in the authentication (

277) process.

See Also CurrentStep (

257)

TIdBasicAuthentication Properties The Properties of the TIdBasicAuthentication class are listed here. Properties Property Realm (

Description 278)

Identifies the proptection space for the authentication (

277) scheme.

Legend Property

TIdBasicAuthentication.Realm Property Identifies the proptection space for the authentication (

277) scheme.

Pascal property Realm: String; Description Realm is a String property that identifies the protection space being accessed that has its own authentication ( 277) scheme and/or authorization database. Realm is assigned by the origin server as a parameter in the WWW-Authenticate challenge header stored in authentication ( 277) parameters. See Also Authentication (

277)

TIdBubbleSortStringList Class File IdContainers ( 278

4605) Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

Hierarchy

Pascal TIdBubbleSortStringList = class(TIdStringList); Description TIdBubbleSortStringList is a TIdStringList (

3088) descendant.

See Also TIdStringList (

3088)

TIdBubbleSortStringList Members The following tables list the members exposed by TIdBubbleSortStringList. Methods Method

Description

BubbleSort (

279)

Legend Method virtual

TIdBubbleSortStringList Methods The Methods of the TIdBubbleSortStringList class are listed here. Methods Method

Description

BubbleSort (

279)

Legend Method virtual

TIdBubbleSortStringList.BubbleSort Method Pascal procedure BubbleSort( ACompare: TIdStringListSortCompare ); virtual; Parameters Parameters

Description

ACompare

Type is TIdStringListSortCompare (

3089).

Description BubbleSort is a virtual method.

TIdBuffer Class Implements a buffer used for input and output operations in the Indy library.

Internet Direct (Indy) Version 10.1.5

279

TIdBuffer Class

Classes

File IdBuffer (

4588)

Hierarchy

Pascal TIdBuffer = class(TIdBaseObject); Description TIdBuffer is a TObject descendant that implements a buffer used for input and output operations in the Indy library. TIdBuffer is used as a read and/or write ( 297) buffer for the communication layer. TIdBuffer is optimized for adding data at the end of the buffer, and extracting data from the beginning of the buffer. TIdBuffer isolates the differences between memory allocation and pointer operations as implemented on the platforms supported by the Indy library. TIdBuffer implements properties that manage the size, growth, and encoding used for the buffer class instance, including:

Property

Usage

Capacity (

305)

Maximum size to allocate for the buffer.

Encoding (

305)

Encoding (

GrowthFactor 305) Size (

(

Threshold for allocating additional buffer storage.

306)

AsString (

305) used for string values added to the buffer.

Number of bytes in buffer storage.

304)

Contents of the buffer as a String data type.

By default, TIdBuffer uses ANSI-encoding for string values added to the buffer using the Write ( 297) methods. Set the value in Encoding ( 305) to another TIdEncoding ( 2949) value to alter the encoding used in the Write ( 297) methods. When additional internal storage is required for the buffer, the value in GrowthFactor ( additional bytes allocated. The default value for GrowthFactor ( 305) is 2048.

305) is used to determine the number of

TIdBuffer implements methods that handle reading and writing various data types in the buffer. Extract ( read and remove ( 296) existing byte values in the buffer, including:

Method Extract (

286) methods are used to

Storage Data Type 286)

ExtractToByte (

String 287)

ExtractToBytes (

287)

ExtractToCardinal ( ExtractToIPv6 (

291)

ExtractToIdBuffer ( ExtractToInt64 ( ExtractToStream ( ExtractToWord (

288)

289)

290) 292) 293)

TIdBuffer maintains an internal TIdBufferBytesRemoved ( removed from the internal storage for the buffer.

Byte TIdBytes (

3007)

Cardinal TIdIPv6Address (

3040)

TIdBuffer Int64 TIdStream (

3087)

Word 3006) event handler that is signalled when byte values are read and

Use the overloaded constructors to create ( 284) buffer instances and to perform assignment for the GrowthFactor ( TIdBufferBytesRemoved ( 3006) event handler used for the buffer. 280

305) or the

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

TIdBuffer implements overloaded Write ( 297) methods that are used to convert various data types to an array of bytes as used in the internal storage for the buffer. Arguments passed to the overloaded Write ( 297) methods generally indicate the value to be stored and the zero-based position in the internal storage for the buffer where the values will be stored. Other arguments may reflect additional information needed to convert the original data type to a sequence of byte values. TIdBuffer implements other properties and methods that provide access to the byte values stored in the buffer, including:

AsString ( Clear (

304)

283)

IndexOf (

294)

IndexOf (

294)

PeekByte (

295)

SaveToStream (

296)

TIdBuffer is used extensively in TIdIOHandler ( and write ( 297) operation for the IO handler.

1284), both as a property and as an argument to methods that perform the read

The .Net platform forces us to perform copies from strings to Bytes so that it can do the proper unicode and other conversions. The copy is a separate issue and we considered several options. For .Net, we will always have to copy data to send or to receive to translate it to binary. For example if we have a string it must be converted to bytes. This conversion requires a copy. All strings are WideString and must be converted to single bytes by a convertor. This is not limited to strings. In VCL previously all strings were AnsiString so we used a pointer and just accessed the memory directly from the string. This avoided the overhead of a copy. We have come up with several ideas on how to allow the copy on .net, while avoiding the copy on VCL to keep the performance benefit. However we must do it in a single source manner and in a manner that does not impact the code negatively. For now for VCL we also do a copy. This has the advantage that Byte arrays are reference counted and automaticaly handled by Delphi. For example: WriteBytes(StringToBytes(s)); The array returned by this function will automatically be freed by Delphi. There are other options that are nearly as transparent but have the additional overhead of requiring class creation. These classes can be used to copy for .net and proxy on VCL. It all works very nice and has low memory overhead. The objects can then be freed by default in methods that accept them. However after analysis, copy on VCL may not be that bad after all. The copy only really impacts strings. The overhead to copy strings is minimal and only used in commands etc. The big transfers come from files, streams, or other. Such transfers have to be mapped into memory in VCL anyways, and if we map directly into the byte array instead of the previous classes peformance should be fine. In short - copy under VCL should be acceptable if we watch for bottlenecks and fix them appropriately without having to create ( 284) proxy classes. The only problem remains for transmitting large memory blocks. But if this is done against a fixed copy buffer the performance hit will be neglible and it is not a common task to transmit large memory blocks. For such transfers from streams, etc the user can declare a persistent array of bytes that is not freed between each call to WriteBytes.

• Kudzu See Also TIdIOHandler (

1284)

Internet Direct (Indy) Version 10.1.5

281

TIdBuffer Class

Classes

TIdBuffer Members The following tables list the members exposed by TIdBuffer. Properties Property

Description

AsString (

304)

Capacity (

305)

Encoding (

305)

GrowthFactor ( Size (

Provides access to byte values stored in the buffer as a String data type. Indicates the maximum number of bytes allowed for the internal storage of the buffer. Default encoding used when writing values to the buffer.

305)

306)

Indicates the threshold for reallocating storage for the buffer. Indicates the number of Bytes in the Indy buffer.

Methods Method Clear (

Description 283)

Discards all existing data in the internal storage for the buffer.

CompactHead ( Destroy ( Extract (

283)

286)

Destructor for the object instance.

286)

ExtractToByte (

Removes unused storage space allocated at the head of the buffer. Retrieves and removes data from the buffer.

287)

ExtractToBytes (

287)

Reads and optionally removes a specific byte value from the internal storage for the buffer. Reads and optionally removes byte values from the internal storage for the buffer.

ExtractToCardinal (

288)

Reads and optionally removes a Cardinal value from the internal storage for the buffer.

ExtractToIdBuffer (

289)

Copies and optionally removes values from the internal storage for the buffer into a TIdBuffer ( type.

ExtractToInt64 (

290)

Reads and optionally removes a Cardinal value from the internal storage for the buffer.

ExtractToIPv6 (

291)

Reads and optionally removes a Cardinal value from the internal storage for the buffer.

ExtractToStream (

292)

ExtractToWord ( PeekByte (

293)

295)

Remove (

Reads and optionally removes a Word value from the internal storage for the buffer. Removes data from the internal storage for the Indy buffer.

296)

Writes the contents of the buffer to a stream.

284)

IndexOf ( Write (

Writes extracted buffer data to a stream. Gets a byte value without removing the value from the internal storage for the buffer.

296)

SaveToStream ( Create (

279) data

294) 297)

WriteLen (

302)

Stores a specific number of byte values into the internal storage for the buffer at a given position.

Legend Method virtual Property read only

TIdBuffer Methods The Methods of the TIdBuffer class are listed here. Methods Method Clear (

Description 283)

Discards all existing data in the internal storage for the buffer.

CompactHead ( Create (

286)

Destructor for the object instance.

286)

ExtractToByte (

Retrieves and removes data from the buffer. 287)

ExtractToBytes (

287)

Reads and optionally removes a specific byte value from the internal storage for the buffer. Reads and optionally removes byte values from the internal storage for the buffer.

ExtractToCardinal (

288)

Reads and optionally removes a Cardinal value from the internal storage for the buffer.

ExtractToIdBuffer (

289)

Copies and optionally removes values from the internal storage for the buffer into a TIdBuffer ( type.

ExtractToInt64 (

282

Removes unused storage space allocated at the head of the buffer.

284)

Destroy ( Extract (

283)

290)

279) data

Reads and optionally removes a Cardinal value from the internal storage for the buffer.

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

ExtractToIPv6 (

291)

ExtractToStream ( ExtractToWord ( IndexOf (

293)

Writes extracted buffer data to a stream. Reads and optionally removes a Word value from the internal storage for the buffer.

294)

PeekByte ( Remove (

295)

Gets a byte value without removing the value from the internal storage for the buffer.

296)

Removes data from the internal storage for the Indy buffer.

SaveToStream ( Write (

Reads and optionally removes a Cardinal value from the internal storage for the buffer.

292)

296)

Writes the contents of the buffer to a stream.

297)

WriteLen (

302)

Stores a specific number of byte values into the internal storage for the buffer at a given position.

Legend Method virtual

TIdBuffer.Clear Method Discards all existing data in the internal storage for the buffer. Pascal procedure Clear; Description Clear is a procedure used to remove ( 296) all existing data in the internal storage for the buffer. Clear sets the length of the internal storage for the buffer to 0 (zero). Clear is called from both the constructor and destructor for the object instance. Use Remove ( Use Extract (

296) to discard a specified number of bytes in the internal storage for the buffer. 286) to retrieve data from the buffer for subsequent use prior to removal from the internal storage.

See Also TIdBuffer.Extract ( TIdBuffer.Remove ( TIdBuffer.Create ( TIdBuffer.Destroy (

286) 296) 284) 286)

TIdBuffer.CompactHead Method Removes unused storage space allocated at the head of the buffer. Pascal procedure CompactHead( ACanShrink: Boolean = True ); Parameters Parameters

Description

ACanShrink

Indicates unused storage space at the head of the buffer should be removed from the buffer size. Default value is True.

Description CompactHead is a procedure used to remove ( 296) unused storage space at the head of the buffer, and to optionally reduce the number of bytes in the storage area for the buffer. If there are unused bytes in the storage area for the buffer (resulting from calls to Remove ( 296), Extract ( 286), or Write ( 297)), CompactHead will use the CopyTIdBytes ( 2746) procedure to reallocate storage at the head of the buffer. ACanShrink indicates that unused storage space at the head of the buffer should be removed from the total number of bytes in the buffer. The default value is True. If the Capacity ( 305) for the buffer is too large (in excess of Size ( 306) and the value in Internet Direct (Indy) Version 10.1.5

283

TIdBuffer Class

Classes

GrowthFactor (

305)), the length of the storage area is adjusted to reduce memory requirements.

When ACanShrink is False, excess storage at the tail of the buffer is unaffected. See Also CopyTIdBytes (

2746)

TIdBuffer.Capacity ( TIdBuffer.Size (

305)

306)

TIdBuffer.Write (

297)

TIdBuffer.Remove ( TIdBuffer.Extract (

296) 286)

TIdBuffer.Create Constructor Overload List Method

Description

TIdBuffer.Create () (

284)

TIdBuffer.Create (Integer) (

Constructor for the object instance. 284)

Constructor for the object instance.

TIdBuffer.Create Constructor for the object instance. (TIdBufferBytesRemoved) ( 285) TIdBuffer.Create (TIdBytes, Integer) ( 285)

Constructor for the object instance.

TIdBuffer.Create Constructor () Constructor for the object instance. Pascal constructor Create; overload; Description Create is an overloaded constructor for the object instance. Create calls the inherited constructor, and sets the default value for the GrowthFactor ( Create calls Clear ( Use Destroy (

305) property to 2048.

283) to ensure that the internal storage for the buffer contains no existing data.

286) to free the object instance.

See Also TIdBuffer.GrowthFactor ( TIdBuffer.Clear (

305)

283)

TIdBuffer.Destroy (

286)

TIdBuffer.Create Constructor (Integer) Constructor for the object instance. Pascal constructor Create( AGrowthFactor: Integer ); overload;

284

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

Parameters Parameters

Description

AGrowthFactor

Number of bytes used as a threshold when reallocating storage for the buffer.

Description Create is an overloaded constructor for the object instance. Create calls the parameterless Create method to initialize the object instance. Create sets the value for the GrowthFactor ( Use Destroy (

305) property to the value specified in AGrowthFactor.

286) to free the object instance.

See Also TIdBuffer.Create TIdBuffer.GrowthFactor ( TIdBuffer.Destroy (

305)

286)

TIdBuffer.Create Constructor (TIdBufferBytesRemoved) Constructor for the object instance. Pascal constructor Create( AOnBytesRemoved: TIdBufferBytesRemoved ); overload; Parameters Parameters

Description

AOnBytesRemoved

Event handler to use for notification of data removal from the buffer.

Description Create is an overloaded constructor for the object instance. Create calls the parameterless Create method to initialize the object instance. Create sets the OnBytesRemoved event handler to the argument specified in AOnBytesRemoved. Use Destroy (

286) to free the object instance.

See Also TIdBufferBytesRemoved (

3006)

TIdBuffer.OnBytesRemoved TIdBuffer.Clear (

283)

TIdBuffer.Destroy (

286)

TIdBuffer.Create Constructor (TIdBytes, Integer) Constructor for the object instance. Pascal constructor Create( const ABytes: TIdBytes; const ALength: Integer = -1 ); overload; Parameters Parameters

Description

ABytes

Initial values for the buffer.

ALength

Size (

Internet Direct (Indy) Version 10.1.5

306) to pre-allocate for the buffer. Default value is -1.

285

TIdBuffer Class

Classes

Description Create is an overloaded constructor for the object instance. Create calls the inherited parameter-less constructor. ABytes indicates the initial values to use in the internal storage for the buffer. ALength indicates teh Size ( 306) to pre-allocate for the buffer. The default value is -1, and indicates that the actual length of the values in ABytes should be assigned as the Size ( 306) for the buffer. The values in ABytes are copied through assignment to the buffers' internal storage. When ALength contains zero or a positive number, the value in ALength is stored as the Size ( 306) for the buffer and CopyTIdBytes ( 2746) is called to load values in ABytes into the internal storage. See Also TIdBuffer.Create

TIdBuffer.Destroy Destructor Destructor for the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy calls Clear ( method.

283) to discard all existing data in the internal storage for the buffer prior to calling the inherited Destroy

See Also TIdBuffer.Create (

284)

TIdBuffer.Extract Method Retrieves and removes data from the buffer. Pascal function Extract( AByteCount: Integer = -1 ): string; Parameters Parameters

Description

AByteCount

Number of bytes requested from the internal storage for the buffer. Default value is -1.

Returns string - Data extracted from the buffer. Description Extract is a String function used to retrieve data from the internal storage for the buffer as a Delphi String data type. AByteCount indicates the number of bytes requested from the internal storage for the buffer. When AByteCount contains -1, all values in the buffer indicated by Size (

306) are extracted from the buffer.

The return value for the method is the byte values retrieved from the internal storage for the buffer. When AByteCount contains a positive non-zero value, Extract calls ExtractToBytes ( 287) to retrieve the data from internal storage, and calls BytesToString ( 2728) to prepare the return value for the function. Values retrieved from the internal storage for the buffer are also removed from the buffer. See Also TIdBuffer.Size (

306)

TIdBuffer.ExtractToBytes ( 286

287) Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

BytesToString (

2728)

TIdBuffer.ExtractToByte Method Reads and optionally removes a specific byte value from the internal storage for the buffer. Pascal function ExtractToByte( const AIndex: Integer ): Byte; Parameters Parameters

Description

AIndex

Position in the buffer of the byte value to extract (

286).

Returns Byte - Value extracted from the internal storage for the buffer. Description ExtractToByte is a Byte function used to read and remove (

296) a specified byte value from the internal storage for the buffer.

AIndex is the zero-based offset of the byte value to extract ( 286) from the internal storage for the buffer. AIndex normally contains a value in the range 0 (zero) to Size ( 306)-1. When AIndex contains 0 or a positive value, the content in the buffer is not altered by the Extract ( 286) operation. Using a negative value in AIndex indicates that data is being accessed sequentially and calls Remove ( buffer position and the space allocated for the buffer. ExtractToByte returns a single byte value using the Encoding ( Use one of the other Extract (

305) for the buffer.

286) methods to read a specific data type from the internal storage for the buffer:

Method Extract (

296) to adjust the current

Storage Data Type 286)

String

ExtractToByte

Byte

ExtractToBytes (

287)

ExtractToCardinal ( ExtractToIPv6 (

ExtractToInt64 (

Use PeekByte (

3007)

Cardinal TIdIPv6Address (

289)

TIdBuffer (

290)

ExtractToStream (

Use IndexOf (

288)

291)

ExtractToIdBuffer (

ExtractToWord (

TIdBytes (

3040)

279)

Int64

292)

TIdStream (

293)

3087)

Word

294) to find the position in the buffer where a specific sequence of byte values is located. 295) to access a specific byte value by its' position in the buffer.

Exceptions Exceptions EIdNotEnoughDataInBuffer (

Description 125)

Raised with RSNotEnoughDataInBuffer and the requested byte count.

TIdBuffer.ExtractToBytes Method Reads and optionally removes byte values from the internal storage for the buffer.

Internet Direct (Indy) Version 10.1.5

287

TIdBuffer Class

Classes

Pascal procedure ExtractToBytes( var VBytes: TIdBytes; AByteCount: Integer = -1; AAppend: Boolean = True; AIndex: Integer = -1 ); Parameters Parameters

Description

VBytes

Storage for values extracted from the buffer.

AByteCount

Number of bytes requested from the buffer. Default value is -1.

AAppend

Causes bytes from the buffer to be appended to the byte storage. Default value is True.

AIndex

Initial position where extracted bytes are stored in the data type. Default value is -1.

Description ExtractToBytes is a procedure used to copy and optionally remove ( TIdBytes ( 3007) data type. VBytes is the TIdBytes (

296) values from the internal storage for the buffer into a

3007) data type to use as storage for values extracted from the buffer.

AByteCount indicates the number of bytes requested from the buffer. The default value is -1, and causes the number of bytes in Size ( 306) to be extracted into VBytes. When AByteCount contains a positive non-zero value, the requested number of bytes must already exist in the buffer or an EIdNotEnoughDataInBuffer ( 125) will be raised. AAppend indicates if bytes from the buffer should be appended to any existing values found in VBytes. The default value is True, and causes VBytes to be resized to accomodate the additional number of bytes required in Size ( 306) or AByteCount. AIndex marks the initial position where bytes extracted from the buffer are stored in VBytes. The default value is -1, and indicates that byte values should be stored sequentially starting at the lowest position in the VBytes byte array. This value also causes the requested number of bytes to be Removed from the contents of the buffer using the Remove ( 296) method. When AIndex contains zero or a positive value, the existing content in the buffer is not removed after the copy operation. ExtractToBytes calls the CopyTIdBytes (

2746) routine to perform the copy operation required for the method.

Exceptions Exceptions

Description

EIdNotEnoughDataInBuffer (

125)

Raised when the buffer does not contain enough data for the requested number of bytes.

See Also TIdBytes (

3007)

EIdNotEnoughDataInBuffer ( Size (

125)

306)

CopyTIdBytes ( Remove (

2746)

296)

TIdBuffer.ExtractToCardinal Method Reads and optionally removes a Cardinal value from the internal storage for the buffer. Pascal function ExtractToCardinal( const AIndex: Integer ): Cardinal; Parameters Parameters

Description

AIndex

Postion in the buffer where bytes for the data type are stored.

288

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

Returns Cardinal - Value read from the internal storage for the buffer. Description ExtractToCardinal is a Cardinal function used to read and optionally remove ( the buffer.

296) a Cardinal value from the internal storage for

AIndex is the zero-based offset of the byte value to extract ( 286) from the internal storage for the buffer. AIndex normally contains a value in the range 0 (zero) to Size ( 306)-1. When AIndex contains 0 or a positive value, the content in the buffer is not altered by the Extract ( 286) operation. Using a negative value in AIndex indicates that data is being accessed sequentially and calls Remove ( buffer position and the space allocated for the buffer by the size for the ordinal data type.

296) to adjust the current

ExtractToCardinal calls the BytesToCardinal ( 2721) routine to convert the byte values in the buffer to the ordinal data type. The converted data type is adjusted from network byte order to host-specific byte order using the NetworkToHost method in GStack ( 3126) for the operating system or platform. Use one of the other Extract (

286) methods to read a specific data type from the internal storage for the buffer:

Method Extract (

Storage Data Type 286)

String

ExtractToByte (

287)

ExtractToBytes (

Byte

287)

TIdBytes (

3007)

ExtractToCardinal

Cardinal

ExtractToIPv6 (

TIdIPv6Address (

291)

ExtractToIdBuffer ( ExtractToInt64 ( ExtractToStream ( ExtractToWord ( Use IndexOf (

289)

TIdBuffer (

290)

3040)

279)

Int64

292)

TIdStream (

293)

3087)

Word

294) to find the position in the buffer where a specific sequence of byte values is located.

Exceptions Exceptions EIdNotEnoughDataInBuffer (

Description 125)

Raised with RSNotEnoughDataInBuffer and the requested byte count.

TIdBuffer.ExtractToIdBuffer Method Copies and optionally removes values from the internal storage for the buffer into a TIdBuffer (

279) data type.

Pascal procedure ExtractToIdBuffer( ABuffer: TIdBuffer; AByteCount: Integer = -1; const AIndex: Integer = -1 ); Parameters Parameters

Description

ABuffer

Storage for values extracted from the buffer.

AByteCount

Number of bytes requested from the buffer. Default value is -1.

AIndex

Initial position where extracted bytes are stored in the data type. Default value is -1.

Description ExtractToIdBuffer is a procedure used to copy and optionally remove ( Internet Direct (Indy) Version 10.1.5

296) values from the internal storage for the buffer into a 289

TIdBuffer Class TIdBuffer (

Classes 279) data type.

ABuffer is the TIdBuffer (

279) data type used as storage for values extracted from the buffer.

AByteCount is the number of bytes requested from the buffer. The default value is -1, and indicated that the number of bytes in Size ( 306) is used when performing the copy operation. When AByteCount contains a positive non-zero value, the requested number of bytes must already exist in the buffer or an EIdNotEnoughDataInBuffer ( 125) will be raised. AIndex marks the initial position where extracted bytes are stored in the TIdBuffer ( 279) data type. The default value is -1, and indicates byte values should be stored sequentially starting at the lowest position in ABuffer. This value also causes the requested number of bytes to be Removed from the contents of the buffer using the Remove ( 296) method. When AIndex contains zero or a positive value, the existing content in the buffer is not removed after the copy operation. ExtractToIdBuffer calls the ExtractToBytes ( 287) routine to get the byte values used in the copy operation for the method. ExtractToIdBuffer calls the Write ( 297) method in the TIdBuffer ( 279) data type to output byte values copied from the internal storage for the buffer. Use the ExtractToBytes (

287) method to copy byte values into a TIdBytes (

3007) data type.

Exceptions Exceptions

Description

EIdNotEnoughDataInBuffer (

125)

Raised when the buffer does not contain enough data for the requested number of bytes.

See Also EIdNotEnoughDataInBuffer ( Remove (

125)

296)

ExtractToBytes (

287)

TIdBuffer.ExtractToBytes (

287)

TIdBuffer.ExtractToInt64 Method Reads and optionally removes a Cardinal value from the internal storage for the buffer. Pascal function ExtractToInt64( const AIndex: Integer ): Int64; Parameters Parameters

Description

AIndex

Postion in the buffer where bytes for the data type are stored.

Returns Int64 - Value read from the internal storage for the buffer. Description ExtractToInt64 is an Int64 function used to read and optionally remove ( buffer.

296) an Int64 value from the internal storage for the

AIndex is the zero-based offset of the byte value to extract ( 286) from the internal storage for the buffer. AIndex normally contains a value in the range 0 (zero) to Size ( 306)-1. When AIndex contains 0 or a positive value, the content in the buffer is not altered by the Extract ( 286) operation. Using a negative value in AIndex indicates that data is being accessed sequentially and calls Remove ( buffer position and the space allocated for the buffer by the size for the ordinal data type.

296) to adjust the current

ExtractToInt64 calls the BytesToInt64 ( 2723) routine to convert the byte values in the buffer to the ordinal data type. The converted data type is adjusted from network byte order to host-specific byte order using the NetworkToHost method in GStack ( 3126) for the operating system or platform. Use one of the other Extract ( 290

286) methods to read a specific data type from the internal storage for the buffer: Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

Method Extract (

Storage Data Type 286)

String

ExtractToByte (

287)

ExtractToBytes (

287)

ExtractToCardinal ( ExtractToIPv6 (

Byte TIdBytes (

288)

Cardinal

291)

ExtractToIdBuffer (

TIdIPv6Address (

289)

TIdBuffer (

ExtractToInt64

3040)

279)

Int64

ExtractToStream ( ExtractToWord ( Use IndexOf (

3007)

292)

TIdStream (

293)

3087)

Word

294) to find the position in the buffer where a specific sequence of byte values is located.

Exceptions Exceptions

Description

EIdNotEnoughDataInBuffer (

125)

Raised with RSNotEnoughDataInBuffer and the requested byte count.

TIdBuffer.ExtractToIPv6 Method Reads and optionally removes a Cardinal value from the internal storage for the buffer. Pascal function ExtractToIPv6( const AIndex: Integer ): TIdIPv6Address; Parameters Parameters

Description

AIndex

Postion in the buffer where bytes for the data type are stored.

Returns TIdIPv6Address (

3040) - IPv6 address read from the internal storage for the buffer.

Description ExtractToIPv6 is a TIdIPv6Address ( storage for the buffer.

3040) function used to read and optionally remove (

296) an IPv6 address from the internal

AIndex is the zero-based offset of the byte value to extract ( 286) from the internal storage for the buffer. AIndex normally contains a value in the range 0 (zero) to Size ( 306)-1. When AIndex contains 0 or a positive value, the content in the buffer is not altered by the Extract ( 286) operation. Using a negative value in AIndex indicates that data is being accessed sequentially and calls Remove ( buffer position and the space allocated for the buffer by the size for the ordinal data type.

296) to adjust the current

ExtractToIPv6 calls the BytesToIPv6 ( 2725) routine to convert the byte values in the buffer to the data type used in the return value for the method. The converted data type is adjusted from network byte order to host-specific byte order using the NetworkToHost method in GStack ( 3126) for the operating system or platform. Use one of the other Extract (

286) methods to read a specific data type from the internal storage for the buffer:

Method Extract (

Storage Data Type 286)

ExtractToByte (

String 287)

Internet Direct (Indy) Version 10.1.5

Byte

291

TIdBuffer Class

Classes

ExtractToBytes (

287)

ExtractToCardinal (

TIdBytes (

288)

Cardinal

ExtractToIPv6

TIdIPv6Address (

ExtractToIdBuffer ( ExtractToInt64 (

ExtractToWord (

289)

TIdBuffer (

290)

ExtractToStream (

Use IndexOf (

3007)

3040)

279)

Int64

292)

TIdStream (

293)

3087)

Word

294) to find the position in the buffer where a specific sequence of byte values is located.

Exceptions Exceptions

Description

EIdNotEnoughDataInBuffer (

125)

Raised with RSNotEnoughDataInBuffer and the requested byte count.

TIdBuffer.ExtractToStream Method Writes extracted buffer data to a stream. Pascal procedure ExtractToStream( const AStream: TIdStream; AByteCount: Integer = -1; const AIndex: Integer = -1 ); Parameters Parameters

Description

AStream

Destination for values extracted from the buffer.

AByteCount

Number of bytes requested from the buffer.

AIndex

Postion in the buffer where bytes for the output stream are stored.

Description ExtractToStream is a procedure used to extract ( AStream is a TIdStream (

286) data from the buffer into the AStream argument.

3087) instance used to store values extracted from the current buffer.

AByteCount indicates the number of bytes requested from the internal storage for the buffer. When AByteCount contains -1 the Size ( 306) for the buffer is used when extracting data. AIndex is the zero-based offset of the byte value to extract ( 286) from the internal storage for the buffer. AIndex normally contains a value in the range 0 (zero) to Size ( 306)-1. When AIndex contains 0 or a positive value, the content in the buffer is not altered by the Extract ( 286) operation. Using a negative value in AIndex indicates that data is being accessed sequentially. This causes space at the beginning of the buffer that has already been processed to be removed from the allocated internal storage for the buffer. It also causes Remove ( 296) to be called to adjust the current buffer position and the space allocated for the buffer by the size for the ordinal data type. ExtractToStream checks the Size ( 306) of Bytes to ensure that the requested number of bytes in AByteCount are available in the buffer. When the data is available, ExtractToStream will call the Write ( 297) method in the TIdStream ( 3087) instance to perform the copy operation. Use one of the other Extract (

Method Extract (

Storage Data Type 286)

ExtractToByte ( ExtractToBytes ( 292

286) methods to read a specific data type from the internal storage for the buffer:

String 287) 287)

Byte TIdBytes (

3007) Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

ExtractToCardinal ( ExtractToIPv6 (

Cardinal

291)

ExtractToIdBuffer ( ExtractToInt64 (

288)

TIdIPv6Address (

289)

TIdBuffer (

290)

279)

Int64

ExtractToStream ExtractToWord (

3040)

TIdStream ( 293)

3087)

Word

Exceptions Exceptions

Description

EIdNotEnoughDataInBuffer (

125)

Raised with RSNotEnoughDataInBuffer and the requested byte count.

See Also EIdNotEnoughDataInBuffer (

125)

RSNotEnoughDataInBuffer TIdStream ( Size (

3087)

306)

Remove (

296)

TIdBuffer.ExtractToWord Method Reads and optionally removes a Word value from the internal storage for the buffer. Pascal function ExtractToWord( const AIndex: Integer ): Word; Parameters Parameters

Description

AIndex

Postion in the buffer where bytes for the data type are stored.

Returns Word - Value read from the internal storage for the buffer. Description ExtractToWord is a Word function used to read and optionally remove (

296) a Word value from the internal storage for the buffer.

AIndex is the zero-based offset of the byte value to extract ( 286) from the internal storage for the buffer. AIndex normally contains a value in the range 0 (zero) to Size ( 306)-1. When AIndex contains 0 or a positive value, the content in the buffer is not altered by the Extract ( 286) operation. Using a negative value in AIndex indicates that data is being accessed sequentially and calls Remove ( buffer position and the space allocated for the buffer by the size for the ordinal data type.

296) to adjust the current

ExtractToWord calls the BytesToWord ( 2729) routine to convert the byte values in the buffer to the ordinal data type. The converted data type is adjusted from network byte order to host-specific byte order using the NetworkToHost method in GStack ( 3126) for the operating system or platform. Use one of the other Extract (

286) methods to read a specific data type from the internal storage for the buffer:

Method Extract (

Storage Data Type 286)

ExtractToByte (

String 287)

Internet Direct (Indy) Version 10.1.5

Byte

293

TIdBuffer Class

Classes

ExtractToBytes (

287)

ExtractToCardinal ( ExtractToIPv6 (

TIdBytes (

288)

Cardinal

291)

ExtractToIdBuffer ( ExtractToInt64 ( ExtractToStream (

3007)

TIdIPv6Address (

289)

TIdBuffer (

290)

3040)

279)

Int64

292)

TIdStream (

ExtractToWord

3087)

Word

Exceptions Exceptions EIdNotEnoughDataInBuffer (

Description 125)

Raised with RSNotEnoughDataInBuffer and the requested byte count.

TIdBuffer.IndexOf Method Overload List Method

Description

TIdBuffer.IndexOf (string, Integer) ( 295)

Determines the index position of a value in the buffer.

TIdBuffer.IndexOf (TIdBytes, Integer) ( 294)

Determines the index position of a value in the buffer.

TIdBuffer.IndexOf Method (TIdBytes, Integer) Determines the index position of a value in the buffer. Pascal function IndexOf( const ABytes: TIdBytes; AStartPos: Integer = 0 ): Integer; overload; Parameters Parameters

Description

ABytes

Byte values to locate in the buffer.

AStartPos

Offset into the buffer to begin looking for the specified value. Default value is 0.

Returns Integer - Zero-based offset of the desired value in the buffer, or -1 when the value is not found. Description IndexOf is an overloaded Integer function used to determine the index position where the value in ABytes occurs in the buffer. ABytes represents the byte values to locate in the internal storage for the buffer. AStartPos indicates the inital offset in the buffer to begin looking for a value that matches ABytes. AStartPos is a zero-based offset into the byte values for the buffer. The return value for the method will contain -1 when ABytes cannot be located in the internal storage for the buffer, or the zero-based offset of the desired value in the buffer. IndexOf will raise exceptions if ABytes is empty or the value in AStartPos is outside the allowable range starting at zero and ending at the Size ( 306) of the buffer minus 1.

294

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

Exceptions Exceptions EIdException (

Description 76)

Raised with the message RSBufferMissingTerminator if the search bytes are empty. Raised with the message RSBufferInvalidStartPos if the starting position for the search is outside the range indicated by 0 and Size ( 306) -1.

See Also ToBytes ( TIdBytes (

2919) 3007)

TIdBuffer.IndexOf Method (string, Integer) Determines the index position of a value in the buffer. Pascal function IndexOf( const AString: string; AStartPos: Integer = 0 ): Integer; overload; Parameters Parameters

Description

AString

Value to locate in the buffer.

AStartPos

Offset into the buffer to begin looking for the specified value. Default value is 0.

Returns Integer - Zero-based offset of the desired value in the buffer, or -1 when the value is not found. Description IndexOf is an overloaded Integer function used to determine the index position where the value in AString occurs in the buffer. IndexOf calls the ToBytes ( 2919) function to obtain a TIdBytes ( overloaded IndexOf method using the TIdBytes ( 3007) value.

3007) instance representing the value in AString, and calls the

The return value for the method will contain -1 when AString cannot be located in the internal storage for the buffer, or the zero-based offset of the desired value in the buffer. See Also TIdBuffer.IndexOf ToBytes ( TIdBytes (

2919)

3007)

TIdBuffer.PeekByte Method Gets a byte value without removing the value from the internal storage for the buffer. Pascal function PeekByte( AIndex: Integer ): Byte; Parameters Parameters

Description

AIndex

Offset into the buffer storage to retreive.

Returns Byte - Byte value found at the indicated offset into the buffer. Description PeekByte is a Byte function used to retrieve the value stored at the offset indicated by AIndex in the internal storage for the buffer. PeekByte does not remove ( 296) or extract ( 286) the byte value from the buffer. Internet Direct (Indy) Version 10.1.5

295

TIdBuffer Class

Classes

Use Extract (

286) to retrieve values from the buffer.

Exceptions Exceptions

Description

EIdException (

76)

Raised when the buffer is empty. Raised with the offset into the buffer is less than 0 or greater than the Size (

306) of the buffer minus 1.

See Also Extract (

286)

TIdBuffer.Remove Method Removes data from the internal storage for the Indy buffer. Pascal procedure Remove( AByteCount: Integer ); Parameters Parameters

Description

AByteCount

Number of bytes to remove from the buffer.

Description Remove is a procedure used to strip the number of bytes specified in AByteCount from the beginning of the internal storage for the Indy buffer. When AByteCount contains the same value as Size ( 306), any existing data in the buffer is cleared. Otherwise, Remove copies any remaining values in Bytes from the position indicated in AByteCount to the beginning of the internal storage for the buffer. Use Clear (

283) to discard all data in the internal storage for the Indy buffer.

See Also TIdBuffer.Clear (

283)

TIdBuffer.Bytes CopyTIdBytes (

2746)

TIdBuffer.SaveToStream Method Writes the contents of the buffer to a stream. Pascal procedure SaveToStream( const AStream: TIdStream ); Parameters Parameters

Description

AStream

Stores the contents of the buffer.

Description SaveToStream is a procedure used to write ( in AStream.

297) the byte values from the internal storage for the buffer to the stream specified

SaveToStream calls the CompactHead ( 283) method to move the bytes in the internal storage to beginning of the memory allocated for the buffer. It does not resize the amount of storage allocated. SaveToStream uses the Write ( 297) method in TIdStreamHelper ( using the stream instance in AStream.

296

3088) to output the number of bytes indicated in Size (

306)

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

See Also CompactHead (

283)

TIdBuffer.Write Method Overload List Method

Description

TIdBuffer.Write (Byte, Integer) (

297)

TIdBuffer.Write (Cardinal, Integer) ( 298) TIdBuffer.Write (Int64, Integer) (

298)

Adds data to the internal storage for the Indy buffer. Adds data to the internal storage for the Indy buffer. Adds data to the internal storage for the Indy buffer.

TIdBuffer.Write (string, TIdEncoding, Adds data to the internal storage for the Indy buffer. Integer) ( 302) TIdBuffer.Write (TIdBytes, Integer) ( 299) TIdBuffer.Write Integer) ( 300)

Stores a specific number of byte values into the internal storage for the buffer at a given position.

(TIdIPv6Address, Adds data to the internal storage for the Indy buffer.

TIdBuffer.Write (TIdStream, Integer) ( 300) TIdBuffer.Write (Word, Integer) (

301)

Adds data to the internal storage for the Indy buffer. Adds data to the internal storage for the Indy buffer.

TIdBuffer.Write Method (Byte, Integer) Adds data to the internal storage for the Indy buffer. Pascal procedure Write( const AValue: Byte; const ADestIndex: Integer = -1 ); overload; Parameters Parameters

Description

AValue

Value to store in the buffer.

ADestIndex

Initial postion in the buffer where the value is stored. Default value is -1.

Description Write is an overloaded method used to add one or more values representing the ordinal data type in AValue to the internal storage for the buffer. AValue is the ordinal data type with byte values to store in the buffer. ADestIndex marks the initial postion in the buffer where bytes representing the value are stored. The default value is -1, and indicates that bytes should be appended to any existing content in the internal storage for the buffer. When ADestIndex contains a zero or a positive value, bytes represent the ordinal data type are stored beginning at the postion indicated. Please note that any existing content in the buffer would be overwritten. Write stores the byte value from AValue at the required position, and adjusts the Size ( storage required for the buffer.

306) property to reflect the increased

See Also Write Size (

306)

GrowthFactor (

305)

Internet Direct (Indy) Version 10.1.5

297

TIdBuffer Class Capacity (

Classes 305)

TIdBuffer.Write Method (Cardinal, Integer) Adds data to the internal storage for the Indy buffer. Pascal procedure Write( const AValue: Cardinal; const ADestIndex: Integer = -1 ); overload; Parameters Parameters

Description

AValue

Value to store in the buffer.

ADestIndex

Initial postion in the buffer where the value is stored. Default value is -1.

Description Write is an overloaded procedure used to add byte values representing the ordinal data type in AValue to the internal storage for the buffer. AValue is the ordinal data type with byte values to store in the buffer. ADestIndex marks the initial postion in the buffer where bytes representing the value are stored. The default value is -1, and indicates that bytes should be appended to any existing content in the internal storage for the buffer. The value in the Size ( 306) property is increased by the number of bytes required for the ordinal data type. When ADestIndex contains zero or a positive value, bytes represent the ordinal data type are stored beginning at the postion indicated. Please note that any existing content in the buffer would be overwritten. Write calls the HostToNetwork method in the TIdStack ( 2156) descendant indicated in GStack ( 3126) to convert the bytes in AValue from their representation in host-specific byte order to network byte order. Write calls CopyTIdCardinal ( 2747) to copy the re-ordered byte values into the internal storage for the buffer. See Also Write Size (

306)

GrowthFactor ( Capacity (

305)

305)

TIdBuffer.Write Method (Int64, Integer) Adds data to the internal storage for the Indy buffer. Pascal procedure Write( const AValue: Int64; const ADestIndex: Integer = -1 ); overload; Parameters Parameters

Description

AValue

Value to store in the buffer.

ADestIndex

Initial postion in the buffer where the value is stored. Default value is -1.

Description Write is an overloaded procedure used to add byte values representing the ordinal data type in AValue to the internal storage for the buffer. AValue is the ordinal data type with byte values to store in the buffer. ADestIndex marks the initial postion in the buffer where bytes representing the value are stored. The default value is -1, and 298

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

indicates that bytes should be appended to any existing content in the internal storage for the buffer. The value in the Size ( property is increased by the number of bytes required for the ordinal data type.

306)

When ADestIndex contains zero or a positive value, bytes represent the ordinal data type are stored beginning at the postion indicated. Please note that any existing content in the buffer would be overwritten. Write calls the HostToNetwork method in the TIdStack ( 2156) descendant indicated in GStack ( 3126) to convert the bytes in AValue from their representation in host-specific byte order to network byte order. Write calls CopyTIdInt64 ( 2748) to copy the re-ordered byte values into the internal storage for the buffer. See Also Write Size (

306)

GrowthFactor ( Capacity (

305)

305)

TIdBuffer.Write Method (TIdBytes, Integer) Stores a specific number of byte values into the internal storage for the buffer at a given position. Pascal procedure Write( ABytes: TIdBytes; const ADestIndex: Integer = -1 ); overload; Parameters Parameters

Description

ABytes

Byte values to store in the buffer.

ADestIndex

Initial position in the buffer where byte values are stored. Default value is -1.

Description Write is a procedure used to implement storing a specific number of byte values into the internal storage for the buffer. ABytes is the TIdBytes (

3007) data type containing the Byte values to store in the buffer.

ADestIndex indicates the initial position in the buffer where byte values are stored. The default value is -1, and indicates that unused storage space at the beginning of the buffer should be reclaimed prior to writing bytes from ABytes into the buffer. The allocated size of the buffer is not affected unless the Capacity ( 305) and the Size ( 306) are not large enough for the additional number of bytes indicated in ALength. Bytes values in ABytes are appended to any existing content in the buffer. When ADestIndex contains zero or a positive value, existing byte values in the internal storage for the buffer are ignored. Values in ABytes are written to the position indicated in ADestIndex. Please note that the existing buffer content could be overwritten. The value in Size ( 306) is adjusted to reflect the new length of the internal storage for the buffer. Write calls the WriteLen (

302) method using the values in ABytes to update the contents of the internal storage for the buffer.

Use one of the overloaded Write methods to write a specific data type to the internal storage for the buffer. Use one of the Extract (

286) methods to read a specific data type from the internal storage for the buffer:

Method Extract (

Storage Data Type 286)

ExtractToByte ( ExtractToBytes (

String 287) 287)

ExtractToCardinal ( ExtractToIPv6 (

288)

291)

ExtractToIdBuffer (

289)

Internet Direct (Indy) Version 10.1.5

Byte TIdBytes (

3007)

Cardinal TIdIPv6Address ( TIdBuffer (

3040)

279) 299

TIdBuffer Class

Classes

ExtractToInt64 (

290)

ExtractToStream ( ExtractToWord (

Int64

292)

TIdStream (

293)

3087)

Word

See Also Write Size (

306)

GrowthFactor ( Capacity (

305)

305)

TIdBuffer.Write Method (TIdIPv6Address, Integer) Adds data to the internal storage for the Indy buffer. Pascal procedure Write( const AValue: TIdIPv6Address; const ADestIndex: Integer = -1 ); overload; Parameters Parameters

Description

AValue

Value to store in the buffer.

ADestIndex

Initial postion in the buffer where the value is stored. Default value is -1.

Description Write is an overloaded procedure used to add byte values representing the data type in AValue to the internal storage for the buffer. AValue is the data type with byte values to store in the buffer. ADestIndex marks the initial postion in the buffer where bytes representing the value are stored. The default value is -1, and indicates that bytes should be appended to any existing content in the internal storage for the buffer. The value in the Size ( 306) property is increased by the number of bytes required for the IPv6 address data type. When ADestIndex contains zero or a positive value, bytes represent the ordinal data type are stored beginning at the postion indicated. Please note that any existing content in the buffer would be overwritten. Write calls the HostToNetwork method in the TIdStack ( 2156) descendant indicated in GStack ( 3126) to convert the bytes in AValue from their representation in host-specific byte order to network byte order. Write calls CopyTIdIPV6Address ( 2749) to copy the re-ordered byte values into the internal storage for the buffer. See Also Write Size (

306)

GrowthFactor ( Capacity (

305)

305)

TIdBuffer.Write Method (TIdStream, Integer) Adds data to the internal storage for the Indy buffer. Pascal procedure Write( AStream: TIdStream; AByteCount: Integer = 0 ); overload;

300

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

Parameters Parameters

Description

AStream

Source of values to be stored in the buffer.

AByteCount

Number of bytes from the source to be added to the Indy buffer. Default value is 0.

Description Write is an overloaded procedure used to append the specified values to the end of any existing data in the internal storage for the Indy buffer. AStream is the TIdStream (

3087) containing values to be added to the buffer.

AByteCount indicates the number of bytes from AStream to be added to the Indy buffer. When AByteCount contains -1, any data in AStream from the current stream position to the end of the stream will be added to the buffer. When AByteCount contains 0 (zero), all data in AStream will be added to the buffer. AStream is repositioned to its beginning prior to reading values in the stream. When AByteCount contains a positive non-zero value, byte values are copied from the stream using its current position. The number of bytes is adjusted so that it does not exceed the remaining number of bytes in AStream. Write checks the size of the internal storage for the buffer to ensure that writing the requested number of Bytes will not result in an internal storage area too large for the host platform or operating system. Write calls protected methods in the class to remove ( 296) dead space at the beginning of the internal storage for the buffer, and reallocate the storage area to include the unused buffer induicated in GrowthFactor ( 305). Write uses the TIdStream.ReadBytes method to add the indicated number of bytes in AByteCount to the internal storage for the buffer. Size ( 306) is updated to the reflect the number of bytes added to the buffer from AStream. Exceptions Exceptions

Description

EIdTooMuchDataInBuffer (

177)

With RSTooMuchDataInBuffer when the requested number of bytes will result in an internal storage area too large for the host platform or operating system.

See Also Write Size (

306)

GrowthFactor (

305)

TIdStream.ReadBytes

TIdBuffer.Write Method (Word, Integer) Adds data to the internal storage for the Indy buffer. Pascal procedure Write( const AValue: Word; const ADestIndex: Integer = -1 ); overload; Parameters Parameters

Description

AValue

Value to store in the buffer.

ADestIndex

Initial postion in the buffer where the value is stored. Default value is -1.

Description Write is an overloaded procedure used to add byte values representing the ordinal data type in AValue to the internal storage for the buffer. AValue is the ordinal data type with byte values to store in the buffer. Internet Direct (Indy) Version 10.1.5

301

TIdBuffer Class

Classes

ADestIndex marks the initial postion in the buffer where bytes representing the value are stored. The default value is -1, and indicates that bytes should be appended to any existing content in the internal storage for the buffer. The value in the Size ( 306) property is increased by the number of bytes required for the ordinal data type. When ADestIndex contains zero or a positive value, bytes represent the ordinal data type are stored beginning at the postion indicated. Please note that any existing content in the buffer would be overwritten. Write calls the HostToNetwork method in the TIdStack ( 2156) descendant indicated in GStack ( 3126) to convert the bytes in AValue from their representation in host-specific byte order to network byte order. Write calls CopyTIdWord ( 2753) to copy the re-ordered byte values into the internal storage for the buffer. See Also Write Size (

306)

GrowthFactor ( Capacity (

305)

305)

TIdBuffer.Write Method (string, TIdEncoding, Integer) Adds data to the internal storage for the Indy buffer. Pascal procedure Write( const AString: string; AEncoding: TIdEncoding = enDefault; const ADestIndex: Integer = -1 ); overload; Parameters Parameters

Description

AString

Values to be added to the Indy buffer.

AEncoding

Optional encoding for values written to the buffer. Default value is enDefault.

ADestIndex

Position to begin storing values in the buffer. Default value is -1.

Description Write is an overloaded procedure used to include the values specified in AString in any existing data in the internal storage for the Indy buffer. AEncoding indicates the encoding to use when writing the byte values in AString to the position specified. ADestIndex indicates the starting position where encoded bytes values will be stored in the buffer. The default value (-1) indicates encoded byte values are appended to the end of existing data in the buffer. Write checks the size of the internal storage for the buffer to ensure that writing the requested number of Bytes will not result in an internal storage area too large for the host platform or operating system. Exceptions Exceptions

Description

EIdTooMuchDataInBuffer (

177)

With RSTooMuchDataInBuffer when the requested number of bytes will result in an internal storage area too large for the host platform or operating system.

See Also Write ToBytes (

2919)

TIdEncoding (

2949)

TIdBuffer.WriteLen Method Stores a specific number of byte values into the internal storage for the buffer at a given position. 302

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

Pascal procedure WriteLen( ABytes: TIdBytes; const ALength: Integer; const ADestIndex: Integer = -1 ); Parameters Parameters

Description

ABytes

Byte values to store in the buffer.

ALength

Number of bytes to store in the buffer.

ADestIndex

Initial position in the buffer where byte values are stored. Default value is -1.

Description WriteLen is a procedure used to implement storing a specific number of byte values into the internal storage for the buffer. ABytes is the TIdBytes (

3007) data type containing the Byte values to store in the buffer.

ALength indicates the number of bytes to store in the buffer. ADestIndex indicates the initial position in the buffer where byte values are stored. The default value is -1, and indicates that unused storage space at the beginning of the buffer should be reclaimed prior to writing bytes from ABytes into the buffer. The allocated size of the buffer is not affected unless the Capacity ( 305) and the Size ( 306) are not large enough for the additional number of bytes indicated in ALength. Bytes values in ABytes are appended to any existing content in the buffer. When ADestIndex contains zero or a positive value, existing byte values in the internal storage for the buffer are ignored. Values in ABytes are written to the position indicated in ADestIndex. Please note that the existing buffer content could be overwritten. The value in Size ( 306) is adjusted to reflect the new length of the internal storage for the buffer. WriteLen calls the CopyTIdBytes ( buffer. Use one of the overloaded Write ( Use one of the Extract (

2746) routine using the values in ABytes to update the contents of the internal storage for the 297) methods to write (

286) methods to read a specific data type from the internal storage for the buffer:

Method Extract (

297) a specific data type to the internal storage for the buffer.

Storage Data Type 286)

ExtractToByte (

String 287)

ExtractToBytes (

287)

ExtractToCardinal ( ExtractToIPv6 (

Byte TIdBytes (

288)

Cardinal

291)

ExtractToIdBuffer ( ExtractToInt64 ( ExtractToStream ( ExtractToWord (

3007)

TIdIPv6Address (

289)

TIdBuffer (

290)

3040)

279)

Int64

292)

TIdStream (

293)

3087)

Word

TIdBuffer Properties The Properties of the TIdBuffer class are listed here. Properties Property AsString (

Description 304)

Provides access to byte values stored in the buffer as a String data type.

Capacity (

305)

Indicates the maximum number of bytes allowed for the internal storage of the buffer.

Encoding (

305)

Default encoding used when writing values to the buffer.

Internet Direct (Indy) Version 10.1.5

303

TIdBuffer Class

Classes

GrowthFactor ( Size (

305)

Indicates the threshold for reallocating storage for the buffer.

306)

Indicates the number of Bytes in the Indy buffer.

Legend Property read only

TIdBuffer.AsString Property Provides access to byte values stored in the buffer as a String data type. Pascal property AsString: string; Description AsString read-only string property that provides access to byte values stored in the buffer. AsString calls BytesToString ( 2728) using the internal TIdBytes ( 3007) storage for the buffer and the value in Size ( convert the buffer to a string data type. Unlike the various Extract ( 286) methods, AsString does not call Remove ( physically the byte values from its' internal storage.

306) to 296) to

AsString is useful for testing purposes, or to simple verify the contents of a buffer at any point. Use PeekByte ( Use IndexOf (

295) to access to specific byte value in the buffer using its' zero-based index position. 294) to determine the position in the buffer where a specific sequence of byte values can be found.

Use one of the Extract (

Extract (

286) routines to read and remove (

296) byte values from the buffer, including:

286)

ExtractToStream (

292)

ExtractToIdBuffer (

289)

ExtractToBytes ( ExtractToByte (

287) 287)

ExtractToWord (

293)

ExtractToCardinal (

288)

ExtractToInt64 (

290)

ExtractToIPv6 (

291)

See Also PeekByte (

295)

BytesToString ( Extract (

2728)

286)

ExtractToStream (

292)

ExtractToIdBuffer (

289)

ExtractToBytes ( ExtractToByte ( ExtractToWord (

287) 287) 293)

ExtractToCardinal (

288)

ExtractToInt64 (

290)

ExtractToIPv6 (

291)

304

Internet Direct (Indy) Version 10.1.5

Classes

TIdBuffer Class

TIdBuffer.Capacity Property Indicates the maximum number of bytes allowed for the internal storage of the buffer. Pascal property Capacity: Integer; Description Capacity is an Integer property used to indicate the number of bytes allowed when allocating bytes to the internal storage for the buffer. Capacity indicates the maximum byte count permitted (but not necessarily in use) for the internal storage area. Reading the value in Capacity returns the number of bytes currently allocated to the internal storage for the buffer. Changing the value in Capacity causes dead space already removed from the head of the buffer using Extract ( compacted, and to optionally add the number of bytes in GrowthFactor ( 305) to the tail of the internal storage area. Use Size ( 306) to determine the number of bytes currently in use in the internal storage area following Write ( 286), or Remove ( 296) method calls.

286) to be

297), Extract (

Exceptions Exceptions

Description

EIdException (

76)

Raised when changing Capacity to a value smaller than Size (

306).

See Also TIdBuffer.Size ( Write (

306)

297)

Extract (

286)

Remove (

296)

TIdBuffer.Encoding Property Default encoding used when writing values to the buffer. Pascal property Encoding: TIdEncoding; Description Encoding is a TIdEncoding ( 2949) property identifies the default encoding used when writing values stored in the buffer. The default value for Encoding is enANSI, as assigned in the constructor for the buffer instance. The value assigned to Encoding is used in an overloaded version of the Write ( 297) method that accepts an optional encoding value. When the value is omitted (or contains enDefault), the value in the Encoding property is used encode the bytes written to the buffer instance. See Also TIdEncoding ( Create ( Write (

2949)

284) 297)

TIdBuffer.GrowthFactor Property Indicates the threshold for reallocating storage for the buffer. Pascal property GrowthFactor: Integer;

Internet Direct (Indy) Version 10.1.5

305

TIdCardAddressItem Class

Classes

Description GrowthFactor is an Integer property that indicates the threshold to use when reallocating internal storage for the buffer. GrowthFactor is used in Remove ( 296) to determine when unused byte values at the head of the buffer have exceeded the desired threshold, and forces unused space to compacted. GrowthFactor is used in Write ( 297) to indicate the number of unused bytes to allow at the tail of the buffer following removal of unused bytes at the head of the buffer. Use Capacity (

305) to indicate the maximum number of bytes allowed for the internal storage of the buffer.

See Also TIdBuffer.Capacity ( TIdBuffer.Size (

305)

306)

TIdBuffer.Remove ( TIdBuffer.Write (

296)

297)

TIdBuffer.Size Property Indicates the number of Bytes in the Indy buffer. Pascal property Size: Integer; Description Size is a read-only Integer property that indicates the number of Bytes found in the internal storage for the Indy buffer. Use Remove ( Use Clear (

296) to discard some of the data in the internal storage for the Indy buffer.

283) to discard all of the data in the internal storage for the Indy buffer.

See Also TIdBuffer.Bytes TIdBuffer.Clear (

283)

TIdBuffer.Remove (

296)

TIdCardAddressItem Class Encapsulates a VCard address. File IdVCard (

4754)

Hierarchy

Pascal TIdCardAddressItem = class(TIdCollectionItem); Description The TIdCardAddressItem is a TCollectionItem descendant that encapsulates a VCard address in the TIdVCard ( component.

2571)

See Also TIdVCard.Addresses ( 306

2574) Internet Direct (Indy) Version 10.1.5

Classes

TIdCardAddressItem Class

TIdCardAddressItem Members The following tables list the members exposed by TIdCardAddressItem. Properties Property

Description

AddressAttributes (

308)

Represents type information for a VCard address item.

ExtendedAddress (

309)

Represents additional VCard address information.

Locality (

309)

Nation (

309)

POBox (

309)

PostalCode ( Region (

Represents a VCard locality. Represents the country or nation for a VCard adress item. Represents a Post Office Box for a VCard address.

310)

Represents a VCard postal code for the locality.

310)

StreetAddress (

Represents a VCard state, province, or county. 310)

Represents a VCard street address.

Methods Method Assign (

Description 307)

Copy the property values of an object.

Legend Method virtual Property

TIdCardAddressItem Methods The Methods of the TIdCardAddressItem class are listed here. Methods Method Assign (

Description 307)

Copy the property values of an object.

Legend Method virtual

TIdCardAddressItem.Assign Method Copy the property values of an object. Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Object containing values to be copied.

Description Assign is an overridden procedure used to copy the properties of the persistent object in Source to the current object instance. When the current object and the object in Source are the same ClassType, Assign will copy the following property values:

Addr AddressAttributes (

308)

Internet Direct (Indy) Version 10.1.5

307

TIdCardAddressItem Class

POBox (

309)

ExtendedAddress ( StreetAddress ( Locality (

309)

Region (

310)

PostalCode ( Nation (

Classes

309)

310)

310)

309)

When the current object and Source do not sahre the same ClassType, Assign calls the inherited Assign method.

TIdCardAddressItem Properties The Properties of the TIdCardAddressItem class are listed here. Properties Property

Description

AddressAttributes (

308)

Represents type information for a VCard address item.

ExtendedAddress (

309)

Represents additional VCard address information.

Locality (

309)

Nation (

309)

POBox (

309)

PostalCode ( Region (

Represents a VCard locality. Represents the country or nation for a VCard adress item. Represents a Post Office Box for a VCard address.

310)

310)

StreetAddress (

Represents a VCard postal code for the locality. Represents a VCard state, province, or county.

310)

Represents a VCard street address.

Legend Property

TIdCardAddressItem.AddressAttributes Property Represents type information for a VCard address item. Pascal property AddressAttributes: TIdCardAddressAttributes; Description AddressAttributes is a TIdCardAddressAttributes (

3007) property that represents type information for a VCard address item.

AddressAttributes can include the following values and meanings:

Value

Meaning

tatHome

home delivery address

tatDomestic

a domestic address

tatInternational

an international address

tatPostal

a postal delivery address

tatParcel

a parcel delivery address

tatWork

a work delivery address

tatPreferred

preferred address

308

Internet Direct (Indy) Version 10.1.5

Classes

TIdCardAddressItem Class

TIdCardAddressItem.ExtendedAddress Property Represents additional VCard address information. Pascal property ExtendedAddress: String; Description ExtendedAddress is a String property that represents additional VCard address information. ExtendedAddress can contain information such as an Office identifier for a building or an apartment number. See Also TIdCardAddressItem.StreetAddress ( TIdCardAddressItem.Locality (

310)

309)

TIdCardAddressItem.PostalCode ( TIdCardAddressItem.POBox (

310)

309)

TIdCardAddressItem.Locality Property Represents a VCard locality. Pascal property Locality: String; Description Locality is a String property that represents a city or town (e.g. Chicago, New York City, Montreal) in a VCard address. See Also TIdCardAddressItem.StreetAddress ( TIdCardAddressItem.POBox (

310)

309)

TIdCardAddressItem.PostalCode (

310)

TIdCardAddressItem.ExtendedAddress (

309)

TIdCardAddressItem.Nation Property Represents the country or nation for a VCard adress item. Pascal property Nation: String; Description Nation is a String property that represents the country or nation for a VCard adress item, and can contain data such as Canada, U.S.A., Mexico, Russia, etc. See Also TIdCardAddressItem.Locality (

309)

TIdCardAddressItem.Region (

310)

TIdCardAddressItem.PostalCode (

310)

TIdCardAddressItem.POBox Property Represents a Post Office Box for a VCard address.

Internet Direct (Indy) Version 10.1.5

309

TIdCardAddressItem Class

Classes

Pascal property POBox: String; Description POBox is a String property that represents a Post Office Box for a VCard address. See Also TIdCardAddressItem.StreetAddress (

310)

TIdCardAddressItem.Locality (

309)

TIdCardAddressItem.Region (

310)

TIdCardAddressItem.ExtendedAddress ( TIdCardAddressItem.PostalCode (

309)

310)

TIdCardAddressItem.PostalCode Property Represents a VCard postal code for the locality. Pascal property PostalCode: String; Description PostalCode is a String property that represents the postal code for the locality, such as a ZIP Code in the US. See Also TIdCardAddressItem.Locality (

309)

TIdCardAddressItem.Region (

310)

TIdCardAddressItem.Region Property Represents a VCard state, province, or county. Pascal property Region: String; Description Region is a String property that represents a VCard political subdivision of a nation, such as a Providence in Canada like "Quebec", a State in US like "West Virginia", or a county in England like "Kent". See Also TIdCardAddressItem.Locality (

309)

TIdCardAddressItem.PostalCode (

310)

TIdCardAddressItem.StreetAddress Property Represents a VCard street address. Pascal property StreetAddress: String; Description StreetAddress is a String property that represents a VCard street address such as "101 Sample Avenue". See Also TIdCardAddressItem.ExtendedAddress ( 310

309) Internet Direct (Indy) Version 10.1.5

Classes

TIdCardPhoneNumber Class

TIdCardAddressItem.Locality (

309)

TIdCardAddressItem.Region (

310)

TIdCardAddressItem.PostalCode (

310)

TIdCardPhoneNumber Class Encapsulates a VCard telphone number. File IdVCard (

4754)

Hierarchy

Pascal TIdCardPhoneNumber = class(TIdCollectionItem); Description TIdCardPhoneNumber is a TCollectionItem descendant that encapsulates a VCard telephone number in the TIdVCard ( component.

2571)

See Also TIdVCard (

2571)

TIdCardPhoneNumber Members The following tables list the members exposed by TIdCardPhoneNumber. Properties Property Number (

Description 312)

PhoneAttributes (

Respresents the contents for the VCard telephone number. 312)

Describes a VCard telephone number.

Methods Method Assign (

Description 312)

Copy the property values of an object.

Legend Method virtual Property

TIdCardPhoneNumber Methods The Methods of the TIdCardPhoneNumber class are listed here. Methods Method Assign (

Description 312)

Copy the property values of an object.

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

311

TIdCardPhoneNumber Class

Classes

TIdCardPhoneNumber.Assign Method Copy the property values of an object. Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Object containing values to be copied.

Description Assign is an overridden procedure used to copy the properties of the persistent object in Source to the current object instance. When the current object and the object in Source are the same ClassType, Assign will copy the following property values:

Phone PhoneAttributes ( Number (

312)

312)

When the current object and Source do not sahre the same ClassType, Assign calls the inherited Assign method.

TIdCardPhoneNumber Properties The Properties of the TIdCardPhoneNumber class are listed here. Properties Property Number (

Description 312)

PhoneAttributes (

Respresents the contents for the VCard telephone number. 312)

Describes a VCard telephone number.

Legend Property

TIdCardPhoneNumber.Number Property Respresents the contents for the VCard telephone number. Pascal property Number: String; Description Number is a String property that respresents the contents for the VCard telephone number.

TIdCardPhoneNumber.PhoneAttributes Property Describes a VCard telephone number. Pascal property PhoneAttributes: TIdPhoneAttributes; Description PhoneAttributes is a TIdPhoneAttributes ( values: 312

3073) property that describes a VCard telephone number, and can include the following

Internet Direct (Indy) Version 10.1.5

Classes

TIdChargenServer Class

Value

Meaning

tpaHome

home telephone number

tpaVoiceMessaging

voice messaging is available

tpaWork

work telephone number

tpaPreferred

preferred telephone number

tpaVoice

voice telephone number

tpaFax

facsimile telephone number

tpaCellular

cellular telephone number

tpaVideo

video-phone number

tpaBBS

Bulletin Board System

tpaModem

Modem telephone number

tpaCar

Car telephone

tpaISDN

ISDN telephone number

tpaPCS

personal communication services phone number

tpaPager

pager telephone number

TIdChameleonNewtFTPListItem Class File IdFTPListParseChameleonNewt (

4637)

Hierarchy

Pascal TIdChameleonNewtFTPListItem = class(TIdDOSBaseFTPListItem); Description TIdChameleonNewtFTPListItem is a TIdDOSBaseFTPListItem (

627) descendant.

See Also TIdDOSBaseFTPListItem (

627)

TIdChargenServer Class Implements a Character Generator server. File IdChargenServer (

4589)

Hierarchy

Pascal TIdChargenServer = class(TIdCustomTCPServer); Internet Direct (Indy) Version 10.1.5

313

TIdChargenServer Class

Classes

Description TIdChargenServer is a TIdTCPServer ( Internet Standards document:

2375) descendant that implements a TCP-based Chargen server, as defined in the

RFC 864 - Character Generator Protocol Chargen (or Character Generator Protocol) is used for stress-testing a connection. See Also TIdChargenUDPServer ( IndySupport (

315)

15)

TIdChargenServer Members The following tables list the members exposed by TIdChargenServer. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

315)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Default port number for the server.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

MaxConnections ( OnAfterBind (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

Indicates the maximum numer of client connections allowed for the server.

466)

ReuseSocket ( Scheduler (

Represents the IOHandler used by listener threads for the server.

465)

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

269)

WorkTarget (

Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

469)

OnDisconnect ( OnException (

314

Event handler signalled prior to executing a listener thread. Event handler signalled when disconnecting the client connection.

470)

359)

Event handler signalled proper to establishing a client connection to the server. Event handler signalled for establishing new client connections.

469)

OnListenException ( OnStatus (

468)

Event handler for exceptions raised in a peer thread. 470)

Event handler for an exception in a listener thread. Represents the current connection status event handler.

Internet Direct (Indy) Version 10.1.5

Classes

TIdChargenUDPServer Class

Legend Property read only Method virtual Event

TIdChargenServer Properties The Properties of the TIdChargenServer class are listed here. Properties Property DefaultPort (

Description 315)

Default port number for the server.

Legend Property

TIdChargenServer.DefaultPort Property Default port number for the server. Pascal property DefaultPort: TIdPort; Description DefaultPort is a published property in TIdChargenServer ( described in the Character Generator Protocol specification. The default value for DefaultPort is IdPORT_CHARGEN (

313) that contains the default port number used by the server, as

3920), as assigned during initialization of the component.

See Also IdPORT_CHARGEN (

3920)

TIdChargenUDPServer Class Implements a Character Generator server. File IdChargenUDPServer (

4589)

Hierarchy

Pascal TIdChargenUDPServer = class(TIdUDPServer); Description TIdChargenUDPServer is a TIdUDPServer ( Internet Standards document:

2530) descendant that implements a UDP-based Chargen server, as defined in the

RFC 864 - Character Generator Protocol Chargen (or Character Generator Protocol) is used for stress-testing a connection.

Internet Direct (Indy) Version 10.1.5

315

TIdChargenUDPServer Class

Classes

See Also TIdChargenServer ( IndySupport (

313)

15)

TIdChargenUDPServer Members The following tables list the members exposed by TIdChargenUDPServer. Properties Property

Description

Active (

2507)

Binding ( Bindings (

Indicates that the socket binding has been allocated for the UDP client.

2508)

Socket handle for the read or write transaction.

2532)

Socket handles allocated by the server.

BroadcastEnabled ( BufferSize (

2508)

2508)

DefaultPort (

Default port number for the server.

2509)

ReceiveTimeout ( Version (

Identifies the IP address family supported for the UDP protocol client. 2509)

ThreadedEvent (

2533)

269)

WorkTarget (

2500) transmissions.

Specifies the largest UDP packet size.

317)

IPVersion (

Indicates that the socket binding can perform broadcast (

Indicates the timeout while waiting for a readable socket handle. Indicates the method used to perform the UDP read events. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Broadcast ( Create (

356)

2500)

Triggers the OnBeginWork event. Send (

267)

2505) data to all computers on the network.

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

2501)

Frees the object instance.

Destroy (

2532)

Destructor for the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( Send ( CType (

Triggers the OnEndWork event handler.

269)

Version (

2505)

269) number for Indy component suite.

Transmits a datagram to a specified host and port number.

267)

Create (

1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

Events Event OnStatus (

Description 359)

OnUDPException ( OnUDPRead (

Represents the current connection status event handler. 2534)

2534)

Event handler for exceptions raised in the listener thread for the UDP server. Event handler for UDP read events.

Legend Property read only Method virtual Event

TIdChargenUDPServer Properties The Properties of the TIdChargenUDPServer class are listed here. 316

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPClient Class

Properties Property DefaultPort (

Description 317)

Default port number for the server.

Legend Property

TIdChargenUDPServer.DefaultPort Property Default port number for the server. Pascal property DefaultPort: integer; Description DefaultPort is a published property in TIdChargenServer ( described in the Character Generator Protocol specification. The default value for DefaultPort is IdPORT_CHARGEN (

313) that contains the default port number used by the server, as

3920), as assigned during initialization of the component.

See Also IdPORT_CHARGEN (

3920)

TIdCiscoIOSFTPListItem Class File IdFTPListParseCiscoIOS (

4637)

Hierarchy

Pascal TIdCiscoIOSFTPListItem = class(TIdMinimalFTPListItem); Description TIdCiscoIOSFTPListItem is a TIdMinimalFTPListItem (

1642) descendant.

See Also TIdMinimalFTPListItem (

1642)

TIdCmdTCPClient Class Implements a TCP-based client using command handlers. File IdCmdTCPClient (

4590)

Hierarchy

Pascal TIdCmdTCPClient = class(TIdTCPClient);

Internet Direct (Indy) Version 10.1.5

317

TIdCmdTCPClient Class

Classes

Description TIdCmdTCPClient is a TIdTCPClient ( 2333) descendant that implements a TCP-based client using command handlers. Command handlers allow the client to respond to data received from the peer connection by performing specific processing or sending responses based on values in the data. TIdCmdTCPClient also implements event handler properties to allow the client to perform operations both prior to and following execution of a command handler. TIdCmdTCPClient uses a listening thread as specified in TIdCmdTCPClientListeningThread ( 323) to read data from the peer connection and to execute the command handlers in the client. TIdCmdTCPClient overrides method from the ancestor class to create ( 267) and destroy ( 320) the listening thread when the connection for the client is opened or closed. See Also TIdTCPClient (

2333)

TIdCommandHandlers (

350)

TIdCmdTCPClientListeningThread (

323)

TIdCmdTCPClient Members The following tables list the members exposed by TIdCmdTCPClient. Properties Property

Description

BoundIP (

2335)

Specifies the the local IP address to be used for the Socket (

2369) connection.

BoundIP (

2345)

Specifies the the local IP address to be used for the Socket (

2369) connection.

BoundPort (

2336)

Specifies the the port number to be used for the Socket (

2369) connection.

BoundPort (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

CommandHandlers ( ConnectTimeout ( ConnectTimeout ( ExceptionReply ( Greeting ( Host (

321)

341) instances implemented in the client.

Millseconds to wait for successful completion of a connection attempt.

2347)

Millseconds to wait for successful completion of a connection attempt.

321)

2364)

Default exception message for the command handler-enabled client. Banner or welcome message for a connection to a protocol server.

2337)

IP address or host name for the remote network connection.

IOHandler (

2364)

IPVersion (

2337)

The input / output mechanism for the connection. Indicates the IP version used for addresses in the client.

LastCmdResult (

2367)

ManagedIOHandler (

2367)

Response code and text for the last response from the peer connection. Indicates tyhe IOHandler (

2364) for the connection is maintained by the object instance.

OnAfterBind (

2338)

Event handler signalled after the socket handle is bound for the connection.

OnAfterBind (

2347)

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2338)

Event handler signalled proper to binding the socket handle for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

OnWorkEnd ( Port (

2367)

2368)

OnWorkBegin (

Event handler signalled when disconnecting the peer connection. Event handler signalled for read and / or write operations.

2368) 2369)

2339)

Event handler signalled when beginning a read or write operation. Event handler signalled when completing a read or write operation. Port number for the remote network connection.

ReadTimeout (

2339)

Millseconds to wait for successful completion of a read attempt.

ReadTimeout (

2349)

Millseconds to wait for successful completion of a read attempt.

Socket (

2369)

Version (

269)

WorkTarget (

318

Collection for TIdCommandHandler (

2336)

359)

Provides access to the TIdIOHandlerSocket (

1331) for the connection.

Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPClient Class

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( Connect (

319)

Connected (

2344)

Indicates if the peer connection has been opened. Constructor for the object instance.

CreateIOHandler (

2353)

Creates the IOHandler (

320)

Disconnect ( DoWork (

320)

Closes the connection to the peer. 2356)

Disconnects the peer connection.

357)

EndWork (

Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

GetInternalResponse ( GetVersion (

2364) for the connection.

Frees the object instance.

DisconnectNotifyPeer (

CType (

Opens a connection and reads all data.

2353)

267)

Destroy (

Determines if the peer has been gracefully disconnected. Opens the peer connection and starts the listening thread for the client.

ConnectAndGetAll ( Create (

2351)

2356)

Reads response detail lines from a peer connection.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnAfterCommandHandler ( OnBeforeCommandHandler ( OnStatus (

322) 322)

359)

Event handler triggered following execution of a TIdCommand ( Event handler triggered before execution of a TIdCommand (

335) in the command handler-enabled client. 335) in the command handler-enabled client.

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCmdTCPClient Methods The Methods of the TIdCmdTCPClient class are listed here. Methods Method

Description

Connect (

319)

Opens the peer connection and starts the listening thread for the client.

Destroy (

320)

Frees the object instance.

Disconnect (

320)

Closes the connection to the peer.

Legend Method virtual

TIdCmdTCPClient.Connect Method Opens the peer connection and starts the listening thread for the client.

Internet Direct (Indy) Version 10.1.5

319

TIdCmdTCPClient Class

Classes

Pascal procedure Connect; override; Description Connect is an overridden procedure in TIdCmdTCPClient ( 317) used to establish the connection for the command handler-enabled client. Connect calls the inherited Connect method and triggers the OnConnect event handler when it has been assigned in the client. Connect creates the TIdCmdTCPClientListeningThread ( command handler-enabled client. Use Disconnect (

323) member variable that represents the listening thread for the

320) to terminate the listening thread and to close the peer connection for the client.

See Also TIdCmdTCPClient.OnConnect TIdCmdTCPClient.Disconnect (

320)

TIdCmdTCPClientListeningThread (

323)

TIdCmdTCPClient.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy frees resources allocated to the ExceptionReply ( was initialized.

321) and CommandHandlers (

321) properties when the component

Destroy calls the inherited destructor prior to exiting from the method. See Also TIdCmdTCPClient.ExceptionReply (

321)

TIdCmdTCPClient.CommandHandlers (

321)

TIdCmdTCPClient.Disconnect Method Closes the connection to the peer. Pascal procedure Disconnect( ANotifyPeer: Boolean ); override; Parameters Parameters

Description

ANotifyPeer

Indicates the peer is immediately notified when the connection is closed.

Description Disconnect is an overridden procedure used to close the peer connection for the command handler-enabled client. Disconnect terminates the listening thread in the client when it has been assigned. Disconnect calls the inherited Disconnect method using ANotifyPeer to indicate if the peer is notified of the new connection state. The inherited method also triggers procedures assigned to the OnStatus ( 359) and OnDisconnected ( 2367) event handlers, and closes an assigned IOHandler ( 2364) for the client. Disconnect waits for an assigned listening thread to complete after termination. The listening thread is freed after termination. 320

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPClient Class

See Also TIdTCPConnection.Disconnect (

2355)

TIdCmdTCPClient.OnDisconnect TIdCmdTCPClientListeningThread (

323)

TIdCmdTCPClient Properties The Properties of the TIdCmdTCPClient class are listed here. Properties Property

Description

CommandHandlers ( ExceptionReply (

321)

Collection for TIdCommandHandler (

321)

341) instances implemented in the client.

Default exception message for the command handler-enabled client.

Legend Property

TIdCmdTCPClient.CommandHandlers Property Collection for TIdCommandHandler (

341) instances implemented in the client.

Pascal property CommandHandlers: TIdCommandHandlers; Description CommandHandlers is a TIdCommandHandlers ( 350) property used to maintain a collection of TIdCommandHandler ( 341) instances implemented in the client. CommandHandlers implements the HandleCommand method that allows execution of recognized commands using data received in TIdCmdTCPClientListeningThread ( 323) for the client. CommandHandlers is created when the TIdCmdTCPClient ( 317) is initialized, but applications must add TIdCommandHandler ( 341) instances to the CommandHandlers collection. The CommandHandlersEnabled property must also be set to True to allow use of the command handlers during execution of the listening thread. Assign procedures to OnBeforeCommandHandler ( 322) and OnAfterCommandHandler ( to perform operations before or after command handler execution. CommandHandlers is freed when the TIdCmdTCPClient (

322) event handlers to allow the client

317) destructor is called.

See Also TIdCommandHandlers (

350)

TIdCommandHandler (

341)

TIdCmdTCPClientListeningThread (

323)

TIdCmdTCPClient.CommandHandlersEnabled TIdCmdTCPClient.OnBeforeCommandHandler ( TIdCmdTCPClient.OnAfterCommandHandler (

322) 322)

TIdCmdTCPClient.ExceptionReply Property Default exception message for the command handler-enabled client. Pascal property ExceptionReply: TIdReply;

Internet Direct (Indy) Version 10.1.5

321

TIdCmdTCPClient Class

Classes

Description ExceptionReply is a TIdReply ( client.

1836) property that represents the default exception message for the command handler-enabled

ExceptionReply is assigned when the component is initialized, and used when creating the default exception reply for the CommandHandlers ( 321) in the client. The default message using the following numeric value and text: 500 - Unknown Internal Error ExceptionReply is freed when the Destroy (

320) destructor is called.

See Also TIdReply (

1836)

TIdCmdTCPClient.CommandHandlers (

321)

TIdCmdTCPClient Events The Events of the TIdCmdTCPClient class are listed here. Events Event

Description

OnAfterCommandHandler ( OnBeforeCommandHandler (

322) 322)

Event handler triggered following execution of a TIdCommand ( Event handler triggered before execution of a TIdCommand (

335) in the command handler-enabled client. 335) in the command handler-enabled client.

Legend Event

TIdCmdTCPClient.OnAfterCommandHandler Event Event handler triggered following execution of a TIdCommand (

335) in the command handler-enabled client.

Pascal property OnAfterCommandHandler: TIdCmdTCPClientAfterCommandHandlerEvent; Description OnAfterCommandHandler is a TIdCmdTCPClientAfterCommandHandlerEvent ( 3008) event handler property used to respond to the notification following execution of a TIdCommand ( 335) instance the CommandHandlers ( 321) collection. Procedures assigned to the OnBeforeCommandHandler ( 322) and OnAfterCommandHandler event handlers are in turn executed using the corresponding methods in the CommandHandlers ( 321) collection. Arguments provided to the event handler identify the TIdCmdTCPClient ( notification.

317) client and the TIdContext (

376) for the event

See Also TIdCmdTCPClientAfterCommandHandlerEvent ( TIdCmdTCPClient.CommandHandlers (

321)

TIdCmdTCPClient.OnBeforeCommandHandler ( TIdContext (

3008)

322)

376)

TIdCmdTCPClient.OnBeforeCommandHandler Event Event handler triggered before execution of a TIdCommand (

335) in the command handler-enabled client.

Pascal property OnBeforeCommandHandler: TIdCmdTCPClientBeforeCommandHandlerEvent;

322

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPClientListeningThread Class

Description OnBeforeCommandHandler is a TIdCmdTCPClientBeforeCommandHandlerEvent ( 3009) event handler property used to respond to the notification ocurring prior to execution of a TIdCommand ( 335) instance the CommandHandlers ( 321) collection. Procedures assigned to the OnBeforeCommandHandler and OnAfterCommandHandler ( using the corresponding methods in the CommandHandlers ( 321) collection.

322) event handlers are in turn executed

Arguments provided to the event handler identify the TIdCmdTCPClient ( 317) client, the TIdContext ( notification, and the data read from the peer connection and passed to the event handler.

376) for the event

See Also TIdCmdTCPClientBeforeCommandHandlerEvent ( TIdCmdTCPClient.CommandHandlers (

321)

TIdCmdTCPClient.OnAfterCommandHandler ( TIdContext (

3009)

322)

376)

TIdCmdTCPClientListeningThread Class Implements a listening thread for TIdCmdTCPClient (

317).

File IdCmdTCPClient (

4590)

Hierarchy

Pascal TIdCmdTCPClientListeningThread = class(TIdThread); Description TIdCmdTCPClientListeningThread is a TIdThread ( 317).

2415) descendant that implements a listening thread for TIdCmdTCPClient (

TIdCmdTCPClientListeningThread provides properties to access both the client for the listening thread and data read from the peer connection for use in command handler in the client. TIdCmdTCPClientListeningThread includes an overridden Run method (protected) to read data from the peer connection, and to dispatch the received data to command handlers in the TIdCmdTCPClient ( 317) client. TIdCmdTCPClientListeningThread is the type used to implement the listening thread member variable in TIdCmdTCPClient ( 317). TIdCmdTCPClient ( 317) creates the listening thread when the Connect method is called. See Also TIdThread (

2415)

TIdCmdTCPClient (

317)

TIdCmdTCPClient.Connect (

319)

TIdCmdTCPClientAfterCommandHandlerEvent ( TIdCmdTCPClientBeforeCommandHandlerEvent (

3008) 3009)

TIdCmdTCPClientListeningThread Members The following tables list the members exposed by TIdCmdTCPClientListeningThread. Internet Direct (Indy) Version 10.1.5

323

TIdCmdTCPClientListeningThread Class

Classes

Properties Property

Description

Client (

325)

Command handler-enabled client for the listening thread.

Data (

2422)

Storage slot for data used by a thread.

Loop (

2422)

Indicates if the thread is Run continuously until Stopped (

Name (

2422)

RecvData (

326)

ReturnValue ( StopMode (

Data (

2423) 2423)

Terminated (

2424)

TerminatingException (

2422) read from the peer connection passed to command handlers in the TIdCmdTCPClient (

317).

Return value from execution of the thread.

2423)

Stopped (

Determines the action taken when the Stop (

2420) method is called.

Indicates when a thread is terminated or suspended. Indicates if the thread has been halted by calling Terminate ( 2424)

TerminatingExceptionClass ( Yarn (

2423).

Name assigned to the thread during execution.

2424)

2425)

2421).

Contains the text of an Exception.Message raised within the Execute method. Represents the class type for an exception raised during Execute. Represents the thread or fiber for the scheduler of the thread.

Methods Method Create (

Description 324)

Destroy (

Constructor for the object instance.

325)

Frees the object instance.

Start (

2419)

Starts or resumes execution of a thread.

Stop (

2420)

Halts execution of the thread instance.

Synchronize (

2420)

Terminate (

2421)

TerminateAndWaitFor (

Executes a thread method synchronized to the main VCL thread. Forces the thread of execution to be halted. 2421)

Signals a thread to terminate (

2421) and waits for completion of the Execute method.

Events Event

Description

OnException (

2425)

OnStopped (

2426)

Handles exceptions raised in the thread of execution. Represents an event handler signalled when stopping a thread of execution.

Legend Constructor virtual Property read only Event

TIdCmdTCPClientListeningThread Methods The Methods of the TIdCmdTCPClientListeningThread class are listed here. Methods Method Create (

Description 324)

Destroy (

325)

Constructor for the object instance. Frees the object instance.

Legend Constructor virtual

TIdCmdTCPClientListeningThread.Create Constructor Constructor for the object instance. Pascal constructor Create( AClient: TIdCmdTCPClient ); reintroduce; 324

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPClientListeningThread Class

Parameters Parameters

Description

AClient

Client (

325) for the listening thread.

Description Create is the reintroduced constructor for the object instance. Create calls the Create constructor indicating that the thread is not created in a suspended state and uses an inner loop during thread execution. Create initializes the Context member variable for the listening thread, and assigns the value in AClient to the Client ( property.

325)

Create sets FreeOnTerminate to False prior to exiting from the method. See Also TIdThread.Create ( TIdThread.Loop (

2418) 2422)

TIdCmdTCPClientListeningThread.Client (

325)

TIdCmdTCPClientListeningThread.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy calls the inherited destructor, and frees the TIdContext (

376) member variable assigned to the listening thread.

The destructor for the listening thread is called when the TIdCmdTCPClient ( ( 2421) the listening thread.

317) client calls its Disconnect method to terminate

See Also TIdContext (

376)

TIdThread.Destroy (

2419)

TIdCmdTCPClient.Disconnect (

320)

TIdCmdTCPClientListeningThread Properties The Properties of the TIdCmdTCPClientListeningThread class are listed here. Properties Property Client ( RecvData (

Description 325) 326)

Command handler-enabled client for the listening thread. Data (

2422) read from the peer connection passed to command handlers in the TIdCmdTCPClient (

317).

Legend Property read only

TIdCmdTCPClientListeningThread.Client Property Command handler-enabled client for the listening thread.

Internet Direct (Indy) Version 10.1.5

325

TIdCmdTCPServer Class

Classes

Pascal property Client: TIdCmdTCPClient; Description Client is a read-only TIdCmdTCPClient ( thread.

317) property that represents the command handler-enabled client for the listening

Client is assigned the value passed as an argument to the Create ( TIdContext ( 376) passed to command handlers in the client.

324) constructor. Client is also used to create (

324) the

During execution of the listening thread (in the protected Run method), Client is used to access its assigned command handlers and to access properties and methods in the IOHandler. See Also TIdContext (

376)

TIdCmdTCPClient (

317)

TIdCmdTCPClient.CommandHandlers (

321)

TIdCmdTCPClient.IOHandler TIdCmdTCPClientListeningThread.Create (

324)

TIdCmdTCPClientListeningThread.RecvData Property Data (

2422) read from the peer connection passed to command handlers in the TIdCmdTCPClient (

317).

Pascal property RecvData: String; Description RecvData is a String property representing data read from the peer connection and passed to command handlers in the TIdCmdTCPClient ( 317). RecvData is updated during execution of the listening thread (in the protected Run method) using values read from the Client ( 325) on its IOHandler. The TIdContext ( 376) for the listening thread and RecvData are passed to the command handlers in the Client ( 325) for subsequent execution. See Also TIdContext (

376)

TIdCmdTCPClientListeningThread.Client ( TIdCmdTCPClient.CommandHandlers (

325)

321)

TIdCmdTCPClient.IOHandler

TIdCmdTCPServer Class Implements a multi-thread TCP/IP-based server with support for command handlers. File IdCmdTCPServer (

4591)

Hierarchy

326

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPServer Class

Pascal TIdCmdTCPServer = class(TIdTCPServer); Description TIdCmdTCPServer is a TIdTCPServer ( command handlers.

2375) descendant that implements a multi-thread TCP/IP-based server with support for

Command handlers provide an extensible mechanism for definition of the commands and their associated data as used in protocol exchanges for client connections to the server. Command handlers provide access to the properties and methods in the server and/or the client context that are affected in the processing required for the command. Use of command handlers is an optional feature enabled when CommandHandlersEnabled is set to True. Descendant classes must implement the InitializeCommandHandlers method that creates the default command handlers needed to support the command, processing, and responses required for a specific protocol. When CommandHandlersEnabled is set to False, the OnExecute ( execution of the task for a client connection.

2379) event handler in the server is used to implement

TIdCmdTCPServer implements properties containing responses used in the server, including:

• ExceptionReply ( • HelpReply ( • Greeting (

331)

332) 331)

• MaxConnectionReply (

332)

• ReplyUnknownCommand ( • ReplyTexts (

333)

333)

During initialization of the server component, the standard reply classes (TIdReplyRFC ( server are used to create ( 267) default response values in properties, including:

Property Greeting (

331)

MaxConnectionReply (

332)

ReplyUnknownCommand ( ExceptionReply ( HelpReply (

333)

331)

332)

1851), TIdRepliesRFC (

Code

Text

200

Welcome

300

Too many connections. Try again later.

400

Unknown Command

500

Unknown Internal Error

100

Help follows

1832)) for the

During activation of the server (when Active ( 458) is set to True), command handlers are created using the InitializeCommandHandlers method. InitializeCommandHandlers must be called only at runtime, after component streaming, and when the command handler collection has not been previously initialized. When HelpReply ( 332) is assigned, a command handler for the "Help" command is dynamically created for items in the command handler collection and added to the help response for the server. One or more listener threads are created using the definitions found in the Bindings ( 461) property for the server. Listener threads accept new connections to the server, and create ( 267) the executable tasks used in the Scheduler ( 466).

Internet Direct (Indy) Version 10.1.5

327

TIdCmdTCPServer Class

Classes

When CommandHandlersEnabled contains False, the OnExecute ( 2379) event handler is used control executiuon of the client context for each connection. When CommandHandlersEnabled contains True, the server reads the command and data from the client context and provides the values to the command handlers for the server. See Also Active (

458)

CommandHandlers (

330)

CommandHandlersEnabled Contexts (

462)

ExceptionReply ( Greeting (

331)

331)

HelpReply (

332)

MaxConnectionReply (

332)

OnAfterCommandHandler ( OnBeforeCommandHandler ( OnExecute (

2379)

ReplyTexts (

333)

Scheduler (

334) 335)

466)

TIdTCPServer ( TIdReplyRFC (

2375) 1851)

TIdCmdTCPServer Members The following tables list the members exposed by TIdCmdTCPServer. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

Container for socket handles allocated by the server.

CommandHandlers ( ContextClass (

461)

Command handlers used in the server implementation. Class reference used to create (

267) new executable tasks for client connections to the server.

Contexts (

462)

Executable tasks for client connections to the server.

DefaultPort (

462)

Identifies the default port number used to listen for new connections.

ExceptionReply (

328

330)

331)

Response code and text used for exceptions occurring in the server.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPServer Class

Greeting (

331)

HelpReply (

"Welcome" message sent to new connections accepted in listener thread(s).

332)

Response sent when the HELP command is issued for a client connection.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

Represents the IOHandler used by listener threads for the server.

465)

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

MaxConnectionReply ( MaxConnections (

332)

OnAfterBind (

466)

OnExecute (

2379)

ReplyTexts (

333)

Indicates the maximum numer of client connections allowed for the server. Event handler signalled after binding socket handles for listener threads. Event handler used to execute the task for a client connection. Represents protocol responses used in the server implementation.

ReplyUnknownCommand ( ReuseSocket ( Scheduler (

Response used when the maximum number of client connections is exceeded.

465)

333)

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

Specifies the time a server should wait while terminating executable tasks for client connections.

269)

WorkTarget (

Represents the response message used for an unkown command.

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

330)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnAfterCommandHandler (

334)

OnBeforeCommandHandler ( OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

468)

469)

OnDisconnect ( OnException (

Represents the event handler signalled after CommandHandler usgage. Represents the event handler signalled after CommandHandler usgage. Event handler signalled proper to establishing a client connection to the server. Event handler signalled prior to executing a listener thread. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnStatus (

335)

Event handler for exceptions raised in a peer thread. 470)

359)

Event handler for an exception in a listener thread. Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCmdTCPServer Methods The Methods of the TIdCmdTCPServer class are listed here. Methods Method Destroy (

Description 330)

Internet Direct (Indy) Version 10.1.5

Frees the object instance.

329

TIdCmdTCPServer Class

Classes

Legend Destructor virtual

TIdCmdTCPServer.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy calls the inherited destructor, and frees resources allocated to the following properties:

ReplyUnknownCommand ( ReplyTexts (

333)

MaxConnectionReply ( Greeting ( HelpReply (

333)

332)

331) 332)

ExceptionReply (

331)

CommandHandlers (

330)

TIdCmdTCPServer Properties The Properties of the TIdCmdTCPServer class are listed here. Properties Property

Description

CommandHandlers ( ExceptionReply ( Greeting ( HelpReply (

Command handlers used in the server implementation.

331)

Response code and text used for exceptions occurring in the server.

331)

"Welcome" message sent to new connections accepted in listener thread(s).

332)

MaxConnectionReply ( ReplyTexts (

330)

Response sent when the HELP command is issued for a client connection. 332)

333)

ReplyUnknownCommand (

Response used when the maximum number of client connections is exceeded. Represents protocol responses used in the server implementation.

333)

Represents the response message used for an unkown command.

Legend Property

TIdCmdTCPServer.CommandHandlers Property Command handlers used in the server implementation. Pascal property CommandHandlers: TIdCommandHandlers; Description CommandHandlers is a TIdCommandHandlers ( 350) property that represents TIdCommandHandler ( for commands, replies, and actions implemented for the server.

341) instances allocated

CommandHandlers is used during execution of the client context to examine and respond to commands and data received from an executing client connection. CommandHandlersEnabled must be set to True to allow use of the CommandHandlers for the server. 330

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPServer Class

CommandHandlers is initialized when the server becomes Active ( allocated (at designtime) for the server.

458) if command handler instances have not already been

Use OnExecute ( 2379) to provide an alternate event handler for the execution of client connections when CommandHandlersEnabled is set to False. See Also TIdCommandHandler ( TIdCommandHandlers (

341) 350)

CommandHandlersEnabled OnExecute ( Active (

2379)

458)

TIdCmdTCPServer.ExceptionReply Property Response code and text used for exceptions occurring in the server. Pascal property ExceptionReply: TIdReply; Description ExceptionReply is a TIdReply ( in the server.

1836) property that represents the response code and message text used for exceptions occurring

ExceptionReply is assigned during initialization of the component using the following numeric code and message text:

Code

Text

500

Unknown Internal Error

ExceptionReply is also assigned as the default exception message for unrecognized commands in the CommandHandlers ( collection during initialization of the component. Resources allocated to the ExceptionReply property are freed in Destroy (

330)

330).

See Also TIdReply (

1836) CommandHandlers (

330) TIdCommandHandlers.ExceptionReply

TIdCmdTCPServer.Greeting Property "Welcome" message sent to new connections accepted in listener thread(s). Pascal property Greeting: TIdReply; Description Greeting is a TIdReply ( thread(s) for the server.

1836) property that represents the "Welcome" message sent to new connections accepted in listener

The value in Greeting is written to the executing client context after the connection is accepted in the listener thread. The default value for Greeting is assigned during initialization of the component using the following response code and text:

Code

Text

200

Welcome

Internet Direct (Indy) Version 10.1.5

331

TIdCmdTCPServer Class

Classes

Resource allocated to the Greeting property are freed in the Destroy (

330) method.

See Also TIdReply (

1836)

TIdCmdTCPServer.HelpReply Property Response sent when the HELP command is issued for a client connection. Pascal property HelpReply: TIdReply; Description HelpReply is a TIdReply ( client connection.

1836) property that represents the response sent when the HELP command is issued for an executing

The default value for HelpReply is assigned during initialization of the component using the following response code and text:

Code

Text

100

Help follows

Resources allocated to the HelpReply property are freed in the Destroy (

330) method.

HelpReply is used during activation of the server (when Active ( 458) is set to True) to dynamically create ( 267) the command handler for the HELP command. Descriptions for other TIdCommandHandler ( 341) instances in the CommandHandlers ( 330) collection having visible help are appended to the value in HelpReply. See Also TIdCommandHandlers (

350)

TIdCommandHandler (

341)

TIdCommand ( TIdReply ( Active ( Destroy (

335)

1836)

458) 330)

TIdCmdTCPServer.MaxConnectionReply Property Response used when the maximum number of client connections is exceeded. Pascal property MaxConnectionReply: TIdReply; Description MaxConnectionReply is a TIdReply ( 1836) property that represents the response used when the maximum number of client connections to the server is exceeded. MaxConnections ( 465) indicates the connection limit for the server implementation. The default value for the MaxConnectionReply property is assigned during during initialization of the component using the following response code and text:

Code

Text

300

Too many connections. Try again later.

MaxConnectionReply is used when a listener thread for the server cannot accept a new connection when the new connection would 332

Internet Direct (Indy) Version 10.1.5

Classes

TIdCmdTCPServer Class

exceeed the value in MaxConnections ( 465). The generated reply from MaxConnectionReply is written using the IOHandler ( 464) for the listener thread, and the client connection is Disconnected. Resources allocated to the MaxConnectionReply property during component initialization are freed in the Destroy (

330) method.

See Also TIdReply (

1836)

MaxConnections ( Destroy (

465)

330)

TIdListenerThread ( TIdContext (

1445)

376)

TIdCmdTCPServer.ReplyTexts Property Represents protocol responses used in the server implementation. Pascal property ReplyTexts: TIdReplies; Description ReplyTexts is a TIdReplies ( 1825) property that represents a collection of response codes and messages for protocol responses used in the server implementation. The ReplyTexts collection is created during component initialization, and is used as the owner of the individual reply for the following properties:

• Greeting (

331)

• MaxConnectionReply (

332)

• ReplyUnknownCommand ( • ExceptionReply ( • HelpReply (

333)

331)

332)

ReplyTexts is assigned to the TIdCommandHandlers ( ReplyTexts is used to update the Greeting (

350) for the server instance during component initialization.

331) response when a new connection is accepted in a listener thread for the server.

Resources allocated to the ReplyTexts property are freed in the Destroy (

330) method.

See Also TIdReplies ( Create ( Destroy (

1825)

267) 330)

TIdCmdTCPServer.ReplyUnknownCommand Property Represents the response message used for an unkown command. Pascal property ReplyUnknownCommand: TIdReply; Description ReplyUnknownCommand is a TIdReply ( 1836) property that represents the response code and text used when an unknown command is received during execution of a client connection. ReplyUnknownCommand is used during execution of the client connection task when COmmandHandlersEnabled contains True. Internet Direct (Indy) Version 10.1.5

333

TIdCmdTCPServer Class

Classes

Methods in the server are used to read the command and optional data from the client connection context. If a valid TIdCommandHandler ( 341) instance in CommandHandlers ( 330) cannot be located for the values read from the client connection, values in ReplyUnknownCommand are used to generate the response written using the IOHandler ( 464) for the client connection. The default values in ReplyUnknownCommand are assigned during initialization of the component, and includes the following response code and text:

Code

Text

400

Unknown Command

Resources allocated to the ReplyUnknownCommand property are freed in Destroy (

330).

See Also TIdReply (

1836)

TIdCommandHandler ( TIdCommandHandlers (

341) 350)

COmmandHandlersEnabled Destroy (

330)

TIdCmdTCPServer Events The Events of the TIdCmdTCPServer class are listed here. Events Event

Description

OnAfterCommandHandler ( OnBeforeCommandHandler (

334) 335)

Represents the event handler signalled after CommandHandler usgage. Represents the event handler signalled after CommandHandler usgage.

Legend Event

TIdCmdTCPServer.OnAfterCommandHandler Event Represents the event handler signalled after CommandHandler usgage. Pascal property OnAfterCommandHandler: TIdCmdTCPServerAfterCommandHandlerEvent; Description OnAfterCommandHandler is a TIdCmdTCPServerAfterCommandHandlerEvent ( signalled following execution of a command handler for a client connection.

3010) property that represents the event handler

The client connection context generating the command and/or data is passed as an argument to the event handler. OnAfterCommandHandler is assigned to the corresponding event handler in TIdCommandHandlers ( 350) during initialization of the component. OnAfterCommandHandler is triggered in the TIdCommandHandlers.HandleCommand ( 353) method after checking for a valid command handler in the collection. Use OnBeforeCommandHandler ( the collection.

335) to access the client connection context prior to checking for a valid command handler in

See Also TIdCmdTCPServerAfterCommandHandlerEvent ( TIdCommandHandlers.OnAfterCommandHandler ( 334

3010) 354) Internet Direct (Indy) Version 10.1.5

Classes

TIdCommand Class

TIdCommandHandlers.HandleCommand ( TIdCommandHandler (

353)

341)

TIdCmdTCPServer.OnBeforeCommandHandler Event Represents the event handler signalled after CommandHandler usgage. Pascal property OnBeforeCommandHandler: TIdCmdTCPServerBeforeCommandHandlerEvent; Description OnBeforeCommandHandler is a TIdCmdTCPServerBeforeCommandHandlerEvent ( handler signalled prior to execution of a command handler for a client connection.

3010) property that represents the event

The client connection context generating the command and/or data is passed as an argument to the event handler. OnBeforeCommandHandler is assigned to the corresponding event handler in TIdCommandHandlers ( 350) during initialization of the component. OnBeforeCommandHandler is triggered in the TIdCommandHandlers.HandleCommand ( 353) method before checking for a valid command handler in the collection. Use OnAfterCommandHandler ( collection.

334) to access the client connection context after checking for a valid command handler in the

See Also TIdCmdTCPServerBeforeCommandHandlerEvent ( TIdCommandHandlers.OnBeforeCommandHandler ( TIdCommandHandlers.HandleCommand ( TIdCommandHandler (

3010) 354)

353)

341)

TIdCommand Class Represents a command to be executed for a threaded peer connection. File IdCommandHandlers (

4602)

Hierarchy

Pascal TIdCommand = class(TIdBaseObject); Description TIdCommand is class used to represent information about commands received by a TCP server for an exuting peer thread, and handled using a TIdCommandHandler ( 341). TIdCommand provides a flexible mechanism for implementing use of command parameters and command responses using command handlers in a multi-thread environment. TIdCommand provides properties that identify the Thread generating the command, and the CommandHandler ( 338) used to service the command. In addition, TIdCommand also implements methods that allow assigning the response for the command, and a mechanism for sending the command reply using the Thread connection that generated the command request. TIdCommand instances are created in TIdCommandHandler.Check ( 342) when a given command can be handled by the CommandHandlers for the server, using the peer thread that is executed in the Server context. See Also TIdCommandHandler (

341)

Internet Direct (Indy) Version 10.1.5

335

TIdCommand Class

Classes

TIdRFCReply TIdPeerThread TIdTCPServer.OnExecute (

2379)

TIdCommand Members The following tables list the members exposed by TIdCommand. Properties Property

Description

CommandHandler ( Context (

338)

Disconnect (

338)

Params (

339)

PerformReply ( RawLine ( Reply (

338)

Client context for the command and command handler. Contains parsed parameter values for the command object.

339)

Indicates that the Reply (

339)

340) should be sent to the peer prior to the response.

Text data read from an executing client connection.

340)

Response (

Represents the command handler that generated the object instance.

Contains the numeric and text content of an RFC reply .

340)

Contains the command response for the client connection.

SendEmptyResponse ( UnparsedParams (

340) 340)

Represents the unparsed parameter values for the command object.

Methods Method Create (

Description 336)

Constructor for the object instance.

Destroy (

337)

Frees the object instance.

SendReply (

337)

Sends the contents of the RFC reply to the peer connection.

Legend Constructor virtual Property read only

TIdCommand Methods The Methods of the TIdCommand class are listed here. Methods Method Create (

Description 336)

Constructor for the object instance.

Destroy (

337)

Frees the object instance.

SendReply (

337)

Sends the contents of the RFC reply to the peer connection.

Legend Constructor virtual

TIdCommand.Create Constructor Constructor for the object instance. Pascal constructor Create( AOwner: TIdCommandHandler ); virtual;

336

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommand Class

Parameters Parameters

Description

AOwner

Owner of the object instance.

Description Create is the Constructor for the object instance. Create relies on the inherited Create method to initialize properties in the object instance. Create also initializes the object instances used in the Params ( 339), Reply ( 340), and Response ( 340) properties. See Also Params ( Reply (

339) 340)

Response (

340)

TIdCommand.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the Destructor for the object instance. Destroy frees resources allocates in the Create ( the inherited Destroy method.

336) constructor prior to calling

See Also Create ( Params ( Reply (

336) 339) 340)

Response (

340)

TIdCommand.SendReply Method Sends the contents of the RFC reply to the peer connection. Pascal procedure SendReply; Description SendReply is a procedure used to send the generated content of the TIdRFCReply values in Reply ( 340) to the peer connection using WriteRFCReply. When the command is executed, SendReply is called prior to transmitting the values in Response ( 340) to the peer connection, but only when PerformReply ( 339) is True. SendReply sets the PeformReply property to False prior to writing the RFC reply to the peer connection. See Also TIdRFCReply Response (

340)

PerformReply (

339)

TIdCommand Properties The Properties of the TIdCommand class are listed here.

Internet Direct (Indy) Version 10.1.5

337

TIdCommand Class

Classes

Properties Property

Description

CommandHandler ( Context (

338)

Disconnect (

338)

Params (

339)

PerformReply ( RawLine ( Reply (

338)

Client context for the command and command handler. Contains parsed parameter values for the command object.

339)

Indicates that the Reply (

339)

Contains the numeric and text content of an RFC reply .

340)

Contains the command response for the client connection.

SendEmptyResponse ( UnparsedParams (

340) should be sent to the peer prior to the response.

Text data read from an executing client connection.

340)

Response (

Represents the command handler that generated the object instance.

340) 340)

Represents the unparsed parameter values for the command object.

Legend Property read only

TIdCommand.CommandHandler Property Represents the command handler that generated the object instance. Pascal property CommandHandler: TIdCommandHandler; Description CommandHandler is a read-only TIdCommandHandler ( 341) property that represents the command handler that created the TIdCommand ( 335) object instance. CommandHandler is assigned when the object instance is created as the peer thread is executed in TIdCommandHandler.Check ( 342). CommandHandler provides access to the TIdCommandHandler ( 341) properties that indicates the Command string executed by the peer thread, delimiters for both the command and optional parameters, and reply content and exception codes. See Also TIdCommandHandler (

341)

TIdCommand.Context Property Client context for the command and command handler. Pascal property Context: TIdContext; Description Context is a read-only TIdContext ( 376) property that represents the client context for the command. Context provides acess to properties and methods in the command handler and the client connection during execution of commands in a TIdCommandHandler ( 341) instance.

TIdCommand.Disconnect Property Pascal property Disconnect: Boolean; Description Disconnect is a Boolean property

338

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommand Class

TIdCommand.Params Property Contains parsed parameter values for the command object. Pascal property Params: TIdStrings; Description Params is a read-only TStrings property... Params is a read-only TStrings property that contains parameters parsed from UnparsedParams ( 340) using the parameter delimiter specified by the command handler. When the command handlers indicates that parameters should be parsed, each parameter is added to Params as an individual line. Otherwise, all parameters appear on a single line in Params. UnparsedParams (

340) can be used to access the parameter values before parsing was performed.

See Also UnparsedParams (

340)

TIdCommandHandler.ParseParams (

348)

TIdCommand.PerformReply Property Indicates that the Reply (

340) should be sent to the peer prior to the response.

Pascal property PerformReply: Boolean; Description PerformReply is a Boolean property that indicates if the TIdRFCReply values in Reply ( 340) should be sent to the peer connection using SendReply ( 337). PerformReply is examine after success completion of the command, and when an exception is raised. Set PerformReply to False to prevent transmission of the TIdRFCReply to the peer connection prior to the values in Response ( 340). See Also TIdRFCReply SendReply ( Response (

337) 340)

TIdCommand.RawLine Property Text data read from an executing client connection. Pascal property RawLine: string; Description RawLine is a read-only String property that represents the unparsed text values read from the threaded client connection, and provided to a TIdCommandHandler ( 341) when the thread is executed. RawLine is used by a TIdCommand ( 335) that implements the action performed by the command handler to parse values that are stored in the Command, UnparsedParams ( 340), and Params ( 339) properties of the object instance. See Also TIdCommandHandler (

341)

Command UnparsedParams (

340)

Internet Direct (Indy) Version 10.1.5

339

TIdCommand Class Params (

Classes

339)

TIdCommand.Reply Property Contains the numeric and text content of an RFC reply . Pascal property Reply: TIdReply; Description Reply is a TIdRFCReply property that contains the NumericCode and Text that makes up an RFC response message. Reply is given the value in the ReplyNormal property of the command handler, when it is created by the command handler. Reply can be altered if an exception is raised during execution of the command. After an exception is raised, Reply will contain the ReplyExceptionCode, from either the server or the command handler that raised the exception, and the exception text. Reply is sent to the peer connection prior to the Response (

340) for the command handler when PerformReply (

339) is True.

See Also TIdRFCReply TIdCommandHandler (

341)

TIdCommand.Response Property Contains the command response for the client connection. Pascal property Response: TIdStrings; Description Response is a TStrings property that contains values to send as the command response to the peer connection using WriteRFCStrings. Response values, when present, are sent to the peer connection following any content in the Reply ( 340) for the command. When Respond contain no values, it is ignored. See Also TIdPeerThread.Connection Reply (

340)

TIdCommand.SendEmptyResponse Property Pascal property SendEmptyResponse: Boolean; Description TIdCommand.SendEmptyResponse Public Boolean property. Write access FSendEmptyResponse.

TIdCommand.UnparsedParams Property Represents the unparsed parameter values for the command object. Pascal property UnparsedParams: string; Description UnparsedParams is a read-only String property that represents the unparsed parameter values received by the command handler that generated the command object. UnparsedParams is assigned when the command object is created by a command handler for the current thread of execution. 340

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommandHandler Class

UnparsedParams is used to determine the values added to the Params ( object instance.

339) property when the command handler creates the

See Also Params (

339)

TIdCommandHandler.ParseParams (

348)

TIdCommandHandler Class Collection item representing command handlers for a server implementation. File IdCommandHandlers (

4602)

Hierarchy

Pascal TIdCommandHandler = class(TIdCollectionItem); Description TIdCommandHandler is a TCollectionItem descendant that implements a mechanism for recognizing valid commands for a Server, and provides methods and properties needed handle parameters, perform actions, and formulate error and success responses. TIdCommandHandler implements an OnCommand ( 350) event handler that receives a TIdCommandEvent ( 3011) event type representing the unique command to be executed. TIdCommandHandler implements the virtual Check ( 342) method that handles creation of TIdCommand ( 335) object instances, signalling of event notifications for the associated command object, as well as preparation of reply and response values for the associated threaded peer connection. TIdCommandHandler is an optional feature for use with TIdTCPServer ( 2375) and descendant classes. TIdCommandHandler can be used when TIdTCPServer.CommandHandlersEnabled indicates that command handlers are desired, and the server has valid TIdCommandHandler instances assigned in the CommandHandlers collection. Under any other circumstance, TIdTCPServer ( 2375) reverts to the default behavior implemented using the TIdTCPServer.OnExecute ( 2379) event handler. See Also Check (

342)

OnCommand (

350)

TIdCommandEvent ( TIdCommand (

3011)

335)

TIdCommandHandlers (

350)

TIdCmdTCPServer.CommandHandlersEnabled TIdCmdTCPServer.CommandHandlers ( TIdTCPServer.OnExecute (

330)

2379)

TIdCommandHandler Members The following tables list the members exposed by TIdCommandHandler. Properties Property CmdDelimiter (

Description 345)

Internet Direct (Indy) Version 10.1.5

Identifies the delimiter character between the Command (

345) and parameter values.

341

TIdCommandHandler Class Command ( Data (

345)

Text that causes the command handler to be invoked.

346)

Storage slot for TObject data used by the command handler.

Description (

346)

Disconnect (

346)

Enabled (

Closes the connection to the peer after handling a command.

346)

Indicates if the command handler can respond to the associated Command (

ExceptionReply (

347)

HelpSuperScript ( HelpVisible ( Name (

347)

347)

Identity for the item in the owner collection. 348)

ParamDelimiter (

348)

ParseParams ( Tag (

345).

Represents the numeric code returned when an exception occurs in the command handler.

347)

NormalReply (

Response (

Classes

348)

349)

Represents the reply indicating successful completion of the command handler. Identifies the delimiter character between parameters. Indicates if parameter values are separated into individual line in Params. Contains string values used as the response for the command handler.

349)

Stores an Integer value.

Methods Method

Description

Check (

342)

Handles dispatching and execution of the command for the command handler.

Create (

343)

Constructor for the object instance.

Destroy (

344)

DoCommand ( NameIs (

Frees the object instance. 344)

344)

Checks that a command handler has the specified name.

Events Event

Description

OnCommand (

350)

Event handler that performs an action associated with a command handler.

Legend Method virtual Property Event

TIdCommandHandler Methods The Methods of the TIdCommandHandler class are listed here. Methods Method

Description

Check (

342)

Handles dispatching and execution of the command for the command handler.

Create (

343)

Constructor for the object instance.

Destroy (

344)

DoCommand ( NameIs (

Frees the object instance. 344)

344)

Checks that a command handler has the specified name.

Legend Method virtual

TIdCommandHandler.Check Method Handles dispatching and execution of the command for the command handler. Pascal function Check( AData: string; AContext: TIdContext ): boolean; virtual;

342

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommandHandler Class

Parameters Parameters

Description

AData

Data (

AThread

Thread of execution for the peer connection.

346) received from the peer connection.

Returns Boolean - True on success. Description Check is a Boolean function that is used to create ( 343), prepare, and dispatch a TIdCommand ( 335) object instance used in association with the command handler. Check examines AData for optional CmdDelimiter ( 345) and parameter values. Check creates a TIdCommand ( 335) object instance used to represent the command handled by the command handler, and sets property values including the CommandHandler that created the object and the peer thread used for data and response messages. Check parses parameter values into the TIdCOmmand object when ParseParams ( Check assigns the values in ReplyNormal as the default reply for the TIdCommand ( Check signals the OnCommand (

348) is True. 335) associated with the command handler.

350) event handler to allow execution of actions for the command.

If an exception occurs, Check updates the Reply from the command object to contain the value in ReplyExceptionCode and exception message text. Exception ( 4733) messages are then written to the peer thread connection. When the command object completes execution, values in Reply and Response ( 349) are sent to the peer thread connection. If Disconnect ( 346) is True, the peer thread connection is closed prior to exiting from the method.

TIdCommandHandler.Create Constructor Constructor for the object instance. Pascal constructor Create( ACollection: TIdCollection ); override; Parameters Parameters

Description

ACollection

Collection that owns the command handler.

Description Create is the constructor for the object instance, and calls the inherited Create method to initialize property values. Create initializes the object instances used in the ReplyNormal and Response ( 349) properties, and sets the following properties to their default values:

Property

Value

CmdDelimiter ( Enabled ( Name (

345)

346)

IdEnabledDefault (

347)

3833)

Concatenated value of ClassName and ID

ParamDelimiter ( ParseParams (

' ' (Decimal 32)

348) 348)

' ' (Decimal 32) IdParseParamsDefault (

3857)

See Also CmdDelimiter ( Enabled ( Name (

345)

346)

347)

Internet Direct (Indy) Version 10.1.5

343

TIdCommandHandler Class ParamDelimiter ( ParseParams (

Classes

348) 348)

ReplyNormal Response (

349)

TIdCommandHandler.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the Destructor for the object instance. Destroy is responsible for free resources allocated in the Create ( constructor prior to calling the inherited Destroy method.

343)

See Also Create (

343)

TIdCommandHandler.DoCommand Method Pascal procedure DoCommand( AData: string; AContext: TIdContext; AUnparsedParams: string ); virtual; Parameters Parameters

Description

AData AContext AUnparsedParams

Description DoCommand is a virtual method...

TIdCommandHandler.NameIs Method Checks that a command handler has the specified name. Pascal function NameIs( ACommand: string ): Boolean; Parameters Parameters

Description

ACommand

Name (

347) to be compared to the property value.

Returns Boolean - True when the command handler has the specified name. Description NameIs is a Boolean function that allows comparison of the Name ( 347) property to the value specified in ACommand. NameIs can be used to ensure that a TIdCommandHandler ( 341) contains the name desired before triggering a procedure used as an action handler. 344

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommandHandler Class

TIdCommandHandler Properties The Properties of the TIdCommandHandler class are listed here. Properties Property

Description

CmdDelimiter ( Command ( Data (

345)

345)

346)

Storage slot for TObject data used by the command handler. 346)

Disconnect (

346)

Closes the connection to the peer after handling a command.

346)

Indicates if the command handler can respond to the associated Command (

ExceptionReply (

347)

HelpSuperScript ( HelpVisible ( Name (

347)

347)

Identity for the item in the owner collection. 348)

ParamDelimiter ( ParseParams ( Tag (

345).

Represents the numeric code returned when an exception occurs in the command handler.

347)

NormalReply (

Response (

345) and parameter values.

Text that causes the command handler to be invoked.

Description ( Enabled (

Identifies the delimiter character between the Command (

348) 348)

349)

Represents the reply indicating successful completion of the command handler. Identifies the delimiter character between parameters. Indicates if parameter values are separated into individual line in Params. Contains string values used as the response for the command handler.

349)

Stores an Integer value.

Legend Property

TIdCommandHandler.CmdDelimiter Property Identifies the delimiter character between the Command (

345) and parameter values.

Pascal property CmdDelimiter: Char; Description CmdDelimiter is a Char property that identifies the delimiter character used to separate Command ( 345) from any parameter values in data received from a peer connection. CmdDelimiter is used in Check ( 342) when parameter values are detected in the received data. If CmdDelimiter contains any value other than CHAR0 ( 3169) (Decimal 0), both Command ( 345) and CmdDelimiter are extracted from the received data. Any remaining data is used as parameter values for the associated TIdCommand ( 335) object instance. The default value for CmdDelimiter is ' ' (Decimal 32), as assigned in Create (

343).

See Also Check (

342)

Command (

345)

TIdCommand (

335)

TIdCommandHandler.Command Property Text that causes the command handler to be invoked. Pascal property Command: string; Description Command is a String property that represents the text received from a peer connection that will result in the command handler being performed using optional parameter values. Command is examined in Check ( 342) to determine if the command handler

Internet Direct (Indy) Version 10.1.5

345

TIdCommandHandler Class

Classes

can be used with data received from a peer thread connection. Use OnCommand ( response to Command.

350) to implement the functionality needed in

See Also OnCommand (

350)

TIdCommandHandler.Data Property Storage slot for TObject data used by the command handler. Pascal property Data: TObject; Description Data is a TObject property that can be used as a storage slot for data used by the command handler, and can contain a reference to any TObject descendant. Data can be accessed by a command action handler or event handlers triggered through execution of the item in TIdCommandCommandHandlers. Please note that it is the responsibility of the application to cast Data to the class instance required, or an exception will be raised. Data is not initialized in the Create ( 343) constructor, nor is it released in the Destroy ( assume all responsibility for maintaining Data when assigned.

344) destructor. The application must

TIdCommandHandler.Description Property Pascal property Description: TIdStrings; Description The Description property is a TStrings property.

TIdCommandHandler.Disconnect Property Closes the connection to the peer after handling a command. Pascal property Disconnect: boolean; Description Disconnect is a Boolean property that indicates if the command handler should close the connection to the peer after the Enabled ( 346) command handler is invoked. Disconnect is used in Check ( 342), after an associated TIdCommand ( 335) object instance has been created, prepared, and signalled to the OnCommand ( 350) event handler. When Disconnect is True, the peer thread connection is closed prior to exiting from the Check ( 342). See Also Check (

342)

TIdCommand (

335)

OnCommand (

350)

Enabled (

346)

TIdCommandHandler.Enabled Property Indicates if the command handler can respond to the associated Command (

345).

Pascal property Enabled: boolean; 346

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommandHandler Class

Description Enabled is a Boolean property that indicates if the command handler instance can be used to execute the associated Command ( 345) received from a peer connection. When Enabled is False, the command handler cannot be invoked by a thread of execution for the peer connection. The default value for Enabled is IdEnabledDefault (

3833), as assigned in the Create (

343) constructor.

See Also Command (

345)

OnCommand (

350)

TIdCommandHandler.ExceptionReply Property Represents the numeric code returned when an exception occurs in the command handler. Pascal property ExceptionReply: TIdReply; Description ExceptionReply is a Published TIdReply ( 1836) property that represents the response used when an exception occurs after signalling the associated command object in Check ( 342). When an exception is raised, ReplyExceptionCode is used with the message text from the exception as the new value for Reply. The peer thread connection in the associated command object is used to send the reply using SendReply when PeformReply indicates that a reply is needed. An exception that occurs in Check ( 342) can result in the OnException event handler for the server context being executed. Check ( 342) examines the ReplyExceptionCode on the server to ensure that either condition is detected. See Also TIdRFCReply TIdCommand (

335)

TIdCommand.SendReply (

337)

TIdCommand.PerformReply (

339)

TIdTCPServer.OnException

TIdCommandHandler.HelpSuperScript Property Pascal property HelpSuperScript: String; Description HelpSuperScript is a String property...

TIdCommandHandler.HelpVisible Property Pascal property HelpVisible: Boolean; Description HelpVisible is a Boolean property... Default value is IdHelpVisibleDef (

3850)...

TIdCommandHandler.Name Property Identity for the item in the owner collection.

Internet Direct (Indy) Version 10.1.5

347

TIdCommandHandler Class

Classes

Pascal property Name: string; Description Name is a String property that represents the identity for the collection item in a TIdCommandHandlers ( 350) collection, and is also used as the DisplayName when the collection item is viewd in the Object Inspector. The default value for Name is assigned in the Create ( 343) constructor, and contains the concatenated values of ClassName and the string representation of the inherited ID property.

TIdCommandHandler.NormalReply Property Represents the reply indicating successful completion of the command handler. Pascal property NormalReply: TIdReply; Description NormalReply is a TIdReply ( 1836) property that contains the NumericCode and Text for the reply indicating successful completion of the command handler. ReplyNormal is used as the initial value for the reply in an associated TIdCommand ( 335) object instance in the command handler. ReplyNormal is used in the Check (

342) method prior to invoking execution of the command object of the command handler.

See Also TIdRFCReply TIdCommand ( Check (

335)

342)

TIdCommandHandler.ParamDelimiter Property Identifies the delimiter character between parameters. Pascal property ParamDelimiter: Char; Description ParamDelimiter is a Char property that identifies the delimiter character expected between parameter appearing in Command ( 345). ParamDelimiter is used in Check ( 342) to separated values in Command ( 345) into individual parameter values for a TIdCommand ( 335) instance representing the command. ParamDelimiter is used when ParseParams ( 348) is True. Otherwise, parameter parsing is not performed. The default value for ParamDelimiter is the SPACE character (Decimal 32) as assigned in Create (

343).

See Also ParseParams ( Command ( Check (

348)

345)

342)

TIdCommandHandler.ParseParams Property Indicates if parameter values are separated into individual line in Params. Pascal property ParseParams: Boolean;

348

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommandHandler Class

Description ParseParams is a Boolean property that indicates if the command handler should parse any parameters that occur after the command sent to the Check ( 342) method. When ParseParams is True, values occurring after the command and optional CmdDelimiter ( 345) are added to the Params property in the command object as individual lines when the ParamDelimiter ( 348) character is encountered. The default value for ParseParams is IdParseParamsDefault (

3857).

See Also CmdDelimiter (

345)

ParamDelimiter (

348)

ParseParams

TIdCommandHandler.Response Property Contains string values used as the response for the command handler. Pascal property Response: TIdStrings; Description Response is a TStrings property that contains string values to be written in an RFC-complaint format as the response for the command. Response is used in Check ( 342) when the associated TIdCommand.Response ( 340) does not contain any values. Note: Check ( 342) also examines the TIdCommand.Reply ( 340) property to generate any values from the command object. Response is sent to the peer connection in the current thread of execution using the TIdTCPConnection.WriteRFCStrings ( method.

2363)

See Also Check (

342)

TIdCommand.Response ( TIdCommand.Reply (

340)

340)

TIdRFCReply TIdTCPConnection.WriteRFCStrings (

2363)

TIdCommandHandler.Tag Property Stores an Integer value. Pascal property Tag: Integer; Description Tag is an Integer property that has no predefined meaning. The Tag property is provided for the convenience of developers. It can be used for storing an additional integer value, or it can be typecast to any value such as a component reference or a pointer. TIdNNTPServer ( 1742) uses the Tag property to identify the index position of the NNTPCommand assigned to the TIdCommandHandler ( 341).

TIdCommandHandler Events The Events of the TIdCommandHandler class are listed here.

Internet Direct (Indy) Version 10.1.5

349

TIdCommandHandlers Class

Classes

Events Event

Description

OnCommand (

350)

Event handler that performs an action associated with a command handler.

Legend Event

TIdCommandHandler.OnCommand Event Event handler that performs an action associated with a command handler. Pascal property OnCommand: TIdCommandEvent; Description OnCommand is a TIdCommandEvent ( 3011) property that represents the event handler signalled when the associated TIdCommand ( 335) object instance is executed for the Command ( 345) Handler. Applications must a procedure to the event handler that implements the functionality to be performed when the event handler is signalled for execution. See Also TIdCommandEvent ( TIdCommand (

3011)

335)

TIdCommandHandlers Class Implements a collection for command handler object instances. File IdCommandHandlers (

4602)

Hierarchy

Pascal TIdCommandHandlers = class(TIdOwnedCollection); Description TIdCommandHandlers is a TOwnedCollection descendant that implements a collection of TIdCommandHandler ( 341) items. TIdCommandHandlers publishes the Server property to identify the TIdTCPServer ( 2375) that owns the command handlers collection. TIdCommandHandlers is used to represent the CommandHandlers property in TIdTCPServer ( and is accessed when a peer thread executes and command handlers are enabled. TIdCommandHandlers overrides methods in the ancestor class that Create ( owns the collection, and Add ( 351) new collection items.

2375) and descendant classes,

352) the collection and establish the Server that

See Also TIdCommandHandler (

341) TIdTCPServer (

2375)

TIdCommandHandlers Members The following tables list the members exposed by TIdCommandHandlers.

350

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommandHandlers Class

Properties Property

Description

Base ( Items (

353) 353)

Provide indexed access to command handlers in the collection.

ReplyClass (

354)

ReplyTexts (

354)

Methods Method Add (

Description 351)

Create (

Adds a new item to the command handler collection.

352)

HandleCommand (

Constructor for the command handler collection. 353)

Events Event

Description

OnAfterCommandHandler (

354)

OnBeforeCommandHandler (

354)

OnCommandHandlersException (

354)

Legend Method virtual Property read only Event

TIdCommandHandlers Methods The Methods of the TIdCommandHandlers class are listed here. Methods Method Add (

Description 351)

Create (

Adds a new item to the command handler collection.

352)

HandleCommand (

Constructor for the command handler collection. 353)

Legend Method virtual

TIdCommandHandlers.Add Method Adds a new item to the command handler collection. Pascal function Add: TIdCommandHandler; Returns TIdCommandHandler (

341) - Item added to the collection.

Description Add is a TIdCommandHandler ( 341) function used to add new collection items to the owned collection. Add calls the inherited Add method, and casts the return value to an instance of TIdCommandHandler ( 341) as required by the collection. See Also TIdCommandHandler (

341)

Internet Direct (Indy) Version 10.1.5

351

TIdCommandHandlers Class

Classes

TIdCommandHandlers.Create Constructor Constructor for the command handler collection. Pascal constructor Create( ABase: TIdComponent; AReplyClass: TIdReplyClass; AReplyTexts: TIdReplies; AExceptionReply: TIdReply = nil; ACommandHandlerClass: TIdCommandHandlerClass = nil ); reintroduce; Parameters Parameters

Description

ABase

Owner for items added to the collection.

AReplyClass

TIdReplyClass (

AReplyTexts

TIdReplies (

AExceptionReply

TIdReply (

ACommandHandlerClass

TIdCommandHandlerClass (

3077) used to create replies for the command handler collection.

1825) with response codes and messages for the command handlers. 1836) instance containing an exception message. 3012) class reference for creating items in the collection.

Description Create is the constructor for the object instance. ABase is the TIdComponent (

355) that is the owner for items added to the collection.

AReplyClass is the TIdReplyClass ( AReplyTexts is the TIdReplies ( AExceptionReply is a TIdReply (

3077) used to create replies for the command handler collection.

1825) instance with response codes and messages for the command handlers used in the server. 1836) instance containing an exception message.

ACommandHandlerClass is a TIdCommandHandlerClass (

3012) class reference to use for creating items added to the collection.

Create calls the inherited constructor using the value in ACommandHandlerClass as the class type for the command handler, or TIdCommandHandler ( 341) when ACommandHandlerClass contains Nil. Create assigns values in the parameters to the following properties:

Property

Value

Base (

ABase

353)

ExceptionReply

AExceptionReply

ReplyClass (

354)

AReplyClass

ReplyTexts (

354)

AReplyTexts

See Also TIdCommandHandler ( TIdComponent (

355)

TIdReplyClass (

3077)

TIdReplies ( TIdReply (

341)

1825) 1836)

TIdCommandHandlerClass (

352

3012)

Internet Direct (Indy) Version 10.1.5

Classes

TIdCommandHandlers Class

TIdCommandHandlers.HandleCommand Method Pascal function HandleCommand( AContext: TIdContext; var VCommand: string ): Boolean; virtual; Parameters Parameters

Description

AContext VCommand

Returns Boolean Description HandleCommand is a virtual Boolean function...

TIdCommandHandlers Properties The Properties of the TIdCommandHandlers class are listed here. Properties Property Base ( Items (

Description 353) 353)

Provide indexed access to command handlers in the collection.

ReplyClass (

354)

ReplyTexts (

354)

Legend Property read only

TIdCommandHandlers.Base Property Pascal property Base: TIdComponent; Description Base is a read-only TIdComponent (

355) property...

TIdCommandHandlers.Items Property Provide indexed access to command handlers in the collection. Pascal property Items [AIndex: Integer]: TIdCommandHandler; Description Items is an indexed TIdCommandHandler ( 341) property and provides access to the command handler instances assigned to the collection using the Ordinal position specified in the Index. Index must be in the range 0 through Count - 1. Items can be used to iterate over the contained object instances in order to locate a specific TIdCommandHandler ( 341) in the collection.

Internet Direct (Indy) Version 10.1.5

353

TIdComponent Class

Classes

TIdCommandHandlers.ReplyClass Property Pascal property ReplyClass: TIdReplyClass; Description ReplyClass is a read-only TIdReplyClass (

3077) property...

TIdCommandHandlers.ReplyTexts Property Pascal property ReplyTexts: TIdReplies; Description ReplyTexts is a read-only TIdReplies (

1825) property...

TIdCommandHandlers Events The Events of the TIdCommandHandlers class are listed here. Events Event

Description

OnAfterCommandHandler ( OnBeforeCommandHandler (

354) 354)

OnCommandHandlersException (

354)

Legend Event

TIdCommandHandlers.OnAfterCommandHandler Event Pascal property OnAfterCommandHandler: TIdAfterCommandHandlerEvent; Description OnAfterCommandHandler is a TIdAfterCommandHandlerEvent (

3003) event handler property...

TIdCommandHandlers.OnBeforeCommandHandler Event Pascal property OnBeforeCommandHandler: TIdBeforeCommandHandlerEvent; Description OnBeforeCommandHandler is a Public TIdBeforeCommandHandlerEvent (

3006) event handler property.

TIdCommandHandlers.OnCommandHandlersException Event Pascal property OnCommandHandlersException: TIdCommandHandlersExceptionEvent; Description OnCommandHandlersException is a TIdCommandHandlersExceptionEvent (

354

3012) event handler property...

Internet Direct (Indy) Version 10.1.5

Classes

TIdComponent Class

TIdComponent Class Ancestor of Indy components using Status or Work mode events. File IdComponent (

4602)

Hierarchy

Pascal TIdComponent = class(TIdBaseComponent); Description TIdComponent is a TIdBaseComponent ( mode events.

266) descendant and the ancestor class for Indy components using Status or Work

TIdComponent implements event handlers used to signal state change, input, and output operations using the component. TIdComponent implements an overridden protected InitComponent method used to initialize the component, including the global stack instance count and the GStack ( 3126) variable used in the Indy library. InitComponent protects access to the stack instance count using TIdCriticalSection ( 404). See Also TIdCriticalSection (

404)

TIdBaseComponent ( IndySupport (

266)

15)

TIdComponent Members The following tables list the members exposed by TIdComponent. Properties Property

Description

Version (

269)

WorkTarget (

359)

Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

267)

Triggers the OnBeginWork event. Constructor for the object instance.

Destroy (

357)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

269)

Triggers the OnEndWork event handler. Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

355

TIdComponent Class

Classes

Property read only Event

TIdComponent Methods The Methods of the TIdComponent class are listed here. Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

Destroy (

357)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

Triggers the OnEndWork event handler.

Legend Method virtual

TIdComponent.BeginWork Method Triggers the OnBeginWork event. Pascal procedure BeginWork( AWorkMode: TWorkMode; const ASize: Int64 = 0 ); virtual; Parameters Parameters

Description

AWorkMode

Work mode for the peer connection.

ASize

Number of bytes to be read or written. Default value is 0.

Description BeginWork is a virtual procedure used to trigger the OnBeginWork event. BeginWork maintains the number of reads and writes pending. BeginWork also maintains the size of the initial read and/or write request when the Size is known at the beginning of the request. AWorkMode is a TWorkMode (

2990) enumerated type, and can contain one of the following values:

Value

Meaning

wmRead

The component is reading data from the peer.

wmWrite

The component is sending data to the peer.

ASize is the optional value indicating the number of bytes expected by to be received or sent by the connection. When ASize is omitted, the default value of 0 is assigned. Calls to the BeginWork procedure can be nested, but the OnBeginWork event handler will be invoked only for the initial call to BeginWork. Applications must assign a procedure to the OnBeginWork event handler in order to respond to the event notification. Use EndWork ( Use DoWork (

358) to close the work mode event for the current level. 357) to signal when bytes for the current work level are handled.

When WorkTarget ( 359) is assigned, work mode events are signalled in the TIdComponent ( 359) instead of the current object instance. 356

355) identified by WorkTarget (

Internet Direct (Indy) Version 10.1.5

Classes

TIdComponent Class

See Also TWorkMode (

2990)

TWorkBeginEvent ( WorkTarget (

3120)

359)

TIdComponent.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance, and calls the inherited Destroy method. Destroy uses a TIdCriticalSection ( 404) to protect access to the global stack instance. When the Indy component instance count is 0 (zero), the global stack instance is freed. See Also TIdCriticalSection (

404)

TIdComponent.DoWork Method Triggers the OnWork event handler. Pascal procedure DoWork( AWorkMode: TWorkMode; const ACount: Int64 ); virtual; Parameters Parameters

Description

AWorkMode

Work mode for the peer connection.

ACount

Number of bytes to be handled.

Description DoWork is a virtual procedure used to trigger the OnWork event handler that perform updates required when byte values for the operation indicated in AWorkMode and ACount have been processed using the component. DoWork is used to signal that the work mode indicated in AWorkMode will be used to handle the number of bytes specified in ACount. AWorkMode is a TWorkMode (

2990) enumerated type, and can contain the values:

Value

Meaning

wmRead

The component is reading data from the peer.

wmWrite

The component is sending data to the peer.

ACount is the number of bytes to be affected by the AWorkMode operation. DoWork allows the application to respond to calls to the BeginWork ( 356) method, and maintains the number of bytes available to be process in the OnWork event handler. DoWork will not have any effect unless BeginWork ( 356) is called prior to calling DoWork. DoWork updates the internal TWorkInfo ( 2990) record created for the value in AWorkMode using the BeginWork ( and increments the number of cumulative bytes handled for the operation using the value in ACount. Internet Direct (Indy) Version 10.1.5

356) method,

357

TIdComponent Class

Classes

DoWork signals the OnWork event handler when it has been assigned for the component using the cumulative number of bytes handled for the work mode value in AWorkMode. The Application must assign a procedure to the OnWork event handler in order to respond to the event notification. Use BeginWork ( Use EndWork (

356) to signal the start of a new level for a specified work mode. 358) to close the work mode event for the current level.

When WorkTarget ( 359) is assigned, work mode events are signalled in the TIdComponent ( 359) instead of the current object instance.

355) identified by WorkTarget (

See Also TWorkMode (

2990)

BeginWork (

356)

EndWork (

358)

TIdComponent.EndWork Method Triggers the OnEndWork event handler. Pascal procedure EndWork( AWorkMode: TWorkMode ); virtual; Parameters Parameters

Description

AWorkMode

Work mode for the peer connection.

Description EndWork is a procedure used to trigger the OnEndWork eventhandler. EndWork maintains the number of reads and/or writes pending for the connection. AWorkMode is a TWorkMode (

2990) enumerated type, and can contain the values:

Value

Meaning

wmRead

The component is reading data from the peer.

wmWrite

The component is sending data to the peer.

Calls to the EndWork procedure can be nested, but the OnEndWork event handler will be invoked only for the initial call to EndWork. Applications must assign a procedure to the OnEndWork event handler in order to respond to the event notification. Use BeginWork ( Use DoWork (

356) to signal the start of a new level for a specified work mode.

357) to signal when bytes for the current work level are handled.

When WorkTarget ( 359) is assigned, work mode events are signalled in the TIdComponent ( 359) instead of the current object instance.

355) identified by WorkTarget (

See Also TWorkMode (

2990)

BeginWork (

356)

DoWork (

358

357)

Internet Direct (Indy) Version 10.1.5

Classes

TIdComponent Class

TIdComponent Properties The Properties of the TIdComponent class are listed here. Properties Property

Description

WorkTarget (

359)

Indy component to receive work mode events for the current object instance.

Legend Property

TIdComponent.WorkTarget Property Indy component to receive work mode events for the current object instance. Pascal property WorkTarget: TIdComponent; Description WorkTarget is a TIdComponent ( 355) property that represents the Indy component to receive the Work mode events generated by the current object instance. WorkTarget allows work mode events to be chained for related components. When WorkTarget is assigned for an Indy component, work events in BeginWork ( 356), DoWork ( 357), and EndWork ( 358) are actually performed in the component identified by WorkTarget. When WorkTarget is unassigned, the events are signalled in the current object instance. See Also BeginWork ( DoWork ( EndWork (

356)

357) 358)

TIdComponent Events The Events of the TIdComponent class are listed here. Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

Legend Event

TIdComponent.OnStatus Event Represents the current connection status event handler. Pascal property OnStatus: TIdStatusEvent; Description OnStatus is a TIdStatusEvent ( 3087) property that represents the event handler triggered when the current connection state is changed. OnStatus is triggered by the protected DoStatus method, which provides the parameters used by the event handler. The application must assign a procedure to the event handler to allow reponding to the event notification.

Internet Direct (Indy) Version 10.1.5

359

TIdCompressionIntercept Class

Classes

See Also TIdStatusEvent (

3087)

TIdCompressionIntercept Class Implements an intercept that compresses a data stream using zlib. File IdCompressionIntercept (

4603)

Hierarchy

Pascal TIdCompressionIntercept = class(TIdConnectionIntercept); Description TIdCompressionIntercept is a TIdConnectionIntercept ( 368) descendant that implements an Indy intercept component that compresses a data stream using the open-source zlib compression library. Set the CompressionLevel ( 364) property to a value between 1 and 9 to enable compressing of the data stream. A setting of 0(zero) disables compression and the component is dormant. The sender *and* received must have compression enabled in order to properly decompress the data stream. They do *not* have to use the same CompressionLevel ( 364) as long as they are both set to a value between 1 and 9. In order for this file to compile on Windows, the follow .obj files must be provided as delivered with this file:

• deflate.obj • inflate.obj • inftrees.obj • trees.obj • adler32.obj • infblock.obj • infcodes.obj • infutil.obj • inffast.obj On Linux, the shared-object file libz.so.1 must be available on the system. Most modern Linux distributions include this file. You may sometimes get the following compiler errors with this file: IdCompressionIntercept.pas(331) IdCompressionIntercept.pas(152) IdCompressionIntercept.pas(153) IdCompressionIntercept.pas(154) '_tr_flush_block' IdCompressionIntercept.pas(155) IdCompressionIntercept.pas(156) '_tr_stored_block' IdCompressionIntercept.pas(157) IdCompressionIntercept.pas(158) 'inflate_blocks_new' IdCompressionIntercept.pas(159) 'inflate_blocks' IdCompressionIntercept.pas(160) 'inflate_blocks_reset' IdCompressionIntercept.pas(161) 'inflate_blocks_free' 360

Error: Error: Error: Error:

Incompatible types Unsatisfied forward or external declaration: '_tr_init' Unsatisfied forward or external declaration: '_tr_tally' Unsatisfied forward or external declaration:

Error: Unsatisfied forward or external declaration: '_tr_align' Error: Unsatisfied forward or external declaration: Error: Unsatisfied forward or external declaration: 'adler32' Error: Unsatisfied forward or external declaration: Error: Unsatisfied forward or external declaration: Error: Unsatisfied forward or external declaration: Error: Unsatisfied forward or external declaration:

Internet Direct (Indy) Version 10.1.5

Classes

TIdCompressionIntercept Class

IdCompressionIntercept.pas(162) Error: Unsatisfied 'inflate_set_dictionary' IdCompressionIntercept.pas(163) Error: Unsatisfied 'inflate_trees_bits' IdCompressionIntercept.pas(164) Error: Unsatisfied 'inflate_trees_dynamic' IdCompressionIntercept.pas(165) Error: Unsatisfied 'inflate_trees_fixed' IdCompressionIntercept.pas(166) Error: Unsatisfied 'inflate_trees_free' IdCompressionIntercept.pas(167) Error: Unsatisfied 'inflate_codes_new' IdCompressionIntercept.pas(168) Error: Unsatisfied 'inflate_codes' IdCompressionIntercept.pas(169) Error: Unsatisfied 'inflate_codes_free' IdCompressionIntercept.pas(170) Error: Unsatisfied '_inflate_mask' IdCompressionIntercept.pas(171) Error: Unsatisfied 'inflate_flush' IdCompressionIntercept.pas(172) Error: Unsatisfied 'inflate_fast' IdCompressionIntercept.pas(189) Error: Unsatisfied 'deflateInit_' IdCompressionIntercept.pas(196) Error: Unsatisfied IdCompressionIntercept.pas(203) Error: Unsatisfied IdCompressionIntercept.pas(213) Error: Unsatisfied 'inflateInit_' IdCompressionIntercept.pas(220) Error: Unsatisfied IdCompressionIntercept.pas(227) Error: Unsatisfied IdCompressionIntercept.pas(234) Error: Unsatisfied 'inflateReset' Indy40.dpk(196) Fatal: Could not compile used unit

forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: forward or external declaration: 'deflate' forward or external declaration: 'deflateEnd' forward or external declaration: forward or external declaration: 'inflate' forward or external declaration: 'inflateEnd' forward or external declaration: 'IdCompressionIntercept.pas'

Do not be alarmed. This is due to a bug in DCC32 in Delphi 4, 5, 6, plus C++Builder, 4, 5, and 6. There is a workaround for this issue. The workaround is to compile this unit separately from the other units and than build Indy with a command such as DCC32 using the /M parameter. DO not use the /B parameter as that does force everything to be recompiled triggering the DCC32 error. The batch files FULLC4.BAT, FULLC5.BAT, FULLC6.BAT, FULLD4.BAT, FULLD5.BAT and FULLD6.BAT now have the workaround in them so we recommend that you use those to build Indy. Borland is aware of the issue. Original Author: Allen Bauer This source file is submitted to the Indy project on behalf of Borland Sofware Corporation. No warranties, express or implied are given with this source file. See Also TIdConnectionIntercept (

368)

TIdCompressionIntercept Members The following tables list the members exposed by TIdCompressionIntercept. Properties Property

Description

CompressionLevel ( Connection ( Data (

364)

371)

371)

Intercept (

Represents the compression level applied the data stream for the intercept. Connection to be handled in the intercept. Provides context or other data for the connection intercept.

372)

IsClient (

372)

Indicates that the conncetion intercept is for a client connection.

Version (

269)

Identifies the version number for the Indy component suite.

Internet Direct (Indy) Version 10.1.5

361

TIdCompressionIntercept Class

Classes

Methods Method

Description

Connect ( Create (

369)

267)

Destroy (

Constructor for the object instance.

362)

Disconnect (

362)

Frees the object instance. Releases ZLib resources when disconnecting the intercept.

GetVersion (

269)

Version (

Receive (

363)

Decompresses stream data for the intercept using ZLib.

Send ( CType (

363)

269) number for Indy component suite.

Compresses stream data for the intercept using ZLib.

267)

Create (

1274)

Events Event

Description

OnConnect (

372)

OnDisconnect ( OnReceive ( OnSend (

373)

373)

374)

Specifies the event handler for connection notifications. Specifies the event handler for disconnect (

369) notifications.

Allows data handling or transformation for intercepted read operations. Allows data handling or transformation for intercepted write operations.

Legend Method virtual Property read only Event

TIdCompressionIntercept Methods The Methods of the TIdCompressionIntercept class are listed here. Methods Method

Description

Destroy (

362)

Disconnect ( Receive ( Send (

362)

363)

363)

Frees the object instance. Releases ZLib resources when disconnecting the intercept. Decompresses stream data for the intercept using ZLib. Compresses stream data for the intercept using ZLib.

Legend Destructor virtual

TIdCompressionIntercept.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy ensures that the internal ZLib compression and decompression records are reset and cleared. Destroy also frees Pointers allocated to the internal Send ( 363) and Receive ( 363) buffers for the compression intercept. Destroy calls the inherited Destroy method prior to exiting.

TIdCompressionIntercept.Disconnect Method Releases ZLib resources when disconnecting the intercept.

362

Internet Direct (Indy) Version 10.1.5

Classes

TIdCompressionIntercept Class

Pascal procedure Disconnect; override; Description Disconnect is an overridden procedure in TIdCompressionIntercept ( 360). Disconnect calls the inherited Disconnect method, and executes a protected method that allows the instance to clear memory allocated in internal structures used for accessing the ZLib libraries. The ZLib structure are allocated when using the Send ( 363) or Receive ( 363) methods. See Also Receive (

363) Send (

363)

TIdCompressionIntercept.Receive Method Decompresses stream data for the intercept using ZLib. Pascal procedure Receive( var VBuffer: TIdBytes ); override; Parameters Parameters

Description

ABuffer

Stream to use for input and output values for the operation.

Description Receive is an overridden procedure in TIdCompressionIntercept ( 360) that implements ZLib decompression of data received in ABuffer. When CompressionLevel ( 364) is 0 (zero), the compression intercept is dormant and no decompression is performed for values in ABuffer. Receive initializes the internal ZLib compression and decompression records when they have been assigned in the object instance. Receive reads data from the internal receive buffer using a 2,048 byte block that expands by 1024 bytes on successive reads until the end of the ZLib stream is reached. If a stream, data, or memory error occurs while decompressing the contents of the receive buffer, a EIdDecompressionError ( 71) exception will be raised with the message RSZLDecompressionError. On successful completion of receive buffer decompression, ABuffer is resized and the decompressed data is returned to the stream. See Also CompressionLevel (

364) EIdDecompressionError (

71) RSZLDecompressionError

TIdCompressionIntercept.Send Method Compresses stream data for the intercept using ZLib. Pascal procedure Send( var VBuffer: TIdBytes ); override; Parameters Parameters

Description

ABuffer

Stream to use for input and output values for the operation.

Description Send is an overridden procedure in TIdCompressionIntercept ( 360) that implements ZLib compression of stream data received in ABuffer. When CompressionLevel ( 364) is 0 (zero), the compression intercept is dormant and no compression is performed for values in ABuffer. Send initializes the internal ZLib compression and decompression records when they have been assigned in the object instance. Send ensures that the internal Send buffer is large enough to hold the stream data in ABuffer. Send reads data from the internal send buffer using a 2,048 byte block that expands by 1024 bytes on successive reads until the end of the ZLib stream is reached. Internet Direct (Indy) Version 10.1.5

363

TIdCompressorZLibEx Class

Classes

If a stream, data, or memory error occurs while compressing the contents of the send buffer, a EIdCompressionError ( exception will be raised with the message RSZLCompressionError.

68)

On successful completion of send buffer compression, ABuffer is resized and the compressed data is returned to the stream. See Also CompressionLevel (

364) EIdCompressionError (

68) RSZLCompressionError

TIdCompressionIntercept Properties The Properties of the TIdCompressionIntercept class are listed here. Properties Property

Description

CompressionLevel (

364)

Represents the compression level applied the data stream for the intercept.

Legend Property

TIdCompressionIntercept.CompressionLevel Property Represents the compression level applied the data stream for the intercept. Pascal property CompressionLevel: TCompressionLevel; Description CompressionLevel is a TCompressionLevel ( 2941) property that represents the compression level to be applied when transforming data using Send ( 363) or Receive ( 363). Set CompressionLevel to a value between 1 and 9 to enable compressing of the data stream for intercept. When CompressionLevel is 0 (zero), compression is disabled and the intercept is dormant. Both the sender and receiver must have compression enabled in order to properly decompress the data stream for the intercept. They do not have to use the same CompressionLevel as long as they are both set to a value between 1 and 9. Changing the value in CompressionLevel ensures that the internal compression and decompression records are reset and cleared. The new value for CompressionLevel will also be forced into the range allowed by the TCompressionLevel ( 2941) enumeration. See Also TCompressionLevel (

2941) Send (

363) Receive (

363)

TIdCompressorZLibEx Class File IdCompressorZLibEx (

4605)

Hierarchy

Pascal TIdCompressorZLibEx = class(TIdZLibCompressorBase); Description TIdCompressorZLibEx is a TIdZLibCompressorBase ( 64-bit stream operations.

364

2634) descendant that implements compression and decompression using

Internet Direct (Indy) Version 10.1.5

Classes

TIdCompressorZLibEx Class

TIdCompressorZLibEx implements the abstract virtual methods declared in the ancestor class, and uses functions in the the ZLIB library interface specified in IdZLib.pas ( 4757). See Also TIdZLibCompressorBase ( IdZLib.pas (

2634)

4757)

TIdCompressorZLibEx Members The following tables list the members exposed by TIdCompressorZLibEx. Properties Property

Description

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

CompressFTPDeflate (

2636)

CompressFTPToIO (

366)

CompressHTTPDeflate ( CompressStream ( Create (

2636)

366)

267)

Constructor for the object instance.

DecompressDeflateStream ( DecompressFTPDeflate (

2637)

DecompressFTPFromIO (

366)

DecompressGZipStream ( DecompressHTTPDeflate ( DecompressStream ( DeflateStream ( GetVersion (

2638) 2638)

367)

367)

269)

InflateStream ( CType (

2637)

Version (

269) number for Indy component suite.

367)

267)

Create (

1274)

Legend Method virtual Property read only

TIdCompressorZLibEx Methods The Methods of the TIdCompressorZLibEx class are listed here. Methods Method

Description

CompressFTPToIO ( CompressStream (

366) 366)

DecompressFTPFromIO ( DecompressStream ( DeflateStream ( InflateStream (

366)

367)

367) 367)

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

365

TIdCompressorZLibEx Class

Classes

TIdCompressorZLibEx.CompressFTPToIO Method Pascal procedure CompressFTPToIO( AInStream: TIdStream; AIOHandler: TIdIOHandler; const ALevel: Integer; const AWindowBits: Integer; const AMemLevel: Integer; const AStrategy: Integer ); override; Parameters Parameters

Description

AInStream

Type is TIdStream (

AIOHandler

Type is TIdIOHandler (

ALevel

Scope is const. Type is Integer.

AWindowBits

Scope is const. Type is Integer.

AMemLevel

Scope is const. Type is Integer.

AStrategy

Scope is const. Type is Integer.

3087). 1284).

Description CompressFTPToIO is a overridden method.

TIdCompressorZLibEx.CompressStream Method Pascal procedure CompressStream( AInStream: TIdStream; AOutStream: TIdStream; const ALevel: TIdCompressionLevel; const AWindowBits: Integer; const AMemLevel: Integer; const AStrategy: Integer ); override; Parameters Parameters

Description

AInStream

Type is TIdStream (

3087).

AOutStream

Type is TIdStream (

3087).

ALevel

Scope is const. Type is TIdCompressionLevel (

AWindowBits

Scope is const. Type is Integer.

AMemLevel

Scope is const. Type is Integer.

AStrategy

Scope is const. Type is Integer.

3013).

Description CompressStream is a overridden method.

TIdCompressorZLibEx.DecompressFTPFromIO Method Pascal procedure DecompressFTPFromIO( AIOHandler: TIdIOHandler; AOutputStream: TIdStream; const AWindowBits: Integer ); override; Parameters Parameters

Description

AIOHandler

Type is TIdIOHandler (

366

1284).

Internet Direct (Indy) Version 10.1.5

Classes

TIdConnectionIntercept Class

AOutputStream

Type is TIdStream (

AWindowBits

Scope is const. Type is Integer.

3087).

Description DecompressFTPFromIO is a overridden method.

TIdCompressorZLibEx.DecompressStream Method Pascal procedure DecompressStream( AInStream: TIdStream; AOutStream: TIdStream; const AWindowBits: Integer ); override; Parameters Parameters

Description

AInStream

Type is TIdStream (

3087).

AOutStream

Type is TIdStream (

3087).

AWindowBits

Scope is const. Type is Integer.

Description DecompressStream is a overridden method.

TIdCompressorZLibEx.DeflateStream Method Pascal procedure DeflateStream( AInStream: TIdStream; AOutStream: TIdStream; const ALevel: TIdCompressionLevel = 0 ); override; Parameters Parameters

Description

AInStream

Type is TIdStream (

3087).

AOutStream

Type is TIdStream (

3087).

ALevel

Scope is const. Type is TIdCompressionLevel (

3013). Default value is 0.

Description DeflateStream is a overridden method.

TIdCompressorZLibEx.InflateStream Method Pascal procedure InflateStream( AInStream: TIdStream; AOutStream: TIdStream ); override; Parameters Parameters

Description

AInStream

Type is TIdStream (

3087).

AOutStream

Type is TIdStream (

3087).

Description InflateStream is a overridden method.

Internet Direct (Indy) Version 10.1.5

367

TIdConnectionIntercept Class

Classes

TIdConnectionIntercept Class Specifies a socket handling framework that performs state change and data transformation tasks. File IdIntercept (

4669)

Hierarchy

Pascal TIdConnectionIntercept = class(TIdBaseComponent); Description TIdConnectionIntercept is a TIdBaseComponent ( 266) descendant that implements a framework for servicing operations that affect the state of the connection, or perform input and output on the transport for a connection. TIdConnectionIntercept descendants can be used by TIdTCPConnection ( 2349) and descendants to act as an intermediary between the socket binding for the connection and low-level operations that communicate with the protocol stack. TIdConnectionIntercept provides methods to respond to Connect ( 369) and Disconnect ( 369) requests for a socket connection. The intercept allows access to data before messages are sent and/or after responses are received. Developers can use TIdConnectionIntercept descendants to encrypt and decrypt data, or to compress ( 2741) and decompress messages. Additional methods can be used to perform the Send (

370) or Recv operation in behalf of the original socket connection.

See Also TIdTCPConnection (

2349)

TIdInterceptThrottler ( TIdInterceptSimLog ( TIdLogBase (

1280) 1275)

1451)

TIdLogDebug ( TIdLogFile (

1457)

1460)

TIdLogStream (

1463)

TIdLogEvent (

1457)

IndySupport (

15)

TIdConnectionIntercept Members The following tables list the members exposed by TIdConnectionIntercept. Properties Property

Description

Connection ( Data (

371)

Intercept (

368

371)

Connection to be handled in the intercept. Provides context or other data for the connection intercept.

372)

IsClient (

372)

Indicates that the conncetion intercept is for a client connection.

Version (

269)

Identifies the version number for the Indy component suite.

Internet Direct (Indy) Version 10.1.5

Classes

TIdConnectionIntercept Class

Methods Method

Description

Connect ( Create (

369)

267)

Constructor for the object instance.

Disconnect (

369)

Responds to socket disconnection notifications.

GetVersion (

269)

Version (

Receive (

370)

Receives values for the connection intercept.

Send ( CType (

370)

269) number for Indy component suite.

Sends values for the connection intercept.

267)

Create (

1274)

Events Event

Description

OnConnect (

372)

OnDisconnect ( OnReceive ( OnSend (

373)

373)

374)

Specifies the event handler for connection notifications. Specifies the event handler for disconnect (

369) notifications.

Allows data handling or transformation for intercepted read operations. Allows data handling or transformation for intercepted write operations.

Legend Method virtual Property read only Event

TIdConnectionIntercept Methods The Methods of the TIdConnectionIntercept class are listed here. Methods Method

Description

Connect (

369)

Disconnect ( Receive ( Send (

369)

370)

370)

Responds to socket disconnection notifications. Receives values for the connection intercept. Sends values for the connection intercept.

Legend Method virtual

TIdConnectionIntercept.Connect Method Pascal procedure Connect( AConnection: TIdNativeComponent ); virtual; Parameters Parameters

Description

AConnection

Type is TIdNativeComponent (

3061).

Description TIdConnectionIntercept.Connect virtual method.

TIdConnectionIntercept.Disconnect Method Responds to socket disconnection notifications. Internet Direct (Indy) Version 10.1.5

369

TIdConnectionIntercept Class

Classes

Pascal procedure Disconnect; virtual; Description Disconnect is a procedure that allows TIdConnectionIntercept ( closing. Disconnect ensures that an assigned Intercept (

Use Connect (

371) is

372) will call its Disconnect method.

When a procedure has been assigned to OnDisconnect ( Disconnect clears the Connection (

368) to respond to notification that the Connection (

373), the event handler is triggered.

371) for connection intercept by assigning Nil to the property.

369) respond to connection notifications.

See Also TIdConnectionIntercept.OnDisconnect ( TIdConnectionIntercept.Connection ( TIdConnectionIntercept.Connect (

373) 371)

369)

TIdConnectionIntercept.Receive Method Receives values for the connection intercept. Pascal procedure Receive( var ABuffer: TIdBytes ); virtual; Parameters Parameters

Description

ABuffer

Buffer with values for the receive notification.

Description Receive is a procedure used to receive values for the connection intercept using the buffer specified in ABuffer. When the TIdConnectionIntercept ( 368) component is enabled, Receive is the method used to perform read operations before data on made available to a subsequent IOHandler or Intercept ( 372) for the Connection ( 371). Receive uses the corresponding method in an assigned Intercept ( intercept. Receive triggers the OnReceive ( Use Send (

372) to make the data in ABuffer available to a chained

373) event when a procedure has been assigned to the event handler.

370) to write data in a buffer to the event handlers and intercepts for the connection intercept.

See Also TIdConnectionIntercept.TIdConnectionIntercept (

368)

TIdConnectionIntercept.OnReceived TIdConnectionIntercept.Intercept (

372)

TIdConnectionIntercept.Send Method Sends values for the connection intercept. Pascal procedure Send( var ABuffer: TIdBytes ); virtual;

370

Internet Direct (Indy) Version 10.1.5

Classes

TIdConnectionIntercept Class

Parameters Parameters

Description

ABuffer

Buffer with values for the receive (

370) notification.

Description Send is a procedure used to send values for the connection intercept using the buffer specified in ABuffer. When the TIdConnectionIntercept ( 368) component is enabled, Send is the method used to perform write operations before data on made available to a subsequent IOHandler or Intercept ( 372) for the Connection ( 371). Send triggers the OnSend (

374) event when a procedure has been assigned to the event handler.

Send uses the corresponding method in an assigned Intercept ( Use Receive (

372) to make the data in ABuffer available to a chained intercept.

370) to read data in a buffer to the event handlers and intercepts for the connection intercept.

See Also TIdConnectionIntercept.TIdConnectionIntercept ( TIdConnectionIntercept.OnSend (

374)

TIdConnectionIntercept.Intercept (

372)

368)

TIdConnectionIntercept Properties The Properties of the TIdConnectionIntercept class are listed here. Properties Property

Description

Connection ( Data (

371)

Connection to be handled in the intercept.

371)

Intercept ( IsClient (

Provides context or other data for the connection intercept.

372) 372)

Indicates that the conncetion intercept is for a client connection.

Legend Property read only

TIdConnectionIntercept.Connection Property Connection to be handled in the intercept. Pascal property Connection: TIdNativeComponent; Description Connection is a read-only TComponent property that represents the socket descriptor generating the connect ( ( 369), send ( 370), and receive ( 370) actions handled by the TIdConnectionIntercept ( 368) framework. Connection is assigned in the Connect (

369) method, and set to Nil in the Disconnect (

369), disconnect

369) method.

See Also TIdConnectionIntercept.Connect (

369)

TIdConnectionIntercept.Disconnect (

369)

TIdConnectionIntercept.Data Property Provides context or other data for the connection intercept.

Internet Direct (Indy) Version 10.1.5

371

TIdConnectionIntercept Class

Classes

Pascal property Data: TObject; Description Data is a TObject property used to store pobject references used by the connection intercept. Data can be used to provide context information for the intercept. The content of the Data property is not managed by the TIdConnectionIntercept ( 368) object instance; applications must assign the content after initializing the object, and must free the object instance prior to calling Destroy. See Also TIdConnectionIntercept.Destroy

TIdConnectionIntercept.Intercept Property Pascal property Intercept: TIdConnectionIntercept; Description Intercept is a Published TIdConnectionIntercept (

368) property

TIdConnectionIntercept.IsClient Property Indicates that the conncetion intercept is for a client connection. Pascal property IsClient: Boolean; Description IsClient is a read-only Boolean property that indicates the connection intercept is being used in a client (as opposed to server) connection. The default value for IsClient is True, as assigned during initialization of the object instance.

TIdConnectionIntercept Events The Events of the TIdConnectionIntercept class are listed here. Events Event

Description

OnConnect (

372)

OnDisconnect ( OnReceive ( OnSend (

373)

373)

374)

Specifies the event handler for connection notifications. Specifies the event handler for disconnect (

369) notifications.

Allows data handling or transformation for intercepted read operations. Allows data handling or transformation for intercepted write operations.

Legend Event

TIdConnectionIntercept.OnConnect Event Specifies the event handler for connection notifications. Pascal property OnConnect: TIdInterceptNotifyEvent; Description OnConnect is a TIdInterceptNotifyEvent ( 372

3037) property that represents the event handler for connection notifications received by Internet Direct (Indy) Version 10.1.5

Classes

TIdConnectionIntercept Class

the connection intercept. Assign a procedure to OnConnect to perform special processing when a connection notification is received in the Connect ( method. Applications must assign an OnConnect event handler in order to respond to connection notifications. Use OnDisconnect (

373) to respond to notifications from Disconnect (

369)

369).

See Also TIdInterceptNotifyEvent (

3037)

TIdConnectionIntercept.Connect (

369)

TIdConnectionIntercept.OnDisconnect (

373)

TIdConnectionIntercept.OnDisconnect Event Specifies the event handler for disconnect (

369) notifications.

Pascal property OnDisconnect: TIdInterceptNotifyEvent; Description OnDisconnect is a TIdInterceptNotifyEvent ( received by the connection intercept.

3037) property that represents the event handler for disconnect (

369) notifications

Assign a procedure to OnDisconnect to perform special processing when a disconnect ( 369) notification is received in the Disconnect ( 369) method. Applications must assign an OnDisconnect event handler in order to respond to the notification. Use OnConnect (

372) to respond to notifications from Connect (

369).

See Also TIdInterceptNotifyEvent (

3037)

TIdConnectionIntercept.Connect (

369)

TIdConnectionIntercept.OnConnect (

372)

TIdConnectionIntercept.Disconnect (

369)

TIdConnectionIntercept.OnReceive Event Allows data handling or transformation for intercepted read operations. Pascal property OnReceive: TIdInterceptStreamEvent; Description OnReceive is a TIdInterceptStreamEvent ( 3038) property that represents the event handler signalled when a read operation needs to be performed for the Connection ( 371) in the intercept. OnReceive is triggered in the Receive (

370) method, and allows handling or transformation of data in the Receive (

Applications must assign a procedure to the TIdInterceptStreamEvent ( notification. Data (

370) buffer.

3038) event handler to allow responding to the event

371) can be modified in OnReceive, but it will have already been passed to an assigned Intercept (

372).

See Also TIdInterceptStreamEvent (

3038)

TIdConnectionIntercept.Receive (

Internet Direct (Indy) Version 10.1.5

370)

373

TIdConnectThroughHttpProxy Class

Classes

TIdConnectionIntercept.OnSend Event Allows data handling or transformation for intercepted write operations. Pascal property OnSend: TIdInterceptStreamEvent; Description OnSend is a TIdInterceptStreamEvent ( 3038) property that represents the event handler signalled when a write operation needs to be performed for the Connection ( 371) in the connection intercept. OnSend is triggered in the Send (

370) method, and allows handling or transformation of data in the Send (

Applications must assign a procedure to the TIdInterceptStreamEvent ( notification. Values in the Send (

370) buffer.

3038) event handler to allow responding to the event

370) buffer are made available to an assigned Intercept (

372) after OnSend has completed.

See Also TIdInterceptStreamEvent (

3038)

TIdConnectionIntercept.Send (

370)

TIdConnectThroughHttpProxy Class File IdConnectThroughHttpProxy (

4605)

Hierarchy

Pascal TIdConnectThroughHttpProxy = class(TIdCustomTransparentProxy); Description TIdConnectThroughHttpProxy is a TIdCustomTransparentProxy (

477) descendant.

See Also TIdCustomTransparentProxy (

477)

TIdConnectThroughHttpProxy Members The following tables list the members exposed by TIdConnectThroughHttpProxy. Properties Property

Description

ChainedProxy ( Enabled ( Host (

375)

376)

IPVersion (

482)

Password (

376)

Port (

376)

Username (

376)

Version (

269)

WorkTarget (

374

375)

359)

Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdConnectThroughHttpProxy Class

Methods Method

Description

BeginWork (

356)

CloseUDP (

479)

Connect (

Triggers the OnBeginWork event.

479)

Create (

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( Listen (

Version (

269) number for Indy component suite.

480)

OpenUDP (

480)

RecvFromUDP ( SendToUDP ( CType (

Triggers the OnEndWork event handler.

269)

480) 481)

267)

Bind (

478)

Create (

1274)

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Property read only Method virtual Event

TIdConnectThroughHttpProxy Properties The Properties of the TIdConnectThroughHttpProxy class are listed here. Properties Property

Description

ChainedProxy ( Enabled ( Host (

375)

376)

Password ( Port (

375)

376)

376)

Username (

376)

Legend Property

TIdConnectThroughHttpProxy.ChainedProxy Property Pascal property ChainedProxy: TIdCustomTransparentProxy; Description ChainedProxy is a Published property.

TIdConnectThroughHttpProxy.Enabled Property Pascal property Enabled: Boolean; Internet Direct (Indy) Version 10.1.5

375

TIdContext Class

Classes

Description Enabled is a Published property.

TIdConnectThroughHttpProxy.Host Property Pascal property Host: String; Description Host is a Published property.

TIdConnectThroughHttpProxy.Password Property Pascal property Password: String; Description Password is a Published property.

TIdConnectThroughHttpProxy.Port Property Pascal property Port: Integer; Description Port is a Published property.

TIdConnectThroughHttpProxy.Username Property Pascal property Username: String; Description Username is a Published property.

TIdContext Class Implements a session context representing client connections to a multi-threaded TCP server. File IdContext (

4606)

Hierarchy

Pascal TIdContext = class(TIdTask); Description TIdContext is a TIdTask ( TCP server.

2329) descendant that implements a session context representing client connections to a multi-threaded

TIdContext instances are used in TIdTCPServer ( 376

2375), and descendant classes, in the Contexts property. Session contexts are Internet Direct (Indy) Version 10.1.5

Classes

TIdContext Class

created by the listener thread(s) for the server when a connection request is accepted by the listener thread. TIdContext maintains an association between the peer connection for the session, the thread or fiber used to execute the tasks for the client session, and the list of TIdContext instances active in the server. TIdContext also provides event handlers that allow execution of the task for the client connection using the OnConnect, OnExecute, and OnDisconnect event handlers in the TIdTCPServer ( 2375) instance. See Also TIdTask (

2329)

TIdTCPServer.Contexts TIdTCPServer.OnExecute (

2379)

TIdTCPServer.OnConnect TIdTCPServer.OnDisconnect

TIdContext Members The following tables list the members exposed by TIdContext. Properties Property

Description

BeforeRunDone ( Connection ( Data (

2332)

379)

2332)

Yarn (

Represents the peer connection for a client session on the TCP server. A user-specified object with values used during execution of the task.

2333)

Represents the thread or fiber for executing the task.

Methods Method Binding (

Description 378)

Create (

378)

Destroy (

378)

DoAfterRun ( DoBeforeRun ( DoRun (

Frees the object instance.

2331) 2331)

2332)

Triggers execution of the event handler for the task. Triggers execution of the event handler for the task. Triggers execution of the event handler for the task.

RemoveFromList (

379)

Removes the session context from the list of session contexts in a TCP server.

Events Event

Description

OnAfterRun (

380)

OnBeforeRun ( OnRun (

380)

381)

Event handler signalled after execution of the client connection context. Event handler signalled before execution of the client connection context. Event handler signalled to execute the task for the client session context.

Legend Method virtual Property read only Event

TIdContext Methods The Methods of the TIdContext class are listed here. Methods Method Binding (

Description 378)

Internet Direct (Indy) Version 10.1.5

377

TIdContext Class Create (

Classes

378)

Destroy (

378)

RemoveFromList (

Frees the object instance. 379)

Removes the session context from the list of session contexts in a TCP server.

Legend Method virtual

TIdContext.Binding Method Pascal function Binding: TIdSocketHandle; Returns TIdSocketHandle (

2071)

Description Binding returns TIdSocketHandle (

2071)

TIdContext.Create Constructor Pascal constructor Create( AConnection: TIdTCPConnection; AYarn: TIdYarn; AList: TIdThreadList = nil ); virtual; reintroduce; Parameters Parameters

Description

AConnection

Peer connection for the client.

AYarn

Thread or fiber for execution the client connections task.

AList

List of session contexts that owns the new session context.

Description Create is the reintroduced constructor for the client session context. AConnection is the peer connection for the client session created in a listener thread for the server. AYarn is the thread or fiber to use when executing the task for the client connection created in a listener thread for the server. AList is the list of session contexts that exist in the server, and owns the new session context. Create calls the inherited constructor using AYarn as the owner of the task. Create stores the value in AConnection in the Connection ( 379) property. The value in AList is stored in a private member used for the other session contexts that exist in the server. When AList contains a valid non-null instance, the new session context from the constructor is added to the internal list of session contexts. Use Destroy (

378) to free the session context.

See Also Connection ( Destroy (

379)

378)

TIdContext.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; 378

Internet Direct (Indy) Version 10.1.5

Classes

TIdContext Class

Description Destroy is the overridden destructor for the object instance. Destroy removes the session context from the internally maintained list of session contexts. Destroy also frees resources allocated for the peer connection in the Connection ( 379) property in Create ( 378). Destroy calls the inherited destructor prior to exiting from the method. See Also Create (

378)

Connection (

379)

TIdTCPServer.Contexts

TIdContext.RemoveFromList Method Removes the session context from the list of session contexts in a TCP server. Pascal procedure RemoveFromList; Description RemoveFromList is a procedure used to remove the current session context from the list of session contexts used in a TCP server. RemoveFromList breaks the association between the session context and list maintained for the server by setting the internal list of session contexts to Nil.

TIdContext Properties The Properties of the TIdContext class are listed here. Properties Property

Description

Connection (

379)

Represents the peer connection for a client session on the TCP server.

Legend Property read only

TIdContext.Connection Property Represents the peer connection for a client session on the TCP server. Pascal property Connection: TIdTCPConnection; Description Connection is a read-only TIdTCPConnection ( the TCP server.

2349) property that represents the peer connection for a client session running on

Connection is initialized in Create (

378) using the argument value passed to the constructor.

Connection is freed in the Destroy (

378) method.

Connection can be used in the OnBeforeRun ( 380), OnRun ( 381), and OnAfterRun ( 380) event handler procedures to access properties and methods for the TIdTCPConnection ( 2349) instance. Of special importance are the IOHandler property and the Disconnect method for the connection. The TIdTCPConnection ( for the server.

2349) instance passed to the constructor is created by a listener thread that detect connection requests

Internet Direct (Indy) Version 10.1.5

379

TIdContext Class

Classes

See Also TIdTCPConnection (

2349)

TIdTCPServer.OnConnect TIdTCPServer.OnDisconnect TIdTCPServer.OnExecute (

2379)

TIdContext Events The Events of the TIdContext class are listed here. Events Event

Description

OnAfterRun (

380)

OnBeforeRun ( OnRun (

Event handler signalled after execution of the client connection context.

380)

Event handler signalled before execution of the client connection context.

381)

Event handler signalled to execute the task for the client session context.

Legend Event

TIdContext.OnAfterRun Event Event handler signalled after execution of the client connection context. Pascal property OnAfterRun: TIdContextAfterRun; Description OnAfterRun is a TIdContextAfterRun ( context has completed execution.

3014) event handler property signalled when the executable task for the client connection

The session context is passed as an argument to the event handler procedure. TIdContext.OnAfterRun is used when execution of the task in OnRun ( for the session contexts in the TCP server.

381) has been completed, and prior to removing the task

TIdContext.OnBeforeRun Event Event handler signalled before execution of the client connection context. Pascal property OnBeforeRun: TIdContextBeforeRun; Description OnBeforeRun is a TIdContextBeforeRun ( thread for the TCP server.

3014) event handler property used following creation of a session context by a listener

The session context that represents the executable for a client connection is passed as an argument to the event handler procedure. OnBeforeRun is normally assigned a procedure runs the OnConnect event handler in TIdTCPServer ( signalled once before execution of the OnRun ( 381) loop for the session context.

2375). OnBeforeRun is

See Also TIdContextBeforeRun (

3014)

TIdTCPServer.OnConnect

380

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookieList Class

TIdContext.OnRun Event Event handler signalled to execute the task for the client session context. Pascal property OnRun: TIdContextRun; Description OnRun is a TIdContextRun ( client session context.

3015) event handler property that represents the event handler signalled to execute the task for the

The session context is passed as an argument to the event handler during execution. OnRun is normally assigned a procedure in the server that triggers the OnExecute loop for the TCP server. Listener threads in TIdTCPServer ( 2375) assign procedures for the OnBefore, OnRun, and OnAfterRun ( 380) event handlers that trigger the OnConnect, OnExecute, and OnDisconnect event handlers (respectively). See Also TIdContextRun (

3015)

TIdListenerThread (

1445)

TIdTCPServer.OnConnect TIdTCPServer.OnExecute (

2379)

TIdTCPServer.OnDisconnect

TIdCookieList Class Provides access to Cookies (

382) by name or index position.

File IdCookie (

4606)

Hierarchy

Pascal TIdCookieList = class(TIdStringList); Description TIdCookieList is a TStringList descendant that provides access to Cookie class instances using common TStringList methods and properties. TIdCookieList extends the ancestor class to include accessing TIdNetscapeCookie ( 1679) Objects using an Integer index. TIdCookieList is the type used to represent the TIdCookies.CookieListByDomain property. TIdCookieList also used by TIdCookieManager (

382) in the GenerateCookieList method.

See Also TIdCookies.CookieListByDomain TIdCookieManager.GenerateCookieList (

385)

TIdCookieList Members The following tables list the members exposed by TIdCookieList.

Internet Direct (Indy) Version 10.1.5

381

TIdCookieManager Class

Classes

Properties Property Cookies (

Description 382)

Provides access to a list of Cookies.

Legend Property read only

TIdCookieList Properties The Properties of the TIdCookieList class are listed here. Properties Property Cookies (

Description 382)

Provides access to a list of Cookies.

Legend Property read only

TIdCookieList.Cookies Property Provides access to a list of Cookies. Pascal property Cookies [Index: Integer]: TIdNetscapeCookie; Description Cookies is a read-only TIdNetscapeCookie ( Integer index or position.

1679) property that provides access to a list of Cookie class instances using an

Cookies ensures that an Object in the TStringList descendant is cast to a TIdNetscapeCookie (

1679) instance before use.

See Also TIdNetscapeCookie (

1679)

TIdCookieManager Class Implements a HTTP client Cookie manager. File IdCookieManager (

4607)

Hierarchy

Pascal TIdCookieManager = class(TIdBaseComponent); Description TIdCookieManager is a TIdBaseComponent ( 266) descendant that implements a management facility for persistent HTTP state information, as described in the Internet Standards and reference documents: RFC 2109 - HTTP State Management Mechanism RFC 2965 - HTTP State Management Mechanism 382

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookieManager Class

Netscape Persistent Client State - HTTP Cookies The TIdCookieManager component provides the Add and Add2 methods that enable maintenance of Cookie class instances added to the CookieCollection ( 386) in an HTTP Client connection. The GenerateCookieList ( 385) method is provided to create ( 267) a textual representation of Cookies maintained for a specific URI. In addition, TIdCookieManager implements event handlers that allow event notifications during creation or destruction of the TIdCookieManager class instance, and when Cookies are added using the Cookie manager. TIdCookieManager is used by a TIdHTTP ( 1041) client in the CookieMananger property when AllowCookies is True. The HTTP client uses CookieManager to maintain a Cookie collection when 'Set-cookie' or 'Set-cookie2' headers are detected in a response from an HTTP server. See Also TIdHTTP (

1041)

TIdHTTPServer (

1102)

TIdCookieRFC2109 (

388)

TIdCookieRFC2965 (

391)

IndySupport (

15)

TIdCookieManager Members The following tables list the members exposed by TIdCookieManager. Properties Property

Description

CookieCollection ( OnCreate (

386)

387)

Represents a container for Cookies managed by TIdCookieManager ( Event handler signalled during the Create (

267) method. 267) method.

OnDestroy (

387)

Event handler signalled during the Create (

Version (

269)

Identifies the version number for the Indy component suite.

382).

Methods Method

Description

AddCookie (

384)

AddCookie2 ( Create (

Adds a cookie to the collection managed by IdCookieManager.

267)

Destroy (

Constructor for the object instance.

385)

GenerateCookieList ( GetVersion ( CType (

Adds a cookie to the collection managed by IdCookieManager.

384)

Frees the object instance. 385)

269)

Generates Cookie text for the specified host and path. Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnNewCookie (

388)

Event handler signalled when Cookies are added to the collection.

Legend Method virtual Property read only Event

TIdCookieManager Methods The Methods of the TIdCookieManager class are listed here. Internet Direct (Indy) Version 10.1.5

383

TIdCookieManager Class

Classes

Methods Method AddCookie ( AddCookie2 ( Destroy (

Description 384)

Adds a cookie to the collection managed by IdCookieManager.

384)

Adds a cookie to the collection managed by IdCookieManager.

385)

GenerateCookieList (

Frees the object instance. 385)

Generates Cookie text for the specified host and path.

Legend Method virtual

TIdCookieManager.AddCookie Method Adds a cookie to the collection managed by IdCookieManager. Pascal procedure AddCookie( ACookie: String; AHost: String ); Parameters Parameters

Description

ACookie

Textual Cookie values as described in RFC 2109.

AHost

Host name or address from the URI for the HTTP request.

Description AddCookie is a procedure that creates a new TIdCookieRFC2109 ( 388) Cookie class instance for the Cookie values specified in ACookie and the Domain specified in AHost. The internal implementation of AddCookie ensures that the Cookie is updated to reflect the values in ACookie, and sets the Domain attribute of the Cookie to AHost when no specific Domain is found in the Cookie contents. AddCookie checks that the Cookie is valid for the Domain specified in AHost prior to signalling the OnNewCookie ( 388) event handler. When AHost is not a valid Domain, or the OnNewCookie ( 388) event handler indicates that the Cookie has been rejected, the Cookie class instance is removed from the CookieCollection ( 386) and freed. Example // add a cookie to the collection for this domain IdHttpClient1.CookieManager.AddCookie('MyCookie=MyCookieValue','www.mydomain.com'); See Also TIdCookieManager.CookieCollection ( TIdCookieManager.OnNewCookie ( TIdNetscapeCookie.Domain (

388)

1683)

TIdNetscapeCookie.IsValidCookie ( TIdCookieRFC2109 (

386)

1681)

388)

TIdCookieManager.AddCookie2 Method Adds a cookie to the collection managed by IdCookieManager. Pascal procedure AddCookie2( ACookie: String; AHost: String );

384

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookieManager Class

Parameters Parameters

Description

ACookie

Textual Cookie values as described in RFC 2965.

AHost

Host name or address from the URI for the HTTP request.

Description AddCookie2 is a procedure that creates a new TIdCookieRFC2965 ( 391) Cookie class instance for the Cookie values specified in ACookie and the Domain specified in AHost. The internal implementation of AddCookie2 ensures that the Cookie is updated to reflect the values in ACookie, and sets the Domain attribute of the Cookie to AHost when no specific Domain is found in the Cookie contents. AddCookie2 checks that the Cookie is valid for the Domain specified in AHost prior to signalling the OnNewCookie ( 388) event handler. When AHost is not a valid Domain, or the OnNewCookie ( 388) event handler indicates that the Cookie has been rejected, the Cookie class instance is removed from the CookieCollection ( 386) and freed. Example // add a cookie to the collection for this domain IdHttpClient1.CookieManager.AddCookie2('MyCookie=MyCookieValue','www.mydomain.com'); See Also TIdCookieRFC2965 (

391)

TIdCookieManager.CookieCollection ( TIdCookieManager.OnNewCookie ( TIdNetscapeCookie.Domain (

386)

388)

1683)

TIdNetscapeCookie.IsValidCookie (

1681)

TIdCookieManager.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy will signal a TNotifyEvent event type whan a procedure has been assigned to the OnDestroy ( 387) event handler. Use OnDestroy ( 387) to handle management of the CookieCollection ( 382) object instance.

386) during destruction of the TIdCookieManager (

Destroy frees resources allocated to the cookie manager, including the CookieCollection ( inherited Destroy method.

386) property, prior to calling the

See Also TIdCookieManager.OnDestroy (

387)

TIdCookieManager.CookieCollection (

386)

TIdCookieManager.GenerateCookieList Method Generates Cookie text for the specified host and path. Pascal function GenerateCookieList( URL: TIdURI; SecureConnection: Boolean = false ): String;

Internet Direct (Indy) Version 10.1.5

385

TIdCookieManager Class

Classes

Parameters Parameters

Description

URL

URI specifying the Host and Path for valid Cookie content.

SecureConnection

Indicates if a Secure connection is required. Default value is False.

Returns String - Textual representation of the matching Cookies. Description GenerateCookieList is a String function that generates the textual content for Cookies in the CookieCollection ( the Domain and Path for the location specified in URL in the HTTP server request.

386) that match

SecureConnection indicates whether Cookies must contain a Secure attribute value before they are included in the generated Cookie content for the HTTP client. Cookies in the CookieCollection ( 386) will not be used in the generated content when Domain, Path, or Secure Cookie attributes do not match the required values. Cookies can also be ignored when they have Expired. GenerateCookieList creates and populates a TIdCookieList ( 381) with Cookie class instances matching the specifieed Host and Path values, and fills the return value with the CookieName and Value for corresponding Cookies in the list. GenerateCookieList frees the TIdCookieList ( 381) prior to exiting from the method. GenerateCookieList is called when an HTTP request is prepared and executed using the Post or Put methods of an HTTP client. See Also CookieCollection (

386)

TIdCookieRFC2109 (

388)

TIdNetscapeCookie.Secure (

1684)

TIdNetscapeCookie.Domain (

1683)

TIdNetscapeCookie.Path ( TIdCookieList (

1684)

381)

TIdCookieManager Properties The Properties of the TIdCookieManager class are listed here. Properties Property

Description

CookieCollection ( OnCreate ( OnDestroy (

387) 387)

386)

Represents a container for Cookies managed by TIdCookieManager ( Event handler signalled during the Create (

267) method.

Event handler signalled during the Create (

267) method.

382).

Legend Property read only

TIdCookieManager.CookieCollection Property Represents a container for Cookies managed by TIdCookieManager (

382).

Pascal property CookieCollection: TIdCookies; Description CookieCollection is a read-only TIdCookies ( TIdCookieManager ( 382) for the HTTP client. 386

394) property that represents the Cookie class instances maintained by the

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookieManager Class

CookieCollection is accessed when TIdCookieManager ( 382) creates new Cookie class instances in calls to AddCookie ( or AddCookie2 ( 384), and when the textual Cookie content is prepared using GenerateCookieList ( 385).

384)

Use the OnNewCookie ( 388) event handler to manage the CookieCollection when new Cookie class instances are created in AddCookie ( 384) or AddCookie2 ( 384). Use the OnCreate ( 387) and OnDestroy ( 387) event handlers to manage the CookieCollection during creation or destruction of the TIdCookieManager ( 382) class instance. See Also TIdCookies (

394)

TIdCookieManager.AddCookie (

384)

TIdCookieManager.AddCookie2 (

384)

TIdCookieManager.GenerateCookieList ( TIdCookieManager.OnNewCookie ( TIdCookieManager.OnCreate ( TIdCookieManager.OnDestroy (

385)

388)

387) 387)

TIdCookieManager.OnCreate Property Event handler signalled during the Create (

267) method.

Pascal property OnCreate: TOnCreateEvent; Description OnCreate is a TOnCreateEvent ( 3103) property that represents the event handler signalled during creation of the TIdCookieManager ( 382) object instance. Applications must assign a procedure to the event handler to allow responding to the event notification. OnCreate can be used to handle management of the CookieCollection ( Create ( 267) method. Use OnDestroy (

387) to handle management of the CookieCollection (

386) when the TIdCookieManager (

382) calls the

386) when the object instance is freed.

See Also TIdCookieManager.Destroy (

385)

TIdCookieManager.OnDestroy (

387)

TIdCookieManager.OnDestroy Property Event handler signalled during the Create (

267) method.

Pascal property OnDestroy: TOnDestroyEvent; Description OnDestroy is a TOnDestroyEvent ( 3105) property that represents the event handler signalled during destruction of the TIdCookieManager ( 382) object instance. OnDestroy can be used to handle management of the CookieCollection ( 386) when the TIdCookieManager ( 382) calls the Destroy ( 385) method. Applications must assign a procedure to the event handler to allow responding to the event notification. Use OnCreate (

387) to handle management of the CookieCollection (

386) when the object instance is created.

See Also TIdCookieManager.Destroy (

385)

Internet Direct (Indy) Version 10.1.5

387

TIdCookieRFC2109 Class

Classes

TIdCookieManager.OnCreate (

387)

TIdCookieManager Events The Events of the TIdCookieManager class are listed here. Events Event

Description

OnNewCookie (

388)

Event handler signalled when Cookies are added to the collection.

Legend Event

TIdCookieManager.OnNewCookie Event Event handler signalled when Cookies are added to the collection. Pascal property OnNewCookie: TOnNewCookieEvent; Description OnNewCookie is a TOnNewCookieEvent ( instances are added to the CookieCollection (

3109) property that represents the event handler signalled when Cookie class 386).

OnNewCookie is signalled when AddCookie ( 384) or AddCookie2 ( class instance used to represent the text for the Cookie.

384) is used to create (

267) the corresponding Cookie

OnNewCookie can indicate if the Cookie is accepted or rejected based on values detected in the Cookie content. Use OnNewCookie to override the default logic used in management of the CookieCollection ( the collection.

386) when Cookies are added to

Applications must assign a procedure to the event handler to allow responding to the event notification. See Also TOnNewCookieEvent ( AddCookie ( AddCookie2 (

3109)

384) 384)

CookieCollection (

386)

TIdCookieRFC2109 Class Implements a persistent session mechanism using Cookies with extended headers. File IdCookie (

4606)

Hierarchy

Pascal TIdCookieRFC2109 = class(TIdNetscapeCookie); Description TIdCookieRFC2109 is a TIdNetscapeCookie ( 388

1679) descendant that implements a persistent session mechanism using Cookies Internet Direct (Indy) Version 10.1.5

Classes

TIdCookieRFC2109 Class

in HTTP requests and responses, as described in the Internet Standards document: RFC 2109 - HTTP State Management Mechanism TIdCookieRFC2109 extends TIdNetscapeCookie ( 1679) by adding extended Cookie headers, and allows additional Cookie attributes to be indicated in the MaxAge ( 390), Comment ( 390), and Version ( 391) properties. TIdCookieRFC2109 differs from the original Netscape Cookie proposal, and uses MaxAge ( Cookie data.

390) to represent the longevity of

See Also TIdCookieRFC2965 (

391)

TIdNetscapeCookie (

1679)

TIdCookieRFC2109 Members The following tables list the members exposed by TIdCookieRFC2109. Properties Property

Description

ClientCookie ( Comment (

1682)

390)

CookieName ( CookieText (

Represents the Cookie name and value. Represents private data or documentation in a Cookie.

1682) 1683)

Represents the identity for a Cookie header. Represents the textual representation for a Cookie including attribute parameters.

Domain (

1683)

Indicates the host system where a Cookie is valid.

Expires (

1683)

Indicates the life time of the Cookie.

MaxAge (

390)

Path (

Represents the longevity of the Cookie.

1684)

Secure (

Specifies the subset of URLs valid for the Cookie.

1684)

ServerCookie ( Value (

Indicates the Cookie requires a secure communications channel. 1684)

1684)

Version (

Represents the Cookie contents in a Server response. Represents persistent state data associated with a Cookie name.

391)

Version of the Cookie specification supported.

Methods Method

Description

Assign (

1680)

Copies property values to the current object instance.

Create (

390)

Constructor for the object instance.

Destroy (

1681)

IsValidCookie (

Frees the collection item. 1681)

Indicates if the Domain (

1683) for the Cookie matches the host server for the request.

Legend Method virtual Property read only

TIdCookieRFC2109 Methods The Methods of the TIdCookieRFC2109 class are listed here. Methods Method Create (

Description 390)

Constructor for the object instance.

Legend Constructor virtual

Internet Direct (Indy) Version 10.1.5

389

TIdCookieRFC2109 Class

Classes

TIdCookieRFC2109.Create Constructor Constructor for the object instance. Pascal constructor Create( ACollection: TIdCollection ); override; Parameters Parameters

Description

ACollection

Collection that owns the collection item.

Description Create is the constructor for the object instance, and calls the inherited Create method using the collection that owns the Cookie specified in ACollection. Create also sets the MaxAge ( has determined.

390) property to the default value GFMaxAge (

3211), indicating that no MaxAge (

390) value

See Also MaxAge (

390)

TIdCookieRFC2109 Properties The Properties of the TIdCookieRFC2109 class are listed here. Properties Property Comment (

Description 390)

Represents private data or documentation in a Cookie.

MaxAge (

390)

Represents the longevity of the Cookie.

Version (

391)

Version of the Cookie specification supported.

Legend Property

TIdCookieRFC2109.Comment Property Represents private data or documentation in a Cookie. Pascal property Comment: String; Description Comment is a String property that represents an optional Cookie attribute that can contain private information about the user, or document the intended use of the Cookie. An HTTP Client can inspect values in Comment to decide whether to initiate or continue a session with this Cookie.

TIdCookieRFC2109.MaxAge Property Represents the longevity of the Cookie. Pascal property MaxAge: Int64; Description MaxAge is a Int64 property that represents the optional Cookie attibute that defines the lifetime of the Cookie in seconds. MaxAge 390

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookieRFC2965 Class

contains a positive integer value or 0 (zero). When the number of seconds in MaxAge has elapsed, the client should discard the Cookie. A value of 0 (zero) means the cookie should be discarded immediately. When MaxAge contains the value GFMaxAge ( Changing the value of the inherited Expires ( value in Expires ( 1683).

3211), a value has not been determined or assigned to the MaxAge property. 1683) property will result in the MaxAge property being recalculated using the date

See Also TIdNetscapeCookie.Expires (

1683)

TIdCookieRFC2109.Version Property Version of the Cookie specification supported. Pascal property Version: String; Description Version is a String property that represents the Cookie attribute that specifies the version number of the state management specification supported by the Cookie. Version is required in TIdCookieRFC2109 ( property.

388), and assumes the Version value is "1" when no explicit value is supplied in the

TIdCookieRFC2965 Class Implements a persistent session mechanism using Cookies with extend headers. File IdCookie (

4606)

Hierarchy

Pascal TIdCookieRFC2965 = class(TIdCookieRFC2109); Description TIdCookieRFC2965 is a TIdCookieRFC2109 ( 388) descendant that implements a persistent session mechanism using Cookies in HTTP requests and responses, as described in the Internet Standards document: RFC 2965 - HTTP State Management Mechanism TIdCookieRFC2965 extends TIdCookieRFC2109 ( 388) by adding additional extended Cookie headers, and allows additional Cookie attributes to be indicated in the CommentURL ( 393), Discard ( 393), and PortList ( 393) properties. TIdCookieRFC2965 differs from the original Netscape Cookie proposal, but can interoperate with HTTP/1.0 clients that use the Netscape Cookie mechanism. The significant differences in TIdCookieRFC2965 are the ability to formulate extended Cookie headers that contain MaxAge ( 390), Discard ( 393), and PortList ( 393) attribute values. See Also TIdNetscapeCookie ( TIdCookieRFC2109 (

1679) 388)

Internet Direct (Indy) Version 10.1.5

391

TIdCookieRFC2965 Class

Classes

TIdCookieRFC2965 Members The following tables list the members exposed by TIdCookieRFC2965. Properties Property

Description

ClientCookie ( Comment (

1682)

390)

Represents private data or documentation in a Cookie.

CommentURL (

393)

CookieName (

1682)

CookieText (

Represents the Cookie name and value.

1683)

Version (

391) of the Cookie specification supported.

Represents the identity for a Cookie header. Represents the textual representation for a Cookie including attribute parameters.

Discard (

393)

Indicates that a Cookie should be discarded after use.

Domain (

1683)

Indicates the host system where a Cookie is valid.

Expires (

1683)

Indicates the life time of the Cookie.

MaxAge (

390)

Path (

Represents the longevity of the Cookie.

1684)

Specifies the subset of URLs valid for the Cookie.

PortList (

393)

Secure (

1684)

ServerCookie ( Value (

Represents port numbers allowed for HTTP requests. Indicates the Cookie requires a secure communications channel. 1684)

1684)

Version (

Represents the Cookie contents in a Server response. Represents persistent state data associated with a Cookie name.

391)

Version of the Cookie specification supported.

Methods Method

Description

Assign (

1680)

Copies property values to the current object instance.

Create (

392)

Constructor for the object instance.

Destroy (

1681)

IsValidCookie (

Frees the collection item. 1681)

Indicates if the Domain (

1683) for the Cookie matches the host server for the request.

Legend Method virtual Property read only

TIdCookieRFC2965 Methods The Methods of the TIdCookieRFC2965 class are listed here. Methods Method Create (

Description 392)

Constructor for the object instance.

Legend Constructor virtual

TIdCookieRFC2965.Create Constructor Constructor for the object instance. Pascal constructor Create( ACollection: TIdCollection ); override;

392

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookieRFC2965 Class

Parameters Parameters

Description

ACollection

Collection that owns the collection item.

Description Create is the constructor for the object instance, and calls the inherited Create method using the collection that owns the Cookie specified in ACollection. Use Destroy (

1681) to free the object instance.

TIdCookieRFC2965 Properties The Properties of the TIdCookieRFC2965 class are listed here. Properties Property

Description

CommentURL (

393)

Version (

391) of the Cookie specification supported.

Discard (

393)

Indicates that a Cookie should be discarded after use.

PortList (

393)

Represents port numbers allowed for HTTP requests.

Legend Property

TIdCookieRFC2965.CommentURL Property Version (

391) of the Cookie specification supported.

Pascal property CommentURL: String; Description Version ( 391) is a String property that represents the Cookie attribute that specifies the version number of the state management specification supported by the Cookie. Version ( 391) is required in TIdCookieRFC2109 ( supplied in the property.

388), and assumes the Version (

391) value is "1" when no explicit value is

TIdCookieRFC2965.Discard Property Indicates that a Cookie should be discarded after use. Pascal property Discard: Boolean; Description Discard is a Boolean property that represents an optional Cookie attribute that indicates how the Cookie is handled during Cookie management. When Discard is True, the HTTP client should unconditionally discard the Cookie when the user agent terminates. Use MaxAge (

390) or Expires (

1683) to control Cookie longevity based on dates or duration.

See Also TIdNetscapeCookie.Expires (

1683)

TIdCookieRFC2109.MaxAge (

390)

TIdCookieRFC2965.PortList Property Represents port numbers allowed for HTTP requests. Internet Direct (Indy) Version 10.1.5

393

TIdCookies Class

Classes

Pascal property PortList [AIndex: Integer]: Integer; Description PortList is an Array property that contains optional Integer values representing port numbers where a Cookie may be returned in an HTTP request. PortList is accessed using the zero-based Integer index value specified in AIndex. A Cookie can be rejected in an HTTP request when the port number for the request does not match a value specified in PortList. The default HTTP port (80) is added to PortList when no explicit values are specified.

TIdCookies Class Implements a container for Cookie (

401) class instances.

File IdCookie (

4606)

Hierarchy

Pascal TIdCookies = class(TIdOwnedCollection); Description TIdCookies is a TOwnedCollection descendant that implements a container for Cookie (

401) class instances.

TIdCookies provides methods that allow creation of both TIdCookieRFC2109 ( 388) and TIdCookieRFC2965 ( 391) Cookie ( 401) class instances. TIdCookies also provides methods that provide access to Cookie ( 401) class instances using Cookie ( 401) name, Cookie ( 401) name and Domain, and an integer position in the Cookie ( 401) collection. TIdCookies is the type used by TIdCookieManager ( 1041) client.

382) to represent the Cookie (

401) collection maintained by a TIdHTTP (

See Also TIdHTTP (

1041)

TIdCustomHTTP.CookieManager ( TIdCookieManager (

422)

382)

TIdCookieRFC2109 (

388)

TIdCookieRFC2965 (

391)

TIdCookies Members The following tables list the members exposed by TIdCookies. Properties Property

Description

Cookie ( Items (

394

401)

401)

Provides access to Cookie collection items using name and domain values. Provides access to Cookie (

401) collection items by position in the container.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookies Class

Methods Method Add (

Description 395)

Add2 (

396)

AddCookie (

396)

AddSrcCookie (

Creates a Cookie (

401) class instance to be added to the Cookie (

401) collection.

Creates a Cookie (

401) class instance to be added to the Cookie (

401) collection.

Adds or updates a Cookie (

397)

Creates a new Cookie (

401) instance in the collection.

401) collection item using the textual Cookie (

Create (

397)

Constructor for the object instance.

Delete (

397)

Removes a Cookie (

Destroy (

398)

401) from the collection.

Frees the object instance.

LockCookieListByDomain ( GetCookieIndex (

401) data.

399)

Provides resource protection for write access to Cookies in the Cookie (

401) collection.

398)

UnlockCookieListByDomain (

400)

Releases resource protection for accessing Cookies in the Cookie (

401) collection.

Legend Method virtual Property read only

TIdCookies Methods The Methods of the TIdCookies class are listed here. Methods Method Add (

Description 395)

Add2 (

396)

AddCookie (

396)

AddSrcCookie (

Creates a Cookie (

401) class instance to be added to the Cookie (

401) collection.

Creates a Cookie (

401) class instance to be added to the Cookie (

401) collection.

Adds or updates a Cookie (

397)

Creates a new Cookie (

401) instance in the collection.

401) collection item using the textual Cookie (

Create (

397)

Constructor for the object instance.

Delete (

397)

Removes a Cookie (

Destroy (

398)

GetCookieIndex (

401) data.

401) from the collection.

Frees the object instance. 398)

LockCookieListByDomain ( UnlockCookieListByDomain (

399)

Provides resource protection for write access to Cookies in the Cookie (

400)

Releases resource protection for accessing Cookies in the Cookie (

401) collection.

401) collection.

Legend Method virtual

TIdCookies.Add Method Creates a Cookie (

401) class instance to be added to the Cookie (

401) collection.

Pascal function Add: TIdCookieRFC2109; Returns TIdCookieRFC2109 (

388) - Cookie (

401) class instance added to the collection.

Description Add is a TIdCookieRFC2109 ( 388) function that creates a new instance of TIdCookieRFC2109 ( 388) to be added to the Cookie ( 401) collection. Add creates the Cookie ( 401) class instance using the TIdCookies ( 394) object instance as the owner of the collection item. Add is called from the TIdCookieManager.AddCookie ( client as an TIdCookieRFC2109 ( 388) class instance.

Internet Direct (Indy) Version 10.1.5

384) method when a CookieName and Domain are added to an HTTP

395

TIdCookies Class

Classes

See Also TIdCookieManager.AddCookie ( TIdCookieRFC2109 (

384)

388)

TIdCookies.Add2 Method Creates a Cookie (

401) class instance to be added to the Cookie (

401) collection.

Pascal function Add2: TIdCookieRFC2965; Returns TIdCookieRFC2965 (

391) - Cookie (

401) class instance added to the collection.

Description Add2 is a TIdCookieRFC2965 ( 391) function that creates a new instance of TIdCookieRFC2965 ( 391) to be added to the Cookie ( 401) collection. Add ( 395) creates the Cookie ( 401) class instance using the TIdCookies ( 394) object instance as the owner of the collection item. Add2 is called from the TIdCookieManager.AddCookie2 ( client as an TIdCookieRFC2965 ( 391) class instance.

384) method when a CookieName and Domain are added to an HTTP

See Also TIdCookieManager.AddCookie2 ( TIdCookieRFC2965 (

384)

391)

TIdCookies.AddCookie Method Adds or updates a Cookie (

401) instance in the collection.

Pascal procedure AddCookie( ACookie: TIdCookieRFC2109 ); Parameters Parameters

Description

ACookie

Cookie (

401) class instance to be added or updated in the collection.

Description AddCookie is a procedure that adds a TIdCookieRFC2109 ( 388) class instance specified in ACookie to the Cookie ( 401) collection. AddCookie uses an instance of TIdCookieList ( 381) to maintain a list of Cookies for the Domain specified in ACookie. AddCookie uses LockCookieListByDomain ( CookieName specified in ACookie.

399) to create (

397) or maintain Cookie (

401) class instances using the value of

If a Cookie ( 401) having the Domain and CookieName specified in ACookie already exists in the collection, the Cookie ( 401) value is assigned to the existing TIdCookieRFC2109 ( 388) object instance and ACookie is freed. Otherwise, ACookie is added to the Cookie ( 401) list for the specified Domain and CookieName. AddCookie is called by TIdCookieManager (

382) when a Cookie (

401) is added to the collection maintained by an HTTP client.

See Also TIdCookieManager.AddCookie ( TIdCookieRFC2109 ( TIdCookieList (

384)

388)

381)

TIdCookies.CookieListByDomain 396

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookies Class

TIdCookies.AddSrcCookie Method Creates a new Cookie (

401) collection item using the textual Cookie (

401) data.

Pascal procedure AddSrcCookie( const sCookie: string ); Parameters Parameters

Description

sCookie

Textual representation of the Cookie (

401).

Description AddSrcCookie is a procedure used to create ( 397) a new Cookie ( representation of Cookie ( 401) specified in sCookie.

401) class instance in the collection using the textual

AddSrcCookie calls Add ( 395) to create ( 397) the Cookie ( 401) class instance added to the collection. AddSrcCookie sets the name, value, and attributes for the new Cookie ( 401) by updating CookieText to reflect the data specified in sCookie. See Also TIdCookies.Add (

395)

TIdNetscapeCookie.CookieText (

1683)

TIdCookies.Create Constructor Constructor for the object instance. Pascal constructor Create( AOwner: TIdPersistent ); Parameters Parameters

Description

AOwner

Owner of the collection.

Description Create is the constructor for the object instance. Create calls the inherited Create method using AOwner as the owner of the collection, and TIdCookieRFC2109 ( 388) as the ItemClass maintained in the collection. Create allocates an internal TMultiReadExclusiveWriteSynchronizer instance that is used to protect access to the collection in a multi-threaded application. Create initializes the internal TIdCookieList ( Use Destroy (

381), and sets the Sorted property to False for the member.

398) to free the object instance.

See Also TIdCookies.Destroy (

398)

TIdCookies.LockCookieListByDomain ( TIdCookieList (

399)

381)

TIdCookies.Delete Method Removes a Cookie (

401) from the collection.

Pascal procedure Delete( Internet Direct (Indy) Version 10.1.5

397

TIdCookies Class

Classes

Index: Integer ); Parameters Parameters

Description

Index

Position of the Cookie (

401) in the container.

Description Delete is a procedure that allows freeing a Cookie ( Delete accesses the collection using the Items ( collection item.

401) class instance in the collection by its Integer position specified in Index. 401) property and the specified Index position to call the Free method for the

See Also TIdCookies.Items (

401)

TIdCookies.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy calls Clear to ensure that Cookies are removed from the collection. Destroy frees resources allocated in the Create ( 397) constructor, including the internal TIdCookieList ( protection mechanism used to access the collection.

381) and the internal

Destroy calls the inherited Destroy method prior to exiting. See Also Create (

397)

LockCookieListByDomain ( TIdCookieList (

399)

381)

TIdCookies.GetCookieIndex Method Overload List Method

Description

TIdCookies.GetCookieIndex string) ( 398)

(integer,

TIdCookies.GetCookieIndex string, string) ( 399)

(integer, Indicates the index position of a Cookie (

401) containing specified values.

TIdCookies.GetCookieIndex Method (integer, string) Pascal function GetCookieIndex( FirstIndex: integer; const AName: string ): Integer; overload; Parameters Parameters

Description

FirstIndex AName

398

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookies Class

Returns Integer Description GetCookieIndex is an overloaded method. See Also TIdCookies.GetCookieIndex

TIdCookies.GetCookieIndex Method (integer, string, string) Indicates the index position of a Cookie (

401) containing specified values.

Pascal function GetCookieIndex( FirstIndex: integer; const AName: string; const ADomain: string ): Integer; overload; Parameters Parameters

Description

FirstIndex

Initial position to be examined in the collection.

AName

Cookie (

ADomain

Domain attribute to be matched.

401) name to be matched.

Returns Integer - Position of the matched Cookie (

401) in the collection, or -1 when not found.

Description GetCookieIndex is an overloaded Integer function that accesses Cookie ( 401) class instances in the collection to determine the position of the collection item matching the specified search criteria. GetCookieIndex will return the value -1 when a Cookie ( 401) cannot be located in the collection that matches the specified search criteria. FirstIndex specifies the initial position in the container to be used when comparing the values in the AName and ADomain parameters to the CookieName and Domain in Items ( 401). AName is the CookieName value desired in a Cookie ( ADomain is the Domain value desired in a Cookie (

401) collection item.

401) collection item.

GetCookieIndex is called from the GetCookie method to locate one of the Items ( Name and Domain.

401) in the collection that match a specified

See Also Items (

401)

TIdNetscapeCookie.CookieName ( TIdNetscapeCookie.Domain (

1682)

1683)

TIdCookies.GetCookieIndex

TIdCookies.LockCookieListByDomain Method Provides resource protection for write access to Cookies in the Cookie (

401) collection.

Pascal function LockCookieListByDomain( AAccessType: TIdCookieAccess ): TIdCookieList;

Internet Direct (Indy) Version 10.1.5

399

TIdCookies Class

Classes

Parameters Parameters

Description

AAccessType

Access requested for the resource protection block.

Returns TIdCookieList (

381) - List of Cookies for the specified Domain.

Description LockCookieListByDomain is a TIdCookieList ( 381) function that protects write access to resources in the Cookie ( collection for the using a TMultiReadExclusiveWriteSynchronizer. AAccessType is a TIdCookieAccess ( protection lock.

401)

2946) value that indicates the access type that should be recorded using the resource

The return value for LockCookieListByDomain is the values returned by the CookieListByDomain method call. LockCookieListByDomain is used by method that create ( Delete ( 397).

397) or free items in the Cookie (

401) collection, like Add (

395) and

See Also TIdCookieList (

381)

TIdCookieAccess ( TIdCookies.Add (

2946) 395)

TIdCookies.Delete (

397)

TIdCookies.UnlockCookieListByDomain Method Releases resource protection for accessing Cookies in the Cookie (

401) collection.

Pascal procedure UnlockCookieListByDomain( AAccessType: TIdCookieAccess ); Parameters Parameters

Description

AAccessType

Access requested for the resource protection block.

Description UnlockCookieListByDomain is a procedure used to release the resource protection block for the Cookie ( using LockCookieListByDomain ( 399). AAccessType is a TIdCookieAccess ( protection block.

401) collection created

2946) value that indicates the access type that should be released for the resource

UnlockCookieListByDomain is used by methods that create ( and Delete ( 397).

397) or free items in the Cookie (

401) collection, like Add (

395)

See Also TIdCookies.LockCookieListByDomain ( TIdCookies.Add (

399)

395)

TIdCookies.Delete (

397)

TIdCookies Properties The Properties of the TIdCookies class are listed here. 400

Internet Direct (Indy) Version 10.1.5

Classes

TIdCookies Class

Properties Property

Description

Cookie ( Items (

401)

Provides access to Cookie collection items using name and domain values.

401)

Provides access to Cookie (

401) collection items by position in the container.

Legend Property read only

TIdCookies.Cookie Property Provides access to Cookie collection items using name and domain values. Pascal property Cookie [const AName, ADomain: string]: TIdCookieRFC2109; Returns TIdCookieRFC2109 (

388) - Cookie with the specified name and domain, or Nil.

Description Cookie is a read-only TIdCookieRFC2109 ( 388) property that provides indexed access to Cookies in the collection using the name and domain specified in AName and ADomain. TIdCookies ( 394) calls GetCookieIndex ( 398), when using the read access specifier for Cookie, to determine the position of the Cookie having the specified CookieName and Domain. Cookie can return Nil when a Cookie cannot be located in the collection having the specified name and domain values. Use LockCookieListByDomain ( Use Items (

399) to limit access to Cookie collection items having a specified Domain value.

401) to access Cookie collection items by their integer position in the container.

See Also TIdCookieRFC2109 (

388)

TIdCookies.GetCookieIndex (

398)

TIdCookies.LockCookieListByDomain ( TIdCookies.Items (

399)

401)

TIdCookies.Items Property Provides access to Cookie (

401) collection items by position in the container.

Pascal property Items [Index: Integer]: TIdCookieRFC2109; Parameters Parameters

Description

Index

Position in the container to be accessed.

Returns TIdCookieRFC2109 (

388) - Cookie (

401) at the specified position in the collection.

Description Items is an indexed TIdCookieRFC2109 ( 388) property that provides access to Cookie ( 401) class instances in the collection using the Integer position specified in Index. Items is the default property used when accessing the collection. Items is used when accessing or updating Cookie ( ( 397) methods.

Internet Direct (Indy) Version 10.1.5

401) collection items in the GetCookie, GetCookieIndex (

398), and Delete

401

TIdCreationDateFTPListItem Class

Classes

See Also TIdCookies.GetCookieIndex ( TIdCookies.Delete (

398)

397)

TIdCookieRFC2109 (

388)

TIdCreationDateFTPListItem Class Represents items in a structured directory listing that includes a CreationDate (

403) attribute.

File IdFTPListTypes (

4646)

Hierarchy

Pascal TIdCreationDateFTPListItem = class(TIdFTPListItem); Description TIdCreationDateFTPListItem is a TIdFTPListItem ( 851) descendant that represents entries including a CreationDate ( attribute in the structured directory listing for TIdFTP ( 759). TIdCreationDateFTPListItem implements the CreationDate ( property used to store the TIdDateTime ( 4733) value for the file or directory entry.

403) 403)

TIdCreationDateFTPListItem is used as an ancestor class in more specialized directory listing formats that implement the CreationDate ( 403) and other attributes. See Also TIdFTPListItem (

851)

TIdMLSTFTPListItem (

1644)

TIdCreationDateFTPListItem Members The following tables list the members exposed by TIdCreationDateFTPListItem. Properties Property

Description

CreationDate ( Data (

403)

Data from a directory listing response used to populate properties in the collection item.

FileName (

855)

ItemType (

855)

LocalFileName (

Name for a file as assigned on the remote FTP server. Indicates the type of item represented by the collection entry. 855)

ModifiedAvail (

856)

ModifiedDate (

856)

PermissionDisplay ( Size (

Represents the date and time that the file or directory was created on the FTP server remote file system.

855)

857)

SizeAvail (

Suggested file name to used for the local file system. Indicates if last modification date and time values are available for the collection item. Last modification date and time for the resource on the remote FTP server.

856)

User-displayable representation of permissions for the collection item. Indicates the allocated size for the file resource on the remote FTP server.

857)

Indicates if file size information is available in the Size (

857) property for the collection item.

Methods Method 853)

Create (

403)

Destroy (

402

Description

Assign (

854)

Copies property values from another structured directory listing entry. Frees the collection item.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCreationDateFTPListItem Class

Legend Method virtual Property

TIdCreationDateFTPListItem Methods The Methods of the TIdCreationDateFTPListItem class are listed here. Methods Method Create (

Description 403)

Legend Constructor virtual

TIdCreationDateFTPListItem.Create Constructor Pascal constructor Create( AOwner: TIdCollection ); override; Parameters Parameters

Description

AOwner

Type is TIdCollection (

3011).

Description Create is the overridden constructor for the object instance. AOwner is the collection that owns the collection item. Create calls the inherited constructor using AOwner as an argument. Create assigns the default values for the following inherited properties:

Property SizeAvail (

Value 857)

ModifiedAvail (

False

856)

The default value for the CreationDate (

False 403) property is an empty TIdDateTime (

4733) value.

TIdCreationDateFTPListItem Properties The Properties of the TIdCreationDateFTPListItem class are listed here. Properties Property

Description

CreationDate (

403)

Represents the date and time that the file or directory was created on the FTP server remote file system.

Legend Property

TIdCreationDateFTPListItem.CreationDate Property Represents the date and time that the file or directory was created on the FTP server remote file system. Internet Direct (Indy) Version 10.1.5

403

TIdCustomHTTP Class

Classes

Pascal property CreationDate: TIdDateTime; Description CreationDate is a TIdDateTime ( 4733) property that represents the date and time that the file or directory was created on the remote file system for an FTP server. CreationDate is returned in some structured directory listings in the Indy FTP client. The date and time value in CreationDate is intended to represent the property value expressed in the local timezone, but is entirely dependent on the values provided by remote FTP server.

TIdCriticalSection Class Represent critical sections used in the Indy library. File IdGlobal (

4650)

Hierarchy

Pascal TIdCriticalSection = class(TCriticalSection); Description TIdCriticalSection is a TCriticalSection (

193) descendant that represent critical sections used in the Indy library.

TIdCriticalSection allows a thread in a multi-threaded application to temporarily block other threads from accessing a block of code. Use TIdCriticalSection to safeguard operations that may be disrupted if another thread executes certain sections of code before the operation is completed. TIdCriticalSection allows only a single thread to enter ( 194) a block of code at any given time. Because they block the execution of other threads, overusing critical sections can seriously interfere with overall application performance. Critical sections must be global in scope so that they are available to all threads. In every thread, any action that could interfere with the operations safeguarded by the critical section should only take place after calling the Acquire ( 194) or Enter ( 194) method. Threads that do not use the critical section for relevant operations can introduce bugs. TIdCriticalSection is defined to eliminate warnings about imports in the Indy library.

TIdCustomHTTP Class Specifies an HTTP client implementation. File IdHTTP (

4662)

Hierarchy

Pascal TIdCustomHTTP = class(TIdTCPClientCustom); Description TIdCustomHTTP is a TIdTCPClientCustom ( 2340) descendant that specifies a client implementation of the Hypertext Transfer Protocol (HTTP) as described in the Internet Standards documents: 404

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

RFC 1945 - Hypertext Transfer Protocol version 1.0 [HTTP/1.0] RFC 2616 - Hypertext Transfer Protocol version 1.1 [HTTP/1.1] TIdCustomHTTP provides support for both HTTP 1.0 and HTTP 1.1 protocols. Note: Post ( 412) is restricted to support for the HTTP 1.0 protocol due to limited and/or improper HTTP server support for the HTTP 1.1 specification. TIdCustomHTTP provides a CookieManager ( 422) that implements an HTTP State Management mechanism as specified in the Internet Standards documents, and reference materials: RFC 2109 - HTTP State Management Mechanism RFC 2965 - HTTP State Management Mechanism Netscape Persistent Client State - HTTP Cookies TIdCustomHTTP also supports the Secure Hypertext Transport protocol (HTTPS) as described in the Internet Standards document: RFC 2660 - The Secure HyperText Transfer Protocol You must install the Indy OpenSSL support .DLL's available at the Intelicom web site , or a third party SSL library to enable Secure Socket ( 2369) Layer support. Assign an instance of TIdSSLIOHandlerSocketBase ( use of the HTTPS protocol in HTTP requests.

2134) (or a descendant class) to the IOHandler (

2364) property to allow

During initialization of the component, resource are allocated for the following properties:

URL (

431)

ProxyParams (

426)

During initialization of the component, the default values are assigned for the following properties:

Property

Value

AllowCookies (

420)

AuthProxyRetries ( AuthRetries (

True

421)

0

422)

0

HandleRedirects (

423)

Id_TIdHTTP_HandleRedirects (

3821)

MaxAuthRetries (

424)

Id_TIdHTTP_MaxAuthRetries (

3822)

MaxHeaderLines ( Options (

425)

Id_TIdHTTP_MaxHeaderLines (

411)

ProtocolVersion (

3822)

hoForceEncodeParams 425)

Id_TIdHTTP_ProtocolVersion (

RedirectMax

Id_TIdHTTP_RedirectMax (

3822)

3823)

Application do not normally create ( 267) instances of TIdCustomHTTP. Use TIdHTTP ( event handlers used in client applications.

1041) which publishes propeties and

See Also TIdTCPClientCustom ( TIdHTTP (

2340)

1041)

TIdCookieManager (

382)

TIdSSLIOHandlerSocketBase ( IndySupport (

2134)

15)

Internet Direct (Indy) Version 10.1.5

405

TIdCustomHTTP Class

Classes

TIdCustomHTTP Members The following tables list the members exposed by TIdCustomHTTP. Properties Property

Description

AllowCookies (

420)

Indicates if the HTTP client accepts Cookies in response headers.

AuthenticationManager ( AuthProxyRetries ( AuthRetries ( BoundIP (

421)

Maintains authentication mechanisms, parameters, and URL (

421)

422)

Current number of authentication requests attempted for the client connection.

2345)

BoundPort (

431) for HTTP client requests.

Number of proxy authentication requests attempted for the client connection. Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

Compressor (

422)

Handles ZLIB and GZIP content transfer encodings.

ConnectTimeout (

2347)

Millseconds to wait for successful completion of a connection attempt.

CookieManager (

422)

Maintains client persistent state information using Cookies.

Greeting (

2364)

Banner or welcome message for a connection to a protocol server.

HandleRedirects ( HTTPOptions ( IOHandler (

423)

Indicates if the HTTP client can handle redirections to an alternate resource location.

424)

Indicates the HTTP protocol options (

2364)

LastCmdResult (

2367)

ManagedIOHandler ( MaxAuthRetries (

Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

424)

MaxHeaderLines ( OnAfterBind (

411) applied to the client connection.

The input / output mechanism for the connection. 2364) for the connection is maintained by the object instance.

Maximum number of authentication requests allowed for the client connection.

425)

Maximum number of header lines allowed in an HTTP response.

2347)

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

2367)

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin (

Event handler signalled for read and / or write operations. 2368)

OnWorkEnd (

Event handler signalled when beginning a read or write operation.

2369)

ProtocolVersion (

Event handler signalled when completing a read or write operation.

425)

Specifies the HTTP version.

ProxyParams (

426)

Represents connection and user authorization values used for a Proxied client connection.

ReadTimeout (

2349)

Millseconds to wait for successful completion of a read attempt.

RedirectCount (

426)

RedirectMaximum ( Request (

Specifies the maximum number of redirects for the HTTP client.

427)

Response (

Specifies the header values to send to the HTTP server. 428)

ResponseCode ( ResponseText ( Socket ( URL (

Indicates the number of redirects encountered in the last request for the HTTP client.

427)

Specifies the header values received from the HTTP server. 428)

Specifies the response code received from a HTTP server.

429)

Specifies the text for a response received from a HTTP server.

2369)

Provides access to the TIdIOHandlerSocket (

431)

Version (

269)

WorkTarget (

1331) for the connection.

Represents the attributes of a resource accessed by an HTTP request. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ConnectAndGetAll ( Connected ( Create (

2344)

2353) 2353)

406

Creates the IOHandler (

407)

DisconnectNotifyPeer ( EndWork (

Opens a connection and reads all data. Constructor for the object instance.

CreateIOHandler (

DoWork (

Determines if the peer has been gracefully disconnected. Indicates if the peer connection has been opened.

267)

Destroy (

2351)

357) 358)

2364) for the connection.

Frees the object instance. 2356)

Disconnects the peer connection. Triggers the OnWork event handler. Triggers the OnEndWork event handler.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class GetInternalResponse (

GetVersion ( Head ( CType ( Post ( Put (

Reads response detail lines from a peer connection. Version (

410)

Options ( Get (

2356)

269)

269) number for Indy component suite.

Requests header values for a resource.

411)

Retrieves options and capabilities for a server resource.

267)

408) 411) 417)

Trace (

419)

Create (

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnAuthorization (

431)

OnHeadersAvailable ( OnProxyAuthorization ( OnRedirect (

Event handler for authentication of an HTTP connection.

432) 432)

Event handler for selecting the HTTP client authentication mechanism for a proxy connection.

432)

OnSelectAuthorization (

Event handler triggered for redirect requests. 433)

OnSelectProxyAuthorization ( OnStatus (

Allows the client to decide if response processing should be continued based on headers returned in the HTTP response.

Event handler triggered when the client selects an authentication mechanism for the connection. 433)

359)

Event handler triggered when the client selects an authentication mechanism for the Proxied connection. Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCustomHTTP Methods The Methods of the TIdCustomHTTP class are listed here. Methods Method

Description

Destroy ( Get (

410)

Options ( Put ( Trace (

Frees the object instance.

408)

Head ( Post (

407)

411)

Requests header values for a resource. Retrieves options and capabilities for a server resource.

411) 417) 419)

Legend Destructor virtual

TIdCustomHTTP.Destroy Destructor Frees the object instance.

Internet Direct (Indy) Version 10.1.5

407

TIdCustomHTTP Class

Classes

Pascal destructor Destroy; override; Description Destroy is the Destructor for the object instance. Destroy is responsible for freeing resources allocated in the Create ( including:

ProtocolVersion ( ProxyParams ( URL (

267) constructor and during use of HTTP client methods,

425)

426)

431)

Destroy calls the inherited Destroy method prior to exiting the deconstructor. See Also ProtocolVersion ( ProxyParams ( URL (

425) 426)

431)

TIdCustomHTTP.Get Method Overload List Method

Description

TIdCustomHTTP.Get (string) (

408)

Retrieves an HTTP resource.

TIdCustomHTTP.Get (string, array of Retrieves the content for an HTTP resource. SmallInt) ( 410) TIdCustomHTTP.Get TIdStream) ( 409)

(string, Retrieves the content for an HTTP resource.

TIdCustomHTTP.Get TIdStream, array of SmallInt) (

(string, Retrieves the content for an HTTP resource. 409)

TIdCustomHTTP.Get Method (string) Retrieves an HTTP resource. Pascal function Get( AURL: string ): string; overload; Parameters Parameters

Description

AURL

The universal resource locator to be retrieved.

Returns String - Contents of the URL (

431).

Description Get is an overloaded method used to retrieve the file or data for the resource specified in AURL. AURL is the fully-qualified location of the resource including the HTTP URL (

431) scheme identifier. For example:

sContent := AHttp.Get('http://www.somedomain.org/resource.html'); 408

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

Get calls an oveloaded variant of the method to retrieve the content of the specified URL (

431).

See Also TIdCustomHTTP.Get

TIdCustomHTTP.Get Method (string, TIdStream) Retrieves the content for an HTTP resource. Pascal procedure Get( AURL: string; AResponseContent: TIdStream ); overload; Parameters Parameters

Description

AURL

The universal resource locator to be retrieved.

AResponseContent

Destination for the data retrieved from the URL (

431).

Description Get is an overloaded method used to retrieve the file or data for the resource specified in AURL. AURL is the fully-qualified location of the resource including the HTTP URL (

431) scheme identifier. For example:

sContent := AHttp.Get('http://www.somedomain.org/resource.html'); AResponseContent is the Stream that is the destination for data retrieved from the specified URL (

431). For example:

AHttp.Get(AUrl, AResponseContent) Get calls an overloaded variant of the method to perform the HTTP transfer. Get will raise an EAssertionFailed exception if the stream in AResponseContent is unassigned. Exceptions Exceptions

Description

EAssertionFailed

Raised when the stream for the content of the response is unassigned.

See Also TIdCustomHTTP.Get TIdStream (

3087)

TIdCustomHTTP.Get Method (string, TIdStream, array of SmallInt) Retrieves the content for an HTTP resource. Pascal procedure Get( AURL: string; AResponseContent: TIdStream; AIgnoreReplies: array of SmallInt ); overload; Parameters Parameters

Description

AURL

The universal resource locator to be retrieved.

AResponseContent

Destination for the data retrieved from the URL (

AIgnoreReplies

Numeric response codes to ignore as errors.

431).

Description Get is an overloaded method used to retrieve the file or data for the resource specified in AURL. AURL is the fully-qualified location of the resource including the HTTP URL (

Internet Direct (Indy) Version 10.1.5

431) scheme identifier. For example:

409

TIdCustomHTTP Class

Classes

sContent := AHttp.Get('http://www.somedomain.org/resource.html'); AResponseContent is the Stream that is the destination for data retrieved from the specified URL (

431). For example:

sContent := AHttp.Get(AUrl, AResponseContent, []); AIgnoreReplies is an array with numeric response codes to ignore as errors when handling the HTTP response. Get calls an overloaded variant of the method to perform the HTTP transfer using a TIdMemoryStream ( 3058) instance to capture the response content. The return value for the method is the String data read from the internal TIdMemoryStream ( 3058) instance. See Also TIdCustomHTTP.Get TIdMemoryStream (

3058)

TIdCustomHTTP.Get Method (string, array of SmallInt) Retrieves the content for an HTTP resource. Pascal function Get( AURL: string; AIgnoreReplies: array of SmallInt ): string; overload; Parameters Parameters

Description

AURL

The universal resource locator to be retrieved.

AIgnoreReplies

Response (

428) code to ignore as error when processing the HTTP response.

Returns string - Content for the requested resource. Description Get is an overloaded method used to retrieve the file or data for the resource specified in AURL. AURL is the fully-qualified location of the resource including the HTTP URL (

431) scheme identifier. For example:

sContent := AHttp.Get('http://www.somedomain.org/resource.html'); AIgnoreReplies is an array with numeric response codes to ignore as errors when handling the HTTP response. Get calls an overloaded variant of the method to perform the HTTP transfer using a TIdMemoryStream ( 3058) instance to capture the response content. The return value for the method is the String data read from the internal TIdMemoryStream ( 3058) instance. See Also TIdCustomHTTP.Get TIdMemoryStream (

3058)

TIdCustomHTTP.Head Method Requests header values for a resource. Pascal procedure Head( AURL: string ); Parameters Parameters

Description

URL

Universal resource locator for the resource.

410

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

Description Head is a procedure used to request the header values for the resource specified in URL ( except that the server does not return a message body in the Response ( 428). The header values returned for the Request (

427) can be found in Response (

431). Head is identical to Get (

408),

428).

Head can be used to obtain metainformation about the entity implied by the request without transferring the full content of the resource. Head is often used for testing the value in URL ( 431) for validity, accessibility, and recent modification. See Also TIdCustomHTTP.Get (

408)

TIdCustomHTTP.Response ( TIdHTTPResponse (

428)

1085)

TIdCustomHTTP.Options Method Retrieves options and capabilities for a server resource. Pascal procedure Options( AURL: string ); overload; Parameters Parameters

Description

AURL

Identifies the resource location for options and capabilities.

Description Options is a procedure that implements the HTTP 1.1 command verb used to retrieve information about the communication options available for Request ( 427) and Response ( 428) resulting from the URI specified in AURL. Options allows the HTTP client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval. When AURL contains the value '*' (Asterisk), the Options Request ( 427) applies to all resources on the HTTP server. Since server communication options typically depend on the resource, the "*" request is only useful as a "ping" or "no-op" type of Request ( 427). For example, this can be used to test a proxy for HTTP/1.1 compliance. When AURL contains a valid server resource, the Request ( 427) applies only to that target. Response ( 428) will contain the ResponseCode ( implemented by the server and applicable to the resource.

428) 200, and header information that indicates optional features

Options calls the DoRequest method to perform the HTTP transfer for the Request (

427).

See Also TIdCustomHTTP.Options

TIdCustomHTTP.Post Method Overload List Method TIdCustomHTTP.Post TIdMultiPartFormDataStream) (

Description (string, Send HTTP data to a web server or CGI program. 412)

TIdCustomHTTP.Post (string, Send HTTP data to a web server or CGI program. TIdMultiPartFormDataStream, TIdStream) ( 413) TIdCustomHTTP.Post TIdStream) ( 414) Internet Direct (Indy) Version 10.1.5

(string, Send HTTP data to a web server or CGI program.

411

TIdCustomHTTP Class

Classes

TIdCustomHTTP.Post TIdStream, TIdStream) ( 414)

(string, Send HTTP data to a web server or CGI program.

TIdCustomHTTP.Post TIdStrings) ( 415)

(string, Send HTTP data to a web server or CGI program.

TIdCustomHTTP.Post TIdStrings, TIdStream) ( 416)

(string, Send HTTP data to a web server or CGI program.

TIdCustomHTTP.Post Method (string, TIdMultiPartFormDataStream) Send HTTP data to a web server or CGI program. Pascal function Post( AURL: string; ASource: TIdMultiPartFormDataStream ): string; overload; Parameters Parameters

Description

ASource

TStrings or stream containing the request data.

URL

Location of the host or CGI application.

Returns String - Values received in a Response (

428) for the HTTP POST method.

Description Post is an overloaded method that is used to send data specified in ASource to the resource location in AURL. This variant of the Post method is designed is used in the overloaded for an HTTP Request ( 427) with a content type value of "multipart/form-data". Post is overloaded to allow use of a TIdMultiPartFormDataStream ( 1657) object instance in ASource. TIdMultiPartFormDataStream ( 1657) allows preparing a request that adheres to the rules for multipart MIME data streams, where data items are represented as a series of message parts with a content-disposition header value of "form-data". The content-disposition header contains an (additional) parameter of "name", where the value of that parameter is the original field name in the form. As with all multipart MIME types, each part in the data stream has an optional "Content-Type" header, which defaults to the value "text/plain". If the contents of a file are returned using the form, then the file input is identified as the appropriate media type, if known, or the value "application/octet-stream". If multiple files are to be returned as the result of a single form entry, they should be represented as a "multipart/mixed" part embedded within the "multipart/form-data". Each part in the data stream may be encoded and the "content-transfer-encoding" header supplied when the value of that part does not conform to the default encoding. By default, Indy will restrict all POST requests to the use of HTTP version 1.0 in the headers for the request. This occurs because some HTTP servers do not respect the RFC for HTTP 1.1 to the full extent of the specification. In particular, most servers do not send or expect to receive the 100-Continue HTTP header. To use HTTP version 1.1 requests when calling the Post method, include the value hoKeepOrigProtocol in the HTTPOptions ( 424) property. Please note that this does not include retaining a HTTP persistent connection for the session; persistent connections established using the HTTP 'Keep-Alive' header are always closed prior to performing an HTTP Post operation. Post calls an overloaded variant of the method to perform the HTTP transfer. Exceptions Exceptions

Description

EAssertionFailed

Raised if the multipart data stream is unassigned.

See Also TIdCustomHTTP.Post TIdCustomHTTP.HTTPOptions ( 412

424) Internet Direct (Indy) Version 10.1.5

Classes TIdCustomHTTP.Request (

TIdCustomHTTP Class 427)

TIdMultiPartFormDataStream (

1657)

TIdCustomHTTP.Post Method (string, TIdMultiPartFormDataStream, TIdStream) Send HTTP data to a web server or CGI program. Pascal procedure Post( AURL: string; ASource: TIdMultiPartFormDataStream; AResponseContent: TIdStream ); overload; Parameters Parameters

Description

ASource

Multipart data stream containing the request data.

AResponseContent

Destination for response data.

URL

Location of the host or CGI application.

Description Post is an overloaded method that is used to send data specified in ASource to the resource location in AURL. This variant of the Post method is designed is used in the overloaded for an HTTP Request ( 427) with a content type value of "multipart/form-data". Post is overloaded to allow use of a TIdMultiPartFormDataStream ( 1657) object instance in ASource. TIdMultiPartFormDataStream ( 1657) allows preparing a request that adheres to the rules for multipart MIME data streams, where data items are represented as a series of message parts with a content-disposition header value of "form-data". The content-disposition header contains an (additional) parameter of "name", where the value of that parameter is the original field name in the form. As with all multipart MIME types, each part in the data stream has an optional "Content-Type" header, which defaults to the value "text/plain". If the contents of a file are returned using the form, then the file input is identified as the appropriate media type, if known, or the value "application/octet-stream". If multiple files are to be returned as the result of a single form entry, they should be represented as a "multipart/mixed" part embedded within the "multipart/form-data". Each part in the data stream may be encoded and the "content-transfer-encoding" header supplied when the value of that part does not conform to the default encoding. By default, Indy will restrict all POST requests to the use of HTTP version 1.0 in the headers for the request. This occurs because some HTTP servers do not respect the RFC for HTTP 1.1 to the full extent of the specification. In particular, most servers do not send or expect to receive the 100-Continue HTTP header. To use HTTP version 1.1 requests when calling the Post method, include the value hoKeepOrigProtocol in the HTTPOptions ( 424) property. Please note that this does not include retaining a HTTP persistent connection for the session; persistent connections established using the HTTP 'Keep-Alive' header are always closed prior to performing an HTTP Post operation. Post calls an overloaded variant of the method to perform the HTTP transfer. Exceptions Exceptions

Description

EAssertionFailed

Raised if the multipart data stream or the stream for the response content are unassigned.

See Also TIdCustomHTTP.Post TIdCustomHTTP.HTTPOptions ( TIdCustomHTTP.Request (

424)

427)

TIdMultiPartFormDataStream (

Internet Direct (Indy) Version 10.1.5

1657)

413

TIdCustomHTTP Class

Classes

TIdCustomHTTP.Post Method (string, TIdStream) Send HTTP data to a web server or CGI program. Pascal function Post( AURL: string; ASource: TIdStream ): string; overload; Parameters Parameters

Description

ASource

Stream containing the request data.

URL

Location of the host or CGI application.

Returns String - Values received in a Response (

428) for the HTTP POST method.

Description Post is an overloaded method that is used to send data specified in ASource to the resource location in AURL. Post is overloaded to allow use of either TIdStrings ( 3089) or TIdStream ( 3087) object instances in ASource, and also provides procedure- and function-based variants of the method to allow String return values or storage of return values in AResponseContent. By default, Indy will restrict all POST requests to the use of HTTP version 1.0 in the headers for the request. This occurs because some HTTP servers do not respect the RFC for HTTP 1.1 to the full extent of the specification. In particular, most servers do not send or expect to receive the 100-Continue HTTP header. To use HTTP version 1.1 requests when calling the Post method, include the value hoKeepOrigProtocol in the HTTPOptions ( 424) property. Please note that this does not include retaining a HTTP persistent connection for the session; persistent connections established using the HTTP 'Keep-Alive' header are always closed prior to performing an HTTP Post operation. This variant of the Post method prepares an HTTP request from the values in ASource, but does not perform any preprocessing for the content type of the request or values in the ASource stream. Set the ContentType property in the Reqest to indicate if ASource contains form-url encoded or multipart data. Post calls a protected method in the HTTP client to perform the HTTP transfer. Exceptions Exceptions

Description

EAssertionFailed

Raised if the source stream for the request is unassigned.

See Also TIdCustomHTTP.Post TIdCustomHTTP.HTTPOptions ( TIdCustomHTTP.Request (

424)

427)

TIdCustomHTTP.Post Method (string, TIdStream, TIdStream) Send HTTP data to a web server or CGI program. Pascal procedure Post( AURL: string; ASource: TIdStream; AResponseContent: TIdStream ); overload; Parameters Parameters

Description

ASource

TStrings or stream containing the request data.

AResponseContent

Destination for response data.

414

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

URL

Location of the host or CGI application.

Description Post is an overloaded method that is used to send data specified in ASource to the resource location in AURL. Post is overloaded to allow use of either TIdStrings ( 3089) or TIdStream ( 3087) object instances in ASource, and also provides procedure- and function-based variants of the method to allow String return values or storage of return values in AResponseContent. By default, Indy will restrict all POST requests to the use of HTTP version 1.0 in the headers for the request. This occurs because some HTTP servers do not respect the RFC for HTTP 1.1 to the full extent of the specification. In particular, most servers do not send or expect to receive the 100-Continue HTTP header. To use HTTP version 1.1 requests when calling the Post method, include the value hoKeepOrigProtocol in the HTTPOptions ( 424) property. Please note that this does not include retaining a HTTP persistent connection for the session; persistent connections established using the HTTP 'Keep-Alive' header are always closed prior to performing an HTTP Post operation. This variant of the Post method prepares an HTTP request from the values in ASource, but does not perform any preprocessing for the content type of the request or values in the ASource stream. Set the ContentType property in the Reqest to indicate if ASource contains form-url encoded or multipart data. Post calls a protected method in the HTTP client to perform the HTTP transfer. Exceptions Exceptions

Description

EAssertionFailed

Raised if the source stream or the stream for the response content are unassigned.

See Also TIdCustomHTTP.Post TIdCustomHTTP.HTTPOptions ( TIdCustomHTTP.Request (

424)

427)

TIdCustomHTTP.Response (

428)

TIdCustomHTTP.Post Method (string, TIdStrings) Send HTTP data to a web server or CGI program. Pascal function Post( AURL: string; ASource: TIdStrings ): string; overload; Parameters Parameters

Description

ASource

String list or stream containing the request data.

URL

Location of the host or CGI application.

Returns String - Values received in a Response (

428) for the HTTP POST method.

Description Post is an overloaded method that is used to send data specified in ASource to the resource location in AURL. Post is overloaded to allow use of either TIdStrings ( 3089) or TIdStream ( 3087) object instances in ASource, and also provides procedure- and function-based variants of the method to allow String return values or storage of return values in AResponseContent. By default, Indy will restrict all POST requests to the use of HTTP version 1.0 in the headers for the request. This occurs because some HTTP servers do not respect the RFC for HTTP 1.1 to the full extent of the specification. In particular, most servers do not send or expect to receive the 100-Continue HTTP header. To use HTTP version 1.1 requests when calling the Post method, include the value hoKeepOrigProtocol in the HTTPOptions ( 424) property. Please note that this does not include retaining a HTTP persistent connection for the session; persistent connections Internet Direct (Indy) Version 10.1.5

415

TIdCustomHTTP Class

Classes

established using the HTTP 'Keep-Alive' header are always closed prior to performing an HTTP Post operation. This variant of the Post method prepares an HTTP request from the values in ASource, and ensures that the content conforms to the default encoding used for HTML forms. This includes setting the content type in the Request ( 427) to the value 'application/x-www-form-urlencoded' when it has been omitted or contains the value 'text/html'. Form field names and values in ASource should appear in the order used in the original HTML document with the field name separated from the field value by the '=' character. Field values in ASource will be encoded when the HTTPOptions ( 424) property contains the value hoForceEncodeParams. Space characters (Decimal 32) are replaced with the character '+'. Other Reserved characters are scaped using the same notation that applies to URLs; that is, non-alphanumeric characters are replaced by `%HH', a percent sign and two hexadecimal digits representing the ASCII code of the character. Line breaks in multi-line text field values are represented as CRLF pairs, i.e. `%0D%0A'. Field value encoding is performed by calling the TIdURI.ParamsEncode ( 2555) method for each line in ASource in NAME=VALUE format. Form field name and value pairs should be separated from each other using the '&' character. Any remaining CRLF line-end sequences found in ASource are replaced with the '&' character. Post calls an overloaded variant of the method to perform the HTTP transfer. Exceptions Exceptions

Description

EAssertionFailed

Raised if the source string list for the request is unassigned.

See Also TIdCustomHTTP.Post TIdCustomHTTP.HTTPOptions ( TIdURI.ParamsEncode (

424)

2555)

TIdCustomHTTP.Post Method (string, TIdStrings, TIdStream) Send HTTP data to a web server or CGI program. Pascal procedure Post( AURL: string; ASource: TIdStrings; AResponseContent: TIdStream ); overload; Parameters Parameters

Description

ASource

String list or stream containing the request data.

AResponseContent

Destination for response data.

URL

Location of the host or CGI application.

Returns String - Values received in a Response (

428) for the HTTP POST method.

Description Post is an overloaded method that is used to send data specified in ASource to the resource location in AURL. Post is overloaded to allow use of either TIdStrings ( 3089) or TIdStream ( 3087) object instances in ASource, and also provides procedure- and function-based variants of the method to allow String return values or storage of return values in AResponseContent. By default, Indy will restrict all POST requests to the use of HTTP version 1.0 in the headers for the request. This occurs because some HTTP servers do not respect the RFC for HTTP 1.1 to the full extent of the specification. In particular, most servers do not send or expect to receive the 100-Continue HTTP header. To use HTTP version 1.1 requests when calling the Post method, include the value hoKeepOrigProtocol in the HTTPOptions ( 424) property. Please note that this does not include retaining a HTTP persistent connection for the session; persistent connections established using the HTTP 'Keep-Alive' header are always closed prior to performing an HTTP Post operation. 416

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

This variant of the Post method prepares an HTTP request from the values in ASource, and ensures that the content conforms to the default encoding used for HTML forms. This includes setting the content type in the Request ( 427) to the value 'application/x-www-form-urlencoded' when it has been omitted or contains the value 'text/html'. Form field names and values in ASource should appear in the order used in the original HTML document with the field name separated from the field value by the '=' character. Field values in ASource will be encoded when the HTTPOptions ( 424) property contains the value hoForceEncodeParams. Space characters (Decimal 32) are replaced with the character '+'. Other Reserved characters are scaped using the same notation that applies to URLs; that is, non-alphanumeric characters are replaced by `%HH', a percent sign and two hexadecimal digits representing the ASCII code of the character. Line breaks in multi-line text field values are represented as CRLF pairs, i.e. `%0D%0A'. Field value encoding is performed by calling the TIdURI.ParamsEncode ( 2555) method for each line in ASource in NAME=VALUE format. Form field name and value pairs should be separated from each other using the '&' character. Any remaining CRLF line-end sequences found in ASource are replaced with the '&' character. Post calls an overloaded variant of the method to perform the HTTP transfer. Exceptions Exceptions

Description

EAssertionFailed

Raised if the source string list or the stream for the response content are unassigned.

See Also TIdCustomHTTP.Post TIdCustomHTTP.HTTPOptions ( TIdURI.ParamsEncode (

424)

2555)

TIdCustomHTTP.Put Method Overload List Method

Description

TIdCustomHTTP.Put TIdStream) ( 417)

(string, Implements the HTTP PUT command verb.

TIdCustomHTTP.Put TIdStream, TIdStream) ( 418)

(string, Implements the HTTP PUT command verb.

TIdCustomHTTP.Put Method (string, TIdStream) Implements the HTTP PUT command verb. Pascal function Put( AURL: string; ASource: TIdStream ): string; overload; Parameters Parameters

Description

AURL

Location to store the resource on the server.

ASource

Values to be stored at the specified location.

Returns string - Response (

428) from the HTTP server.

Description Put is an overloaded method in TIdHTTP ( 1041), that implements the HTTP PUT command verb used to store the entity contained in ASource at the URI specified in AURL. Internet Direct (Indy) Version 10.1.5

417

TIdCustomHTTP Class

Classes

If AURL refers to an existing server resource, the values in ASource are considered to be a modified version of the server resource. When AURL does not exist on the server, a new server resource is created for the values in ASource. Put is overloaded to provide a String function that returns the Response ( 428) from the HTTP Request ( that stores Response ( 428) values in the stream specified by AResponseContent.

427), or a procedure

Put differs from Post ( 412) through its use of the values in AURL. For a Put operation, the value in AURL always refers to the values included in the Response ( 428) content. Put calls the protected method used to perform the HTTP transfer. Exceptions Exceptions

Description

EAssertionFailed

Raised when the stream in ASource is unassigned.

See Also TIdCustomHTTP.Put

TIdCustomHTTP.Put Method (string, TIdStream, TIdStream) Implements the HTTP PUT command verb. Pascal procedure Put( AURL: string; ASource: TIdStream; AResponseContent: TIdStream ); overload; Parameters Parameters

Description

AURL

Location to store the resource on the server.

ASource

Values tyo be stored at the specified location.

AResponseContent

Destination for response values from the operation.

Description Put is an overloaded method in TIdHTTP ( 1041), that implements the HTTP PUT command verb used to store the entity contained in ASource at the URI specified in AURL. If AURL refers to an existing server resource, the values in ASource are considered to be a modified version of the server resource. When AURL does not exist on the server, a new server resource is created for the values in ASource. Put is overloaded to provide a String function that returns the Response ( 428) from the HTTP Request ( that stores Response ( 428) values in the stream specified by AResponseContent.

427), or a procedure

Put differs from Post ( 412) through its use of the values in AURL. For a Put operation, the valuein AURL always refers to the values included in the Response ( 428) content. Post (

412) calls the protected method used to perform the HTTP transfer.

Exceptions Exceptions

Description

EAssertionFailed

Raised when one of the streams in ASource or AResponseContent is unassigned.

See Also TIdCustomHTTP.Put

418

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

TIdCustomHTTP.Trace Method Overload List Method TIdCustomHTTP.Trace (string) ( TIdCustomHTTP.Trace TIdStream) ( 419)

Description 419)

Implements the HTTP TRACE command verb for diagnostics.

(string, Implements the HTTP TRACE command verb for diagnostics.

TIdCustomHTTP.Trace Method (string) Implements the HTTP TRACE command verb for diagnostics. Pascal function Trace( AURL: string ): string; overload; Parameters Parameters

Description

AURL

Resource to be examined in Trace.

Returns String - Test or diagnostic messages for the resource. Description Trace is an overloaded method in TIdHTTP ( 1041) that implements the HTTP TRACE command verb. Trace is used to a remote application-layer loop- back for the Request ( 427) message, and allows the HTTP client to see the data received at the host or proxy server that is the target for the Request ( 427). Trace will return information that can be used for testing and diagnostic purposes. If the Request ( 427) is valid, the Response ( with a Content-Type of "message/http".

428) to a Trace Request (

427) will contain the entire Request (

427) message

Trace is overloade to allow the response content to be returned a String, using the function-based variant of the method, or in the stream specified in AResponseContent. See Also TIdCustomHTTP.Trace

TIdCustomHTTP.Trace Method (string, TIdStream) Implements the HTTP TRACE command verb for diagnostics. Pascal procedure Trace( AURL: string; AResponseContent: TIdStream ); overload; Parameters Parameters

Description

AURL

Resource to be examined in Trace.

AResponseContent

Destination for the test or diagnostic messages.

Description Trace is an overloaded method in TIdHTTP ( 1041) that implements the HTTP TRACE command verb. Trace is used to a remote application-layer loop- back for the Request ( 427) message, and allows the HTTP client to see the data received at the host or proxy server that is the target for the Request ( 427). Trace information is normally used for testing and diagnostic purposes. Internet Direct (Indy) Version 10.1.5

419

TIdCustomHTTP Class

Classes

If the Request ( 427) is valid, the Response ( with a Content-Type of "message/http".

428) to a Trace Request (

427) will contain the entire Request (

427) message

Trace is overloaded to allow the response content to be returned a String, using the function-based variant of the method, or in the stream specified in AResponseContent. Exceptions Exceptions

Description

EAssertionFailed

Raised when the stream for the response content is unassigned.

See Also TIdCustomHTTP.Trace

TIdCustomHTTP Properties The Properties of the TIdCustomHTTP class are listed here. Properties Property

Description

AllowCookies (

420)

Indicates if the HTTP client accepts Cookies in response headers.

AuthenticationManager ( AuthProxyRetries ( AuthRetries ( Compressor (

421)

422) 422)

CookieManager ( HTTPOptions (

ProtocolVersion (

425) 425)

426)

RedirectCount (

427)

427)

Maintains client persistent state information using Cookies. Indicates if the HTTP client can handle redirections to an alternate resource location. 411) applied to the client connection.

Maximum number of authentication requests allowed for the client connection. Maximum number of header lines allowed in an HTTP response. Specifies the HTTP version. Indicates the number of redirects encountered in the last request for the HTTP client. Specifies the maximum number of redirects for the HTTP client. Specifies the header values to send to the HTTP server.

428)

ResponseCode ( ResponseText ( URL (

Current number of authentication requests attempted for the client connection.

Represents connection and user authorization values used for a Proxied client connection.

426)

RedirectMaximum ( Response (

431) for HTTP client requests.

Number of proxy authentication requests attempted for the client connection.

Indicates the HTTP protocol options (

424)

MaxHeaderLines ( ProxyParams (

423)

424)

MaxAuthRetries (

Maintains authentication mechanisms, parameters, and URL (

Handles ZLIB and GZIP content transfer encodings.

422)

HandleRedirects (

Request (

421)

Specifies the header values received from the HTTP server. 428)

429)

431)

Specifies the response code received from a HTTP server. Specifies the text for a response received from a HTTP server. Represents the attributes of a resource accessed by an HTTP request.

Legend Property read only

TIdCustomHTTP.AllowCookies Property Indicates if the HTTP client accepts Cookies in response headers. Pascal property AllowCookies: Boolean; Description AllowCookies is a Boolean property that indicates if the HTTP client allows use of persistent state information using TIdCookie instances handled by CookieManager ( 422). AllowCookies is used when an HTTP client retrieves headers for an HTTP Response ( 428), and processes Response ( 428) headers and cookie values. When AllowCookies is True, the HTTP client will ensure that CookieManager ( 422) is instantiated prior to adding any TIdCookieRFC2109 ( 388) or TIdCookieRFC2965 ( 391) cookie instances detected in Response ( 428) headers.

420

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

The default value for AllowCookies is True, as assigned during initialization of the component. See Also TIdHTTP.CookieManager ( TIdCookieRFC2109 (

388)

TIdCookieRFC2965 (

391)

1045)

TIdCustomHTTP.AuthenticationManager Property Maintains authentication mechanisms, parameters, and URL (

431) for HTTP client requests.

Pascal property AuthenticationManager: TIdAuthenticationManager; Description AuthenticationManager is a TIdAuthenticationManager ( HTTP Request ( 427).

263) property used to maintain authentication mechanisms used for a

AuthenticationManager captures the authentication mechanism used in the HTTP session, and adds the object instance and the associated URL ( 431) for the request to the collection maintained in the property. Proxy authentication mechanisms in the ProxyParams (

426) are simply reset and not captured in the AuthenticationManager.

Applications must assign an object instance to the AuthenticationManager property. Assigning a new object instance forces an existing AuthenticationManager to be freed. See Also TIdAuthenticationManager ( TIdAuthentication (

263)

253)

TIdAuthenticationBasic TIdAuthenticationDigest

TIdCustomHTTP.AuthProxyRetries Property Number of proxy authentication requests attempted for the client connection. Pascal property AuthProxyRetries: Integer; Description AuthProxyRetries is an Integer property that represents the number of retries attempted when performing proxy authentication for the TIdHTTP ( 1041) client connection. AuthProxyRetries is used when an HTTP protocol handler for the client connection attempts to process a protocol response code that indicates authentication or proxy authentication is required (401 or 407). AuthProxyRetries is compared to the current maximum number of authentication requests allowed in MaxAuthRetries ( 424) to determine if additional proxy authentication requests are allowed. When permitted, the request is performed using the OnAuthorization ( 431) event handler. See Also TIdCustomHTTP.AuthRetries (

422)

TIdCustomHTTP.MaxAuthRetries (

424)

TIdCustomHTTP.OnAuthorization (

431)

TIdHTTPProtocol (

1064)

Internet Direct (Indy) Version 10.1.5

421

TIdCustomHTTP Class

Classes

TIdCustomHTTP.AuthRetries Property Current number of authentication requests attempted for the client connection. Pascal property AuthRetries: Integer; Description AuthRetries is a published Integer property in TIdHTTP ( 1041), and represents the number of retries attempted when performing authentication for the TIdHTTP ( 1041) client connection. AuthRetries is used when an HTTP protocol handler for the client connection attempts to process a protocol response code that indicates authentication or proxy authentication is required (401 or 407). AuthRetries is incremented on each attempt to authenticate. AuthRetries is compared to the value in the MaxAuthRetries ( 424) property that indicates the maximum number of authentication requests allowed to determine if additional authentication requests are allowed. When permitted, the request is performed using the OnAuthorization ( Use AuthProxyRetries ( ProxyParams ( 426).

431) event handler.

421) to determine the current number of authentication attempts issued for the proxy server identified in

See Also AuthProxyRetries (

421)

MaxAuthRetries (

424)

OnAuthorization (

431)

TIdHTTPProtocol (

1064) ProxyParams (

426)

TIdCustomHTTP.Compressor Property Handles ZLIB and GZIP content transfer encodings. Pascal property Compressor: TIdZLibCompressorBase; Description Compressor is a TIdZLibCompressorBase ( 2634) property that represents the object used to perform ZLIB and GZIP compression and decompression for responses using these content transfer encodings. Compressor allows the "deflate ( 2765)" or "gzip" content transfer encodings to be handled when creating a connection to the HTTP server, or when reading an HTTP response from the remote server. Applications must assign an object instance derived from TIdZLibCompressorBase ( 2634) to the property in order to allow handling of the response content stream. Assigning a value to Compressor causes the value in the request to include either "gzip" or "deflate ( 2765)" as acceptable encodings in the response. Use the ContentStream in the Response (

428) to access the decompressed data in the HTTP response.

See Also TIdZLibCompressorBase ( Response ( Request (

2634)

428) 427)

TIdCustomHTTP.CookieManager Property Maintains client persistent state information using Cookies. 422

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

Pascal property CookieManager: TIdCookieManager; Description CookieManager is a TIdCookieManager ( for the HTTP Client connection.

382) property that enables maintenance of persistent state information using Cookies

CookieManager is accessed when Cookies are detected during processing of headers in an HTTP response, or when preparing headers for an HTTP request. CookieManager is used by the HTTP client when AllowCookies (

420) contains True.

The HTTP client ensures that CookieManager is instantiated prior to adding TIdCookieRFC2109 ( 391) class instances to the collection maintained in CookieManager. CookieManager is freed in the Destroy (

388) or TIdCookieRFC2965 (

407) method.

See Also TIdCookieManager (

382)

TIdCookieRFC2109 (

388)

TIdCookieRFC2965 (

391)

TIdCustomHTTP.Destroy (

407)

TIdCustomHTTP.AllowCookies (

420)

TIdCustomHTTP.HandleRedirects Property Indicates if the HTTP client can handle redirections to an alternate resource location. Pascal property HandleRedirects: Boolean; Description HandleRedirects is a Boolean property that indicates if the HTTP client should handle redirects in a response from the HTTP server. Redirects are indicated by the HTTP Response ( 428) having a response code in the range 300 to 307, and requires further action by the HTTP Client to fulfill the request. Redirection Response (

428) codes include the following:

Code Meaning 300

Multiple Choices. The request can be fulfilled with one of a set of resources, each with its own specific location. The HTTP client can select a preferred representation and redirect its request to that location.

301

Moved Permanently. The requested resource has been assigned a new permanent URI and any future references to this resource should use the new location specified in the Response ( 428).

302

Found. The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client should continue to use the URI in the Request ( 427) for future requests.

304

Not Modified. If the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server should respond with this status code. The 304 response should not contain a message body, and is always terminated by the first empty line after the header fields, and must include a Date header.

305

Use Proxy. The requested resource must be accessed through the proxy given by the Location header in the HTTP Response ( 428) containing the URI of the Proxy.

307

Temporary Redirect. The requested resource resides temporarily under a different URI. Since the redirection may be altered on occasion, the HTTP client should continue to use the URI in the RequestI for future requests.

HandleRedirects is used with RedirectMaximum ( 427) when performing the request to detect and prevent infinite redirection loops. HandleRedirects limits the number of active redirections for the client to the value specified in RedirectMaximum ( 427). Internet Direct (Indy) Version 10.1.5

423

TIdCustomHTTP Class

Classes

When HandleRedirects is True, the HTTP Client will trigger the OnRedirect ( 432) event handler to determine if the client can accept the redirection location found in an HTTP response. When accepted, the redirect causes a new HTTP request with the new location to be issued to fulfill the original request. When HandleRedirects is False, the OnRedirect ( 432) event handler will be triggered, and an EIdProtocolReplyError exception will be raised when the redirect cannot be handled by the HTTP client. The default value for HandleRedirects is Id_TIdHTTP_HandleRedirects (

3821), as assigned during initialization of the component.

See Also TIdCustomHTTP.ResponseCode (

428)

TIdCustomHTTP.ResponseText (

429)

TIdCustomHTTP.RedirectMaximum ( TIdCustomHTTP.OnRedirect (

427)

432)

EIdProtocolReplyError

TIdCustomHTTP.HTTPOptions Property Indicates the HTTP protocol options (

411) applied to the client connection.

Pascal property HTTPOptions: TIdHTTPOptions; Description HTTPOptions is a TIdHTTPOptions ( for an HTTP client.

3031) property that represents the TIdHTTPOption (

2954) protocol options (

411) in use

HTTPOptions is used at various times when the client or the HTTP protocol handler needs to perform some action, including processing HTTP responses, preparing request parameters, and authentication of the client connection to a server or proxy. HTTPOptions can contain 0 (zero), 1, or more of the options (

411) values defined by TIdHTTPOption (

2954).

See Also TIdCustomHTTP.DoRequest TIdCustomHTTP.ProtocolVersion ( TIdCustomHTTP.Request ( TIdHTTPOptions ( TIdHTTPOption ( TIdHTTPProtocol (

425)

427)

3031) 2954) 1064)

TIdCustomHTTP.MaxAuthRetries Property Maximum number of authentication requests allowed for the client connection. Pascal property MaxAuthRetries: Integer; Description MaxAuthRetries is an Integer property that represents the maximum number of retries permitted when performing authentication for the TIdHTTP ( 1041) client connection. MaxAuthRetries is used when an HTTP protocol handler for the client connection attempts to process a protocol response code that indicates authentication or proxy authentication is required (401 or 407). MaxAuthRetries is compared to the current number of authentication requests issued in AuthRetries ( 422) (or AuthProxyRetries ( 421)) to determine if additional authentication requests are allowed. When permitted, the request is performed using the 424

Internet Direct (Indy) Version 10.1.5

Classes OnAuthorization (

TIdCustomHTTP Class 431) event handler.

The default value for MaxAuthRetries is Id_TIdHTTP_MaxAuthRetries ( instance.

3822) as assigned during initialization of the component

See Also TIdCustomHTTP.AuthRetries (

422)

TIdCustomHTTP.AuthProxyRetries ( TIdCustomHTTP.OnAuthorization ( TIdHTTPProtocol (

421) 431)

1064)

TIdCustomHTTP.MaxHeaderLines Property Maximum number of header lines allowed in an HTTP response. Pascal property MaxHeaderLines: integer; Description MaxHeaderLines is an Integer property that indicates the maximum number of header lines allowed when retrieving headers in an HTTP response. MaxHeaderLines is used to ignore server responses containing an inordinately large number of header lines (commonly referred to as "header bombing"). The default value for MaxHeaderLines is Id_TIdHTTP_MaxHeaderLines ( are experiencing header truncation with chatty servers.

3822). The value in MaxHeaderLines can altered if you

MaxHeaderLines is used as an argument when retrieving headers with the TIdHTTPProtocol ( protocol exchanges.

1064) instance used during HTTP

See Also Id_TIdHTTP_MaxHeaderLines (

3822) TIdHTTPProtocol.RetrieveHeaders (

1068)

TIdCustomHTTP.ProtocolVersion Property Specifies the HTTP version. Pascal property ProtocolVersion: TIdHTTPProtocolVersion; Description ProtocolVersion is a TIdHTTPProtocolVersion ( 2955) property that specifies the HTTP version used for Get ( 410), and Post ( 412) methods for the HTTP client.

408), Head (

ProtocolVersion allows the following values and associated meanings:

Value

Meaning

pv1_0

HTTP 1.0

pv1_1

HTTP 1.1

The default value for ProtocolVersion is Id_TIdHTTP_ProtocolVersion (

3822).

See Also TIdCustomHTTP.Create ( TIdCustomHTTP.Get ( TIdCustomHTTP.Head (

267)

408) 410)

Internet Direct (Indy) Version 10.1.5

425

TIdCustomHTTP Class

Classes

TIdCustomHTTP.Post (

412)

TIdCustomHTTP.Options ( TIdCustomHTTP.Trace ( TIdCustomHTTP.Put (

411) 419)

417)

TIdCustomHTTP.ProxyParams Property Represents connection and user authorization values used for a Proxied client connection. Pascal property ProxyParams: TIdProxyConnectionInfo; Description ProxyParams is a read-only TIdProxyConnectionInfo ( requires a Proxy connection.

1795) property that represents values used in an HTTP request that

ProxyParams contains properties that select the Server, Port, Username, and Password used to open and authorize a connection to a Proxy server. ProxyParams also indicates if authentication uses the Basic Authentication algorithm. ProxyParams is used when TIdHTTP ( 1041) attempts to set the Host and Port number for the client connection, and when OnProxyAuthorization ( 432) is triggered for the client connection. The Header representation for ProxyParams is used when the HTTP Protocol handler builds the HTTP request packet and tranmits its content to the host server. The Authetication mechanism in ProxyParams is reset when the OnDisconnected ( client connection.

2367) event handler is triggered for the HTTP

See Also TIdProxyConnectionInfo (

1795)

TIdHTTPProtocol (

1064)

TIdAuthentication (

253)

TIdCustomHTTP.OnProxyAuthorization (

432)

TIdCustomHTTP.RedirectCount Property Indicates the number of redirects encountered in the last request for the HTTP client. Pascal property RedirectCount: Integer; Description RedirectCount is a read-only Integer property that indicates the number of redirects encountered in the last request for the HTTP client. The value in RedirectCount is always set to 0 (zero) prior to handling a new HTTP request in methods like Get ( 408) and Post ( 412). RedirectCount is maintained in the ProcessResponse method for the HTTP protocol handler when an HTTP redirect response code is encountered. Redirects are indicated by the HTTP Response ( by the HTTP Client to fulfill the request. Redirection Response (

428) having a response code in the range 300 to 307, and requires further action

428) codes include the following:

Code Meaning 300

426

Multiple Choices. The request can be fulfilled with one of a set of resources, each with its own specific location. The HTTP client can select a preferred representation and redirect its request to that location.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

301

Moved Permanently. The requested resource has been assigned a new permanent URI and any future references to this resource should use the new location specified in the Response ( 428).

302

Found. The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client should continue to use the URI in the Request ( 427) for future requests.

304

Not Modified. If the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server should respond with this status code. The 304 response should not contain a message body, and is always terminated by the first empty line after the header fields, and must include a Date header.

305

Use Proxy. The requested resource must be accessed through the proxy given by the Location header in the HTTP Response ( 428) containing the URI of the Proxy.

307

Temporary Redirect. The requested resource resides temporarily under a different URI. Since the redirection may be altered on occasion, the HTTP client should continue to use the URI in the RequestI for future requests.

Use HandleRedirects ( specified.

423) and RedirectMaximum (

427) to limit the number of active redirections for the client to the values

When HandleRedirects ( 423) is True, the HTTP Client will trigger the OnRedirect ( 432) event handler to determine if the client can accept the redirection location found in an HTTP response. When accepted, the redirect causes a new HTTP request with the new location to be issued to fulfill the original request. See Also RedirectMaximum ( OnRedirect (

427)

432)

TIdHTTPProtocol (

1064)

TIdCustomHTTP.RedirectMaximum Property Specifies the maximum number of redirects for the HTTP client. Pascal property RedirectMaximum: Integer; Description RedirectMaximum is an Integer property that specifies the maximum number of redirects that should be handled by the HTTP client. The default value for RedirectMaximum is Id_TIdHTTP_RedirectMax ( 3823). RedirectMaximum is provided to limit the effect of web-sites that perform numerous redirects, and to prevent stack overflow due to recursion. RedirectMaximum is used when HandleRedirects ( 423) is True, otherwise it has no effect. RedirectMaximum is used with the internally maintained redirect count to determine when redirect handling is deferred to the application. When the redirect count exceeds the value of RedirectMaximum, the OnRedirect ( 432) event handler is signalled to allow the application to respond to the redirect request. If the redirect is not handled by the application, an EIdProtocolReplyError exception will be raised. See Also TIdCustomHTTP.HandleRedirects (

423)

TIdCustomHTTP.DoRequest EIdProtocolReplyError

TIdCustomHTTP.Request Property Specifies the header values to send to the HTTP server. Pascal property Request: TIdHTTPRequest;

Internet Direct (Indy) Version 10.1.5

427

TIdCustomHTTP Class

Classes

Description Request is a TIdHTTPRequest ( 1072) property used to specify the header values to send to the HTTP server. Request headers allow the HTTP client to pass additional information about the request, or the request client, to the HTTP server. Request may contain the textual representation of Cookie values from the HTTP client, Host and Port information for a proxied connection, as well as values from TIdHTTP ( 1041) properties transmitted as message headers. Request is used in the protected method that performs the HTTP transfer. Use Response (

428) to examine header values received in an HTTP protocol response from the server.

See Also TIdCustomHTTP.Response (

428)

TIdCustomHTTP.DoRequest TIdHTTPRequest ( TIdHTTPResponse (

1072) 1085)

TIdCustomHTTP.Response Property Specifies the header values received from the HTTP server. Pascal property Response: TIdHTTPResponse; Description Response is a TIdHTTPResponse ( 1085) property used to specify the header values and optional content received in a message from the HTTP server. Response headers allow the server to pass additional information about the values returned for an HTTP Request ( 427). Response is used in the protected method that performs the HTTP transfer, or in Head ( values for the resource identified in URL ( 431).

410) when retrieving only the header

Response contains the raw data for headers received in the HTTP response, and also copies header values into propeties for the object instance. Response may also contain the raw data for Cookies maintained by CookieManager ( 422) in the HTTP client. Response is used when capturing the headers, cookies, and contents for an HTTP response after a Request ( Use Request (

427).

427) to examine header values to be sent in a request to the HTTP server.

See Also Request (

427)

DoRequest TIdHTTPRequest ( TIdHTTPResponse (

1072) 1085)

TIdCustomHTTP.ResponseCode Property Specifies the response code received from a HTTP server. Pascal property ResponseCode: Integer; Description ResponseCode is a read-only Integer property that specifies the numeric response code received from a HTTP server. ResponseCode normally contains one of the following values and associated meanings:

428

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

Code

Meaning

200

OK (

201

Created

202

Accepted

203

Non-authoritative Information

204

No Content

205

Reset Content

206

Partial Content

301

Moved Permanently

302

Moved Temporarily

303

See Other

304

Not Modified

305

Use Proxy

400

Bad Request (

401

Unauthorized

403

Forbidden

404

Not Found

405

Method not allowed

406

Not Acceptable

407

Proxy Authentication Required

408

Request (

409

Conflict

410

Gone

411

Length Required

412

Precondition Failed

413

Request (

427) Entity To Long

414

Request (

427)-URI Too Long. 256 Chars max

415

Unsupported Media Type

500

Internal Server Error

501

Not Implemented

502

Bad Gateway

503

Service Unavailable

504

Gateway timeout

505

HTTP version not supported

4359)

427)

427) Timeout

ResponseCode is updated in the DoRequest method when a HTTP server response is retrieved. Use ResponseText (

429) to access the textual description of the numeric response code.

See Also TIdCustomHTTP.ResponseText (

429)

TIdCustomHTTP.ResponseText Property Specifies the text for a response received from a HTTP server.

Internet Direct (Indy) Version 10.1.5

429

TIdCustomHTTP Class

Classes

Pascal property ResponseText: string; Description ResponseText is a read-only String property that specifies the textual message for a response received from a HTTP server. ResponseText normally contains one of the following values messages for the associated ResponseCode (

Code

Message

200

OK (

201

Created

202

Accepted

203

Non-authoritative Information

204

No Content

205

Reset Content

206

Partial Content

301

Moved Permanently

302

Moved Temporarily

303

See Other

304

Not Modified

305

Use Proxy

400

Bad Request (

401

Unauthorized

403

Forbidden

404

Not Found

405

Method not allowed

406

Not Acceptable

407

Proxy Authentication Required

408

Request (

409

Conflict

410

Gone

411

Length Required

412

Precondition Failed

413

Request (

427) Entity To Long

414

Request (

427)-URI Too Long. 256 Chars max

415

Unsupported Media Type

500

Internal Server Error

501

Not Implemented

502

Bad Gateway

503

Service Unavailable

504

Gateway timeout

505

HTTP version not supported

428):

4359)

427)

427) Timeout

ResponseText is updated in the DoRequest method when a HTTP server response is retrieved. Use ResponseCode ( 430

428) to access the numeric value for the HTTP server response. Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

See Also TIdCustomHTTP.ResponseCode (

428)

TIdCustomHTTP.URL Property Represents the attributes of a resource accessed by an HTTP request. Pascal property URL: TIdURI; Description URL is a read-only TIdURI ( 2552) property that represents the attributes of a server resource in an HTTP Request ( including the Protocol, Host, Port, Path, Document, and Bookmark for a resource.

427),

URL is used in DoRequest and when preparing the request for the HTTP command verb. URL may also be used, when CookieManager ( 422) has been assigned for the HTTP client, to set the realm or domain for cookie values found in an HTTP response. See Also TIdURI (

2552)

TIdCustomHTTP.CookieManager ( TIdCustomHTTP.Request (

422)

427)

TIdCustomHTTP.Response (

428)

TIdCustomHTTP Events The Events of the TIdCustomHTTP class are listed here. Events Event

Description

OnAuthorization (

431)

OnHeadersAvailable ( OnProxyAuthorization ( OnRedirect (

Event handler for authentication of an HTTP connection.

432)

Allows the client to decide if response processing should be continued based on headers returned in the HTTP response.

432)

Event handler for selecting the HTTP client authentication mechanism for a proxy connection.

432)

OnSelectAuthorization (

Event handler triggered for redirect requests. 433)

OnSelectProxyAuthorization (

Event handler triggered when the client selects an authentication mechanism for the connection. 433)

Event handler triggered when the client selects an authentication mechanism for the Proxied connection.

Legend Event

TIdCustomHTTP.OnAuthorization Event Event handler for authentication of an HTTP connection. Pascal property OnAuthorization: TIdOnAuthorization; Parameters Parameters

Description

Sender

HTTP Client generating the event notification.

VUserName

User identity for the HTTP request.

VPassword

User authorization for the HTTP request.

Handled

Indicatesd if the authentication was successful.

Internet Direct (Indy) Version 10.1.5

431

TIdCustomHTTP Class

Classes

Description OnAuthorization is a TIdOnAuthorization ( 3067) property that represents the event handler signalled when an HTTP client connection needs to provide authentication data as part of an HTTP request. VUserName and VPassword are the authentication credentials found in the HTTP Request ( 427), and can be updated in the event handler. Handled indicates if the event handler has successfully authenticated using the client account credentials and authentication method. Set Handled to False if any condition in the authentication process is not satisfied. Applications must assign a procedure to the event handler to allow responding to the event notification, or to allow the in-process authentication permitted using TIdHTTP.HTTPOptions ( 1047).

TIdCustomHTTP.OnHeadersAvailable Event Allows the client to decide if response processing should be continued based on headers returned in the HTTP response. Pascal property OnHeadersAvailable: TIdHTTPOnHeadersAvailable; Description OnHeadersAvailable is a TIdHTTPOnHeadersAvailable ( 3031) property that represents the event handler signalled when processing a response received by the HTTP client. OnHeadersAvailable allows the client to decide if response processing should be continued based on headers returned in the HTTP response. Applications must assign a procedure to the event handler to allow responding to the event notification. Set the value in the VContinue argument to False if the response should not be accepted and processed. This also causes a persistent connection (indicated in the KeepALive property in the Response ( 428)) to be closed. Use the values in the TIdHeaderList ( 1024) argument to the event handler to examine header values received for in the Response ( 428).

TIdCustomHTTP.OnProxyAuthorization Event Event handler for selecting the HTTP client authentication mechanism for a proxy connection. Pascal property OnProxyAuthorization: TIdOnAuthorization; Parameters Parameters

Description

Sender

HTTP client generating the event notification.

AuthenticationClass

Authentication class to use for the connection.

AuthInfo

Header values to use in authectication.

Description OnProxyAuthorization is a TIdProxyOnAuthorization property that represents the event handler signalled when an HTTP client selects an authentication class to be used when session or proxy authentication is required for a connection. OnProxyAuthorization is signalled prior to triggering the OnAuthorization ( 431) event handler. AuthenticationClass is the class instance to be used to perform authentication for the mechanisms required in an HTTP request. AuthInfo is the header values to be be used in the HTTP response that includes the authentication results. Applications must assign a procedure to the event handler to allow responding to the event notification, or to allow the in-process authentication permitted using TIdHTTP.HTTPOptions ( 1047).

TIdCustomHTTP.OnRedirect Event Event handler triggered for redirect requests. Pascal property OnRedirect: TIdHTTPOnRedirectEvent; 432

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTP Class

Parameters Parameters

Description

Sender

Client triggering the event.

Dest

URL (

NumRedirect

An accumulator for the number of redirection requests.

Handled

Indicated that redirects should be handled.

VMethod

HTTP method to be used to fulfill the redirect.

431) for the new resource location.

Description OnRedirect is a TIdHTTPOnRedirectEvent ( 3031) property that represents the event handler used when the HTTP client receives a redirection ResponseCode ( 428) in the Response ( 428) for an HTTP Request ( 427). OnRedirect is signalled during handling of an HTTP Response ( 428) in the DoRequest method when the ResponseCode ( contains a value in the range 300-307, and the Response ( 428) contains a Location header.

428)

When HandleRedirects ( 423) is True, and the number of active redirects does not exceed RedirectMaximum ( 427), the event handler is signalled to allow the HTTP client to handle any processing required for the Location, Method, or current number of redirection requests. If the client is not Disconnected, the pending redirection request is automatically executed using a nested call to DoRequest. When HandleRedirects ( 423) is False, the event handler is signalled to allow the HTTP client to handle all aspects of the redirection request. If the redirection request is not handled, an EIdProtocolReplyError exception will be raised. An Application must assign a procedure to the event handler in order to respond to the event notification. The event handler procedure can used to alter the redirection location specified in Dest, or to change the HTTP method for a pending redirection request. The event handler procedure should also set Handled to True to indicate that the redirection request can/should be allowed for the client.

TIdCustomHTTP.OnSelectAuthorization Event Event handler triggered when the client selects an authentication mechanism for the connection. Pascal property OnSelectAuthorization: TIdOnSelectAuthorization; Parameters Parameters

Description

Sender

HTTP client generating the event notification.

AuthenticationClass

Authentication class to use for the connection.

AuthInfo

Header values to use in authectication.

Description OnSelectAuthorization is a TIdOnSelectAuthorization ( 3071) property that represents the event handler triggered when the HTTP client chooses an Authentication method and class for authorizing a connection. OnSelectAuthorization is triggered when a Request ( 427) needs Authentication using a supported Authentication method for the WWWAuthenticate headers found in Response ( 428). OnSelectAuthorization can be used to set the class instance in Auth used for authenticating the client Request ( 427) based on header values found in AuthInfo. OnSelectAuthorization is used prior to triggering the OnAuthorization (

431) event handler for the client connection.

TIdCustomHTTP.OnSelectProxyAuthorization Event Event handler triggered when the client selects an authentication mechanism for the Proxied connection. Pascal property OnSelectProxyAuthorization: TIdOnSelectAuthorization;

Internet Direct (Indy) Version 10.1.5

433

TIdCustomHTTPServer Class

Classes

Parameters Parameters

Description

Sender

HTTP client generating the event notification.

AuthenticationClass

Authentication class to use for the connection.

AuthInfo

Header values to use in authectication.

Description OnSelectProxyAuthorization is a TIdOnSelectAuthorization ( 3071) property that represents the event handler triggered when the HTTP client chooses an Authentication method and class for authorizing a Proxied connection. OnSelectProxyAuthorization is triggered when a Request ( 427) needs Authentication using a supported Authentication method for the Proxy headers found in Response ( 428). OnSelectProxyAuthorization can be used to set the class instance in Auth used for authenticating the client Request ( 427) based on header values found in AuthInfo. OnSelectProxyAuthorization is used prior to triggering the OnProxyAuthorization (

432) event handler for the client connection.

TIdCustomHTTPServer Class Specifies properties, methods, and events for the base HTTP Server implementation in Indy. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal TIdCustomHTTPServer = class(TIdCustomTCPServer); Description TIdCustomHTTPServer is a TIdTCPServer ( 2375) descendant that specifies properties, methods, and events for an implementation of the Hypertext Transfer Protocol (HTTP) as described in the Internet Standards document: RFC 1945 - Hypertext Transfer Protocol [HTTP] version 1.0 RFC 2616 - Hypertext Transfer Protocol [HTTP] version 1.1 TIdCustomHTTPServer also supports the Secure Hypertext Transport protocol (HTTPS) as described in the Internet Standards document: RFC 2660 - The Secure HyperText Transfer Protocol Assign an instance of TIdServerInterceptOpenSSL to the Intercept ( 464) property to allow use of the HTTPS protocol. For the Windows platform, you must install the Indy OpenSSL support .DLL's available at the Intelicom website to enable Secure Socket Layer support. Application do not normally create ( 267) instances of TIdCustomHTTPServer. Most properties, methods, and events in TIdCustomHTTPServer are protected to allow descendant classes to override their implementation. Use TIdHTTPServer ( 1102) to access published properties, method, and events. TIdCustomHTTPServer implements an overridden protected method that defines the behavior during execution of threaded client connections. The method (DoExecute) performs processing required to read and process an HTTP request from the client connection, as well as prepare and send an HTTP response. DoExecute reads the raw HTTP command, HTTP header values including Cookies, and any optional content stream from the client connection. HTTP request data is parsed into an TIdHTTPRequestInfo ( 1077) class instance used during execution of the client thread. DoExecute handles retrieving or creating persistent Sessions for threaded client connections. This is done using the IP for the client connection and the IDSESSIONID Cookie value included in the HTTP request. 434

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTPServer Class

DoExecute constructs an HTTP response for the client request using an TIdHTTPResponseInfo ( 1089) instance. It initializes server and Session properties in the response, and relies on the OnCommandGet or OnCommandOther ( 443) event handlers to complete the content of the HTTP response. The HTTP response, and any optional content stream, are written to the client connection. DoExecute will close the client connection prior to exiting when KeepAlive ( omits the HTTP "Keep-Alive" header in the HTTP request.

439) is not supported on the server, or if the client

During execution of a threaded client connection, the following Exceptions Exceptions

Description

EIdHTTPErrorParsingCommand (

99)

EIdHTTPUnsupportedAuthorisationScheme ( EIdSocketError (

152)

Malformed command in the HTTP request. 103)

Invalid or unsupported authorization scheme in the HTTP request. Raised when a connection is closed by the peer prior to writing the HTTP response. All Other Exceptions should be handled and included in the HTTP response using the HTTP response number and response message as defined in the HTTP protocol.

See Also TIdHTTPServer (

1102)

TIdTCPServer ( IndySupport (

2375) 15)

TIdCustomHTTPServer Members The following tables list the members exposed by TIdCustomHTTPServer. Properties Property Active (

Description 458)

Indicates if the server is running and listening for client connections.

AutoStartSession ( Bindings (

438)

Requests a new session when an existing session is not found.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

439)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Default port number for the server.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

Identifies a data handler for server socket connections.

IOHandler (

464)

Represents the IOHandler used by listener threads for the server.

KeepAlive (

439)

Indicates if a client connection should remain open for subsequent use in an HTTP session.

ListenQueue (

465)

MaxConnections (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

MaximumHeaderLineCount ( MIMETable ( OnAfterBind (

Indicates the maximum numer of client connections allowed for the server. 439)

440)

Maximum number of header lines allowed in an HTTP request. Represents the MIME type table for the HTTP server implementation.

466)

Event handler signalled after binding socket handles for listener threads.

ParseParams (

440)

Requests parsing of query parameters in client requests.

ReuseSocket (

466)

Indicates reuse of local addresses for listener threads.

Scheduler (

466)

ServerSoftware ( SessionList ( SessionState (

Identifies the thread-based or fiber-based scheduler used in the server. 441)

441)

Indicates that the server uses persistent HTTP sessions.

442)

TerminateWaitTime ( Version (

Container for HTTP sessions for the server.

442)

SessionTimeOut (

468)

269)

WorkTarget (

Indicates the server software used to generate the HTTP response.

359)

specifies the default time-to-live for persistent HTTP sessions. Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method BeginWork (

Description 356)

Internet Direct (Indy) Version 10.1.5

Triggers the OnBeginWork event.

435

TIdCustomHTTPServer Class Create (

267)

Classes Constructor for the object instance.

CreateSession (

436)

Creates a new HTTP session.

Destroy (

437)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndSession (

437)

Frees the named HTTP session.

EndWork (

358)

Triggers the OnEndWork event handler.

GetVersion ( CType (

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnCommandOther ( OnConnect (

443)

469)

OnCreateSession ( OnDisconnect (

470)

444)

OnSessionStart (

Represents the event handler for unknown HTTP commands. Event signalled when a session is needed a client connection. Event handler for exceptions raised in a peer thread.

443)

OnListenException ( OnSessionEnd (

Event handler signalled prior to executing a listener thread.

Event handler signalled when disconnecting the client connection.

470)

OnInvalidSession (

Event handler signalled proper to establishing a client connection to the server.

Event handler signalled for establishing new client connections. 443)

469)

OnException (

OnStatus (

468)

444)

359)

Event handler signalled when a session cannot be restored for a specific SessionID. Event handler for an exception in a listener thread. Specifies the event handler for terminating HTTP sessions. Specifies the event handler for creating a new HTTP session. Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCustomHTTPServer Methods The Methods of the TIdCustomHTTPServer class are listed here. Methods Method

Description

CreateSession ( Destroy ( EndSession (

436)

437) 437)

Creates a new HTTP session. Frees the object instance. Frees the named HTTP session.

Legend Method virtual

TIdCustomHTTPServer.CreateSession Method Creates a new HTTP session. Pascal function CreateSession( AContext: TIdContext; HTTPResponse: TIdHTTPResponseInfo; HTTPRequest: TIdHTTPRequestInfo ): TIdHTTPSession;

436

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTPServer Class

Parameters Parameters

Description

AContext

Client connection for the session.

HTTPResponse

The response to use for the session.

HTTPRequest

The request to use for the session.

Returns TIdHTTPSession (

1105) - The session created for the HTTP request and response.

Description CreateSession is a TIdHTTPSession ( 1105) function used to get a new persistent HTTP session for the server implementation. CreateSession creates a new HTTP session with a unique SessionID for the IP address specified in the HTTPRequest parameter. SessionID is added to the HTTPResponse as the GSessionIDCookie ( 3215) cookie. The new session is assigned to both the HTTP Request and the HTTP Response for the executing client thread, and added to the SessionList ( 441) for the server. If SessionState (

442) is False, CreateSession will perform no action and return the value Nil.

See Also TIdHTTPSession (

1105)

GSessionIDCookie ( TIdHTTPRequest ( TIdHTTPResponse (

3215) 1072) 1085)

TIdCustomHTTPServer.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy ensures that the server is not Active ( connections. Destroy frees resources allocated to the MIMETable ( to complete destruction of the object instance.

440) and SessionList (

458), or listening for new

441) properties. Destroy calls the inherited method

See Also MIMETable (

440)

SessionList (

441)

TIdCustomHTTPServer.EndSession Method Frees the named HTTP session. Pascal function EndSession( const SessionName: string ): boolean; Parameters Parameters

Description

SessionName

Identifier of the session to be freed.

Returns Boolean - True when the named session is found and freed. Internet Direct (Indy) Version 10.1.5

437

TIdCustomHTTPServer Class

Classes

Description EndSession is a Boolean function that allows the HTTP server to free the TIdHTTPSession ( SessionName.

1105) using the name specified in

EndSession attempts to locate the TIdHTTPSession ( 1105) in SessionList ( 441) that has a SessionID matching SessionName. When a session is found that matches SessionName, it is freed from the SessionList ( 441) and the return value for the method is set to True. EndSession uses the SessionList.GetSession method to find the named session. If a valid session reference is retrieved, the session is freed. See Also TIdHTTPSession ( SessionList (

1105)

441)

TIdCustomHTTPServer Properties The Properties of the TIdCustomHTTPServer class are listed here. Properties Property

Description

AutoStartSession ( DefaultPort ( KeepAlive (

438)

Requests a new session when an existing session is not found.

439)

Default port number for the server.

439)

Indicates if a client connection should remain open for subsequent use in an HTTP session.

MaximumHeaderLineCount ( MIMETable ( ParseParams (

440) 440)

ServerSoftware (

441)

SessionList ( SessionState (

441) 442)

SessionTimeOut (

442)

439)

Maximum number of header lines allowed in an HTTP request. Represents the MIME type table for the HTTP server implementation. Requests parsing of query parameters in client requests. Indicates the server software used to generate the HTTP response. Container for HTTP sessions for the server. Indicates that the server uses persistent HTTP sessions. specifies the default time-to-live for persistent HTTP sessions.

Legend Property read only

TIdCustomHTTPServer.AutoStartSession Property Requests a new session when an existing session is not found. Pascal property AutoStartSession: boolean; Description AutoStartSession is a Boolean property that indicates a new HTTP session should be created when a persistent HTTP session does not exist in SessionList ( 441). AutoStartSession is used when a session for the HTTP client connection is executed, and SessionState ( persistent sessions are maintained on the HTTP server.

442) indicates that

AutoStartSession allows CreateSession ( 436) to be called when an HTTP session cannot be found in SessionList ( containing the GSessionIDCookie ( 3215) for the client IP address. Even when AutoStartSession is True, CreateSession ( session should not be allowed to continue execution.

436) will not be called when OnInvalidSession (

The default value for AutoStartSession is Id_TId_HTTPAutoStartSession (

438

441)

443) indicates that the

3818) as assigned in the Create (

267) constructor.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTPServer Class

See Also CreateSession (

436)

GSessionIDCookie ( OnInvalidSession ( SessionList (

3215) 443)

441)

SessionState (

442)

Id_TId_HTTPAutoStartSession (

3818)

TIdCustomHTTPServer.DefaultPort Property Default port number for the server. Pascal property DefaultPort: TIdPort; Description DefaultPort is a published property in TIdCustomHTTPServer ( 434) that identifies the default port number for listener threads in the server, as described in the Hypertext Transfer Protocol specification. The default value for DefaultPort is IdPORT_HTTP (

4022).

See Also TIdListenerThread ( IdPORT_HTTP (

1445)

4022)

TIdCustomHTTPServer.KeepAlive Property Indicates if a client connection should remain open for subsequent use in an HTTP session. Pascal property KeepAlive: Boolean; Description KeepAlive is a Boolean property that indicates if the HTTP server should keep the connection open for the session established in an executing client thread. When KeepAlive is True, the connection used for the HTTP response is give a 'keep-alive' header in the response content. When KeepAlive is False, the connection header 'close' is used in the HTTP response. The default value for KeepAlive is Id_TId_HTTPServer_KeepAlive (

3818), as assigned during initialization of the component.

See Also TIdHTTPRequestInfo (

1077)

TIdHTTPResponseInfo (

1089)

TIdPeerThread TIdTCPServer.OnExecute (

2379)

TIdCustomHTTPServer.MaximumHeaderLineCount Property Maximum number of header lines allowed in an HTTP request. Pascal property MaximumHeaderLineCount: Integer;

Internet Direct (Indy) Version 10.1.5

439

TIdCustomHTTPServer Class

Classes

Description MaximumHeaderLineCount is an Integer property that indicates the maximum number of headers lines allowed when processing requests for connections the server. MaximumHeaderLineCount is used to avoid the situation (commonly referred to as "header bombing") where an excess number of header lines are written in HTTP requests in an attempt to invoke a DOS (Denial of Service) attack. The default value for MaximumHeaderLineCount is Id_TId_HTTPMaximumHeaderLineCount ( initialization of the component.

3818), as assigned during

See Also Id_TId_HTTPMaximumHeaderLineCount (

3818)

TIdCustomHTTPServer.MIMETable Property Represents the MIME type table for the HTTP server implementation. Pascal property MIMETable: TIdMimeTable; Description MIMETable is a read-only TIdMimeTable ( the ServeFile method.

1636) property that is used to retrieve the registered MIME type for a file requested in

Values in MIMETable may be assigned to the ContentType property in the TIdHTTPResponseInfo ( written in the HTTP response.

1089) containing headers

MIMETable is initialized in the Create ( 267) constructor, and loaded with default values using TIdMimeTable.BuildCache ( 1638). MIMETable is freed in the Destroy ( 437) method. See Also TIdMimeTable (

1636)

TIdMimeTable.BuildCache ( TIdHTTPResponseInfo ( Create ( Destroy (

1638)

1089)

267) 437)

ServeFile SmartServeFile

TIdCustomHTTPServer.ParseParams Property Requests parsing of query parameters in client requests. Pascal property ParseParams: boolean; Description ParseParams is a Boolean property that indicates the string list should be populated with the query values from the client request query string (GET method) or form values (POST method). For a client request in the form: http://www.mydomain.com/test.htm?color=blue&size=10&style=44 The Params property would contain: color=blue size=10 style=44 The developer has easy access to the value of named parameters using the RequestInfo.Params.Values property: 440

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTPServer Class

Color := RequestInfo.Params.Values['Color']; To parse non-standard request query or form data, the ParseParams property should be set to false, and the developer will need to build a parser to extract the parameters from the UnparsedParams property. The default value for ParseParams is Id_TId_HTTPServer_ParseParams ( component.

3819), as assigned during initialization of the

TIdCustomHTTPServer.ServerSoftware Property Indicates the server software used to generate the HTTP response. Pascal property ServerSoftware: string; Description ServerSoftware is a String property that contains the textual values that identifies the server software used to generate the values in an HTTP response. ServerSoftware is used when an executing connection thread prepares the headers for it's HTTP response in OnExecute. Assign the value to use for identifying your server implementation to ServerSoftware prior to listening for or accepting client connections. ServerSoftware, by convention, is expressed as a product name and version number in the form: productname "/" versionno When ServerSoftware contains a non-blank value, it is used in the TIdHTTPResponseInfo.ServerSoftware ( 1101) property for each client request. If ServerSoftware contains a blank string (''), the value in the GServerSoftware ( 3214) constant is assigned to TIdHTTPResponseInfo.ServerSoftware ( 1101). Example IdHTTP1.ServerSoftware := 'MyCustomHTTPServer/1.0'; IdHTTP1.Active := True; IdHTTP1->ServerSoftware = "MyCustomHTTPServer/1.0"; IdHTTP1->Active = True; See Also OnExecute TIdHTTPResponseInfo (

1089)

TIdHTTPResponseInfo.ServerSoftware (

1101)

TIdCustomHTTPServer.SessionList Property Container for HTTP sessions for the server. Pascal property SessionList: TIdHTTPCustomSessionList; Description SessionList is a read-only TIdHTTPCustomSessionList ( instances created for the HTTP server. SessionList is maintained in CreateSession ( TIdHTTPDefaultSessionList.PurgeStaleSessions ( 1063).

1052) property used as a container for TIdHTTPSession ( 436)

and

EndSession

(

437),

as

well

1105) as

by

See Also TIdHTTPCustomSessionList ( TIdHTTPSession ( CreateSession ( EndSession (

1052)

1105)

436)

437)

Internet Direct (Indy) Version 10.1.5

441

TIdCustomHTTPServer Class

Classes

TIdHTTPDefaultSessionList.PurgeStaleSessions (

1063)

TIdCustomHTTPServer.SessionState Property Indicates that the server uses persistent HTTP sessions. Pascal property SessionState: Boolean; Description SessionState is a Boolean property that indicates persistent sessions are used by the HTTP server to service requests from peer threads. SessionState is used by CreateSession ( 436) to determine if a new persistent session is created and added to the session list. SessionState is used to get the cookie value for a session, and to determine if a persistent session matching the 'IDHTTPSESSIONID' cookie and Remote IP address should be retrieved from the session list. The default value for SessionState is Id_TId_HTTPServer_SessionState ( component.

3819), as assigned during initialization of the

See Also CreateSession (

436)

GSessionIDCookie (

3215)

TIdCustomHTTPServer.SessionTimeOut Property specifies the default time-to-live for persistent HTTP sessions. Pascal property SessionTimeOut: Integer; Description SessionTimeOut is an Integer property that specifies the default time-to-live for persistent HTTP sessions created by the HTTP server. SessionTimeOut is assigned as the default SessionTimeOut for the server session list when the HTTP server becomes active. SessionTimeOut is used determine when a persistent HTTP session has expired, or become stale. Stale persistent sessions are removed from the HTTP session list. The default value for SessionTimeout is Id_TId_HTTPSessionTimeOut (

3819), as assigned during initialization of the component.

See Also TIdHTTPDefaultSessionList (

1059)

TIdCustomHTTPServer Events The Events of the TIdCustomHTTPServer class are listed here. Events Event

Description

OnCommandOther (

443)

Represents the event handler for unknown HTTP commands.

OnCreateSession (

443)

Event signalled when a session is needed a client connection.

OnInvalidSession (

443)

Event handler signalled when a session cannot be restored for a specific SessionID.

OnSessionEnd (

444)

OnSessionStart (

444)

Specifies the event handler for terminating HTTP sessions. Specifies the event handler for creating a new HTTP session.

Legend Event

442

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomHTTPServer Class

TIdCustomHTTPServer.OnCommandOther Event Represents the event handler for unknown HTTP commands. Pascal property OnCommandOther: TIdHTTPCommandEvent; Parameters Parameters

Description

Thread

The peer thread generating the event.

asCommand

The command from the HTTP request.

asData

The data from the HTTP request.

asVersion

The version number from the HTTP request.

Description OnCommandOther is the TIdHTTPOtherEvent event handler used to respond to unknown HTTP commands. OnCommandOther is used during execution of the threaded client connection when a command other than GET, POST, or HEAD is received in the HTTP request. The application must assign a procedure to the OnCommandOther event handler to allow the server to respond to the unknown HTTP command. Use OnCommandOther to generate custom Response or Error messages, handle non-standard HTTP commands, or perform processing specific to the HTTP server implementation when an error occurs. See Also TIdHTTPOtherEvent OnExecute

TIdCustomHTTPServer.OnCreateSession Event Event signalled when a session is needed a client connection. Pascal property OnCreateSession: TOnCreateSession; Parameters Parameters

Description

ASender

THread of execution for the threaded client connection.

VHTTPSession

HTTP session for the event notification.

Description OnCreateSession is a TOnCreateSession ( 3104) property that represents the event handler signalled when an HTTP session is needed for a threaded client connection. OnCreateSession is signalled when TIdCustomHTTPServer.CreateSession ( 436) is used and TIdCustomHTTPServer.SessionState ( 442) is True, and allows the server implementation to retrieve or create ( 267) an HTTP session using the requirements or logic desired. Applications must assign a procedure to the OnCreateSession event handler to allow responding to the event notification. When OnCreateSession is unassigned, the HTTP server will use the TIdHTTPDefaultSessionList.CreateUniqueSession ( 1062) method to initialize an HTTP session. See Also TOnCreateSession (

3104)

TIdCustomHTTPServer.SessionState (

442)

TIdHTTPDefaultSessionList.CreateUniqueSession (

1062)

TIdCustomHTTPServer.OnInvalidSession Event Event handler signalled when a session cannot be restored for a specific SessionID. Internet Direct (Indy) Version 10.1.5

443

TIdCustomHTTPServer Class

Classes

Pascal property OnInvalidSession: TIdHTTPInvalidSessionEvent; Parameters Parameters

Description

AContext

Client connection generating the event notification.

RequestInfo

Header sent in the client request.

ResponseInfo

Header to include in a response.

ContinueProcessing

Indicates that a new session can be created.

InvalidSessionID

Session ID found in a Request Cookie.

Description OnInvalidSession is a TIdHTTPInvalidSessionEvent ( 3029) property that represents the event handler signalled when a persistent session with the specified SessionID cannot be restored from SessionList ( 441). OnInvalidSession is signalled when the threaded client connection in Thread is executed. InvalidSessionID is the GSessionIDCookie ( 3215) value that identifies the session to be restored. The event handler can set the value of ContinueProcessing to indicate if the server can create ( 267) a new session for the threaded client connection. Applications must assign a procedure to the event handler to allow responding to the event notification. See Also TIdHTTPInvalidSessionEvent ( SessionList (

3029)

441)

GSessionIDCookie (

3215)

TIdCustomHTTPServer.OnSessionEnd Event Specifies the event handler for terminating HTTP sessions. Pascal property OnSessionEnd: TOnSessionEndEvent; Description OnSessionEnd is the TOnSessionEndEvent ( HTTP session.

3111) event handler used to respond to the event notification for termination of a

OnSessionEnd is assigned to the OnSessionEnd event handler for the HTTP session list used by server. The event handler is assigned when the server becomes active. See Also TOnSessionEndEvent (

3111)

TIdHTTPDefaultSessionList (

1059)

TIdHTTPCustomSessionList (

1052)

TIdHTTPSession ( OnSessionStart (

1105) 444)

TIdCustomHTTPServer.OnSessionStart Event Specifies the event handler for creating a new HTTP session. Pascal property OnSessionStart: TOnSessionStartEvent; Description OnSessionStart is the TOnSessionStartEvent ( 444

3112) event handler used to respond to the event notification for creation of a new Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomIcmpClient Class

HTTP session. OnSessionStart is assigned to the OnSessionStart event handler for the HTTP session list used by server. The event handler is assigned when the server becomes active. See Also TOnSessionStartEvent (

3112)

TIdHTTPDefaultSessionList (

1059)

TIdHTTPCustomSessionList (

1052)

TIdHTTPSession ( OnSessionEnd (

1105) 444)

TIdCustomIcmpClient Class File IdIcmpClient (

4665)

Hierarchy

Pascal TIdCustomIcmpClient = class(TIdRawClient); Description TIdCustomIcmpClient is a TIdRawClient (

1814) descendant.

See Also TIdRawClient (

1814)

TIdCustomIcmpClient Members The following tables list the members exposed by TIdCustomIcmpClient. Properties Property

Description

Binding (

1813)

Represents the socket handle for the connection.

Host (

1814)

Specifies the endpoint for the socket connection.

Host (

1816)

Specifies the endpoint for the socket connection.

IPVersion ( Port (

1816)

1816)

Protocol (

Identifies the port number for the socket connection.

1816)

ProtocolIPv6 (

Identifies the protocol option for the socket connection.

1817)

ReceiveTimeout (

1814)

Identifies the timeout for receive operations.

ReceiveTimeout (

1817)

Identifies the timeout for receive operations.

Version (

269)

WorkTarget (

359)

Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

267)

Destroy (

446)

DoWork (

357)

Internet Direct (Indy) Version 10.1.5

Triggers the OnBeginWork event. Constructor for the object instance. Triggers the OnWork event handler.

445

TIdCustomIcmpClient Class EndWork (

358)

GetVersion ( Receive (

269)

Triggers the OnEndWork event handler. Version (

269) number for Indy component suite.

446)

ReceiveBuffer ( CType (

Classes

1811)

267)

Send ( Create ( Send (

447) 1274) 1811)

Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCustomIcmpClient Methods The Methods of the TIdCustomIcmpClient class are listed here. Methods Method Destroy (

Description 446)

Receive (

446)

Send (

447)

Legend Destructor virtual

TIdCustomIcmpClient.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdCustomIcmpClient.Receive Method Pascal function Receive( ATimeOut: Integer ): TReplyStatus; Parameters Parameters

Description

ATimeOut

Type is Integer.

Returns TReplyStatus (

2679)

Description Receive is a method. 446

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomMappedTelnet Class

Receive returns a TReplyStatus (

2679) value.

TIdCustomIcmpClient.Send Method Overload List Method

Description

TIdCustomIcmpClient.Send integer, TIdBytes) ( 447) (TIdBytes) (

(string,

TIdCustomIcmpClient.Send 447)

TIdCustomIcmpClient.Send Method (TIdBytes) Pascal procedure Send( const ABuffer: TIdBytes ); override; Parameters Parameters

Description

ABuffer

Scope is const. Type is TIdBytes (

3007).

Description Send is a overridden method.

TIdCustomIcmpClient.Send Method (string, integer, TIdBytes) Pascal procedure Send( const AHost: string; const APort: integer; const ABuffer: TIdBytes ); override; Parameters Parameters

Description

AHost

Scope is const. Type is string.

APort

Scope is const. Type is integer.

ABuffer

Scope is const. Type is TIdBytes (

3007).

Description Send is a overridden method.

TIdCustomMappedTelnet Class File IdMappedTelnet (

4682)

Hierarchy

Pascal TIdCustomMappedTelnet = class(TIdMappedPortTCP);

Internet Direct (Indy) Version 10.1.5

447

TIdCustomMappedTelnet Class

Classes

Description TIdCustomMappedTelnet is a TIdMappedPortTCP (

1505) descendant.

See Also TIdMappedPortTCP (

1505)

TIdCustomMappedTelnet Members The following tables list the members exposed by TIdCustomMappedTelnet. Properties Property Active (

Description 458)

Indicates if the server is running and listening for client connections.

AllowedConnectAttempts ( Bindings (

449)

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

449)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

Represents the IOHandler used by listener threads for the server.

ListenQueue (

465)

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

MappedHost (

1507)

Represents the IP address or host name to use for outbound connections in the port mapping proxy server.

MappedPort (

449)

MaxConnections ( OnAfterBind ( ReuseSocket ( Scheduler (

465)

Indicates the maximum numer of client connections allowed for the server.

466)

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

269)

WorkTarget (

Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

Event handler signalled proper to establishing a client connection to the server.

OnBeforeConnect (

1508)

Event handler signalled prior to opening the local client connection for a proxied client session.

OnBeforeListenerRun ( OnCheckHostPort (

Event handler signalled prior to executing a listener thread.

450)

OnConnect (

469)

Event handler signalled for establishing new client connections.

OnConnect (

1509)

Event handler signalled when the local client for the proxied connection has been connected.

OnDisconnect (

469)

Event handler signalled when disconnecting the client connection.

OnDisconnect (

1509)

Event handler signalled when the local client for the proxied connection is disconnected.

OnException ( OnExecute (

470)

Event handler for exceptions raised in a peer thread.

1510)

OnListenException (

448

468)

Event handler signalled to perform data handling for the local client in the proxied connection. 470)

Event handler for an exception in a listener thread.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomMappedTelnet Class

OnOutboundConnect ( OnOutboundData (

1510)

1511)

OnOutboundDisconnect ( OnStatus (

Event handler signalled when the remote system connection for the proxied session has been connected. Event handler signalled to perform data handling for the remote client connection in the proxied session.

1511)

359)

Event handler signalled when the remote connection for the proxied session is disconnected. Represents the current connection status event handler.

Legend Property read only Event Method virtual

TIdCustomMappedTelnet Properties The Properties of the TIdCustomMappedTelnet class are listed here. Properties Property

Description

AllowedConnectAttempts ( DefaultPort ( MappedPort (

449)

449) 449)

Legend Property

TIdCustomMappedTelnet.AllowedConnectAttempts Property Pascal property AllowedConnectAttempts: Integer; Description AllowedConnectAttempts is a Public Integer property. Write SetAllowedConnectAttempts. The default value for the property is -1.

access

for

the

property

is

implemented

using

TIdCustomMappedTelnet.DefaultPort Property Pascal property DefaultPort: TIdPort; Description DefaultPort is a Published property. The default value for the property is IdPORT_TELNET (

4267).

TIdCustomMappedTelnet.MappedPort Property Pascal property MappedPort: Integer; Description MappedPort is a Published property. The default value for the property is IdPORT_TELNET (

4267).

TIdCustomMappedTelnet Events The Events of the TIdCustomMappedTelnet class are listed here.

Internet Direct (Indy) Version 10.1.5

449

TIdCustomSocksServer Class

Classes

Events Event

Description

OnCheckHostPort (

450)

Legend Event

TIdCustomMappedTelnet.OnCheckHostPort Event Pascal property OnCheckHostPort: TIdMappedTelnetCheckHostPort; Description OnCheckHostPort is a Public TIdMappedTelnetCheckHostPort ( implemented using FOnCheckHostPort.

3057) event handler property. Write access for the property is

TIdCustomSocksServer Class File IdSocksServer (

4725)

Hierarchy

Pascal TIdCustomSocksServer = class(TIdCustomTCPServer); Description TIdCustomSocksServer is a TIdCustomTCPServer (

453) descendant.

See Also TIdCustomTCPServer (

453)

TIdCustomSocksServer Members The following tables list the members exposed by TIdCustomSocksServer. Properties Property Active (

Description 458)

Indicates if the server is running and listening for client connections.

AllowSocks4 (

452)

AllowSocks5 (

452)

Bindings (

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

452)

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue ( OnAfterBind ( ReuseSocket (

Represents the IOHandler used by listener threads for the server.

465)

MaxConnections (

450

Class reference used to create (

465)

466) 466)

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread. Indicates the maximum numer of client connections allowed for the server. Event handler signalled after binding socket handles for listener threads. Indicates reuse of local addresses for listener threads.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomSocksServer Class

Scheduler (

466)

Identifies the thread-based or fiber-based scheduler used in the server.

Socks5NeedsAuthentication ( TerminateWaitTime ( Version (

452)

468)

269)

WorkTarget (

Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Constructor for the object instance.

Destroy (

451)

DoWork (

357)

EndWork (

Triggers the OnWork event handler.

358)

GetVersion ( CType (

Triggers the OnBeginWork event.

267)

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnAuthenticate (

453)

OnBeforeBind (

453)

OnBeforeConnect (

453)

OnBeforeListenerRun ( OnConnect (

OnDisconnect ( OnException (

Event handler signalled prior to executing a listener thread. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnStatus (

468)

469)

Event handler for exceptions raised in a peer thread. 470)

359)

Event handler for an exception in a listener thread. Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCustomSocksServer Methods The Methods of the TIdCustomSocksServer class are listed here. Methods Method Destroy (

Description 451)

Legend Destructor virtual

TIdCustomSocksServer.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

Internet Direct (Indy) Version 10.1.5

451

TIdCustomSocksServer Class

Classes

TIdCustomSocksServer Properties The Properties of the TIdCustomSocksServer class are listed here. Properties Property

Description

AllowSocks4 ( AllowSocks5 ( DefaultPort (

452) 452) 452)

Socks5NeedsAuthentication (

452)

Legend Property

TIdCustomSocksServer.AllowSocks4 Property Pascal property AllowSocks4: boolean; Description AllowSocks4 is a Published boolean property. Write access for the property is implemented using fAllowSocks4.

TIdCustomSocksServer.AllowSocks5 Property Pascal property AllowSocks5: boolean; Description AllowSocks5 is a Published boolean property. Write access for the property is implemented using fAllowSocks5.

TIdCustomSocksServer.DefaultPort Property Pascal property DefaultPort: TIdPort; Description DefaultPort is a Published property. The default value for the property is IdPORT_SOCKS (

4232).

TIdCustomSocksServer.Socks5NeedsAuthentication Property Pascal property Socks5NeedsAuthentication: boolean; Description Socks5NeedsAuthentication is a Published boolean property. Write access for the property is implemented using fSocks5NeedsAuthentication.

TIdCustomSocksServer Events The Events of the TIdCustomSocksServer class are listed here.

452

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

Events Event

Description

OnAuthenticate ( OnBeforeBind (

453) 453)

OnBeforeConnect (

453)

Legend Event

TIdCustomSocksServer.OnAuthenticate Event Pascal property OnAuthenticate: TIdOnAuthenticate; Description OnAuthenticate is a Published TIdOnAuthenticate ( using fOnAuthenticate.

3067) event handler property. Write access for the property is implemented

TIdCustomSocksServer.OnBeforeBind Event Pascal property OnBeforeBind: TIdOnBeforeBind; Description OnBeforeBind is a Published TIdOnBeforeBind ( fOnBeforeBind.

3068) event handler property. Write access for the property is implemented using

TIdCustomSocksServer.OnBeforeConnect Event Pascal property OnBeforeConnect: TIdOnBeforeConnect; Description OnBeforeConnect is a Published TIdOnBeforeConnect ( implemented using fOnBeforeConnect.

3068) event handler property. Write access for the property is

TIdCustomTCPServer Class Specifies the interface for a multi-threaded TCP Server. File IdCustomTCPServer (

4609)

Hierarchy

Pascal TIdCustomTCPServer = class(TIdComponent); Description TIdCustomTCPServer is a TIdComponent ( Control Protocol) server.

355) descendant that encapsulates a complete, multi-threaded TCP (Transmission

TIdCustomTCPServer allows multiple listener threads which listen for client connections to the server, accept new client Internet Direct (Indy) Version 10.1.5

453

TIdCustomTCPServer Class

Classes

connections, and hand-off execution of the client task to the server. By default, at least one listener thread is created for the server. For servers with multiple network adapters, additional socket Bindings ( 461) can be created that allow the server to listen for connection requests using the IP address for the selected network adapter(s). When IP version 6 addresses are enabled for the server, an additional listener thread is created for each adapter specifically for connections using the IPv6 address family. TIdCustomTCPServer allows multiple simultaneous client connections, and allocates a separate unit of execution for each client connecting to the server. Each client connection represents a task that is managed by the Scheduler ( 466) for the server. Listener threads use the Scheduler ( 466) for the server to create ( 267) an executable task for each client connection. The Scheduler ( 466) handles creation, execution, and termination of tasks for client connections found in Contexts ( 462). The ContextClass ( 461) property indicates the type of executable task created for client connections and added to Contexts ( 462). There are basically two types of Schedulers available for TIdCustomTCPServer: Thread-based and Fiber-based. Each is designed to work with a specific type of executable task that represents client connections to the server. There are further Scheduler ( 466) refinements that allow a pool of pre-allocated Threads, or Threads which perform scheduling for dependent Fibers. The default Scheduler ( 466) implementation in TIdCustomTCPServer uses a Thread to represent each client connection. Threads are a common feature found on all platforms and Operating Systems hosting the Indy library. Each platform and/or Operating System imposes certain performance and resource limitations on the number of threads that can be created for the server. On Windows, for example, the number of threads is limited by the available virtual memory. By default, every thread gets one megabyte of stack space and implies a theoretical limit of 2028 threads. Reducing the default stack size will allow more threads to be created, but will adversely impact system performance. In addition, threads are pre-emptively scheduled by the host operating system and allow no control over execution of the thread process. Windows addresses these issues by providing the Fibers API. Essentially, Fibers are a light-weight thread. Fibers require fewer resources that threads. Fibers can be manually scheduled in the server, and run in the context of the thread that schedules them. In other words, Fibers are not pre-emptively scheduled by the Operating System. The Fiber runs when its thread runs. As a result, servers using the Fiber API can be more scalable than contemporary thread-based implementations. The Fiber API is very different from the Thread API (even on the Windows platform). To hide these API differences, and to preserve code portability to non-Windows platforms, the Scheduler ( 466) in TIdCustomTCPServer provides an abstraction that masks the differences: the Yarn. Q: What do you get when you weave threads and fibers together? A: Yarn. While TIdCustomTCPServer does not use Fibers unless a Scheduler ( 466) supporting Fibers is assigned (TIdSchedulerOfFiber), the Yarn abstraction is an important one that is central to the use of the Scheduler ( 466). When the Scheduler ( 466) supports Threads, it deals only with a Yarn at the Thread level. When the Scheduler ( 466) supports Fibers, it deals with a Yarn at the Fiber level. The ContextClass ( 461) property for the server is used to create ( uses the Yarn abstraction.

267) the unit of execution for the client connection, and also

TIdCustomTCPServer provides properties and methods that allow configuration of the server and listener threads, including:

Active (

458)

DefaultPort ( Bindings (

462)

461)

ListenQueue (

465)

MaxConnections ( IOHandler ( Intercept (

464) 464)

ReuseSocket (

454

465)

466)

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

TerminateWaitTime ( OnAfterBind (

468)

466)

OnBeforeListenerRun ( OnListenException (

468)

470)

The TIdCustomTCPServer architecture provides properties and methods that allow controlling execution of the client connection tasks for the server, including:

ContextClass ( Scheduler (

461)

466)

OnBeforeConnect ( OnConnect (

469)

OnDisconnect ( OnException (

468)

469) 470)

During initialization of the TIdCustomTCPServer component, the following resources are allocated for properties in the server:

Bindings (

461)

Contexts (

462)

During initialization of the TIdCustomTCPServer component, the following properties are set to their default values:

Property

Value

ContextClass (

461)

TerminateWaitTime ( ListenQueue (

TIdContext ( 468)

376) class reference

5000 (5 seconds)

465)

IdListenQueueDefault (

3853)

At run-time, TIdCustomTCPServer is controlled by changing the value in its Active ( True, the following actions are performed as required to start the server including:

458) property. When Active (

458) is set to

Startup Actions Bindings (

461) are created and / or initialized for IPv4 and IPv6 addresses.

Ensures that an IOHandler ( Ensures that a Scheduler (

464) is assigned for the server. 466) is assigned for the server.

Creates and starts listener threads for Bindings ( When Active (

461) using the thread priority tpHighest (

4413).

458) is set to False, the following actions are performed as required to stop the server including:

Shutdown Actions Terminates and closes the socket handle for the any listener threads. Terminates and disconnects any client connections in Contexts ( Frees an implicitly created Scheduler ( Changing the value in Active ( Internet Direct (Indy) Version 10.1.5

462), and Yarns in Scheduler (

466).

466) for the server.

458) in the IDE (design-time) has no effect other than storing the property value that is used at 455

TIdCustomTCPServer Class

Classes

run-time and during component streaming. While the server is Active ( 458), listener thread(s) are used to detect and accept client connection requests. When a connection request is detected, the Scheduler ( 466) in the server instance is used to acquire the thread or fiber that controls execution of the task for the client connection. The IOHandler ( 464) in the server is used to get an IOHandler ( 464) for the client connection. A client connection request can be refused for any number of reasons. The listener thread may get stopped during processing of the request, or the attempt to create ( 267) an IOHandler ( 464) for the client might fail because of an invalid socket handle. The most common error occurs when the number of client connections in Contexts ( 462) exceeds the number allowed in MaxConnections ( 465). In this situation, an message is written to the client connection that indicates the condition and the client connection is disconnected. If the connection is refused due to any other exception, the OnListenException (

470) (when assigned) is triggered.

If no error or exception is detected for the connection request, a TIdContext ( 376) instance is created for each executable task for the client connection. Procedures that trigger the OnConnect ( 469), OnDisconnect ( 469), and OnExecute event handlers are assigned to the corresponding event handlers in the client connection context. The context is then given to the Scheduler ( 466) for execution using its native thread or fiber support. At this point, the executable task for the client connection is fully self-contained and controlled using the OnConnect ( 469), OnDisconnect ( 469), and OnExecute (for TIdTCPServer ( 2375)) event handlers. OnConnect ( 469) and OnDisconnect ( 469) are optional, and should be used only to perform simple tasks that are not time consuming. Using Synchronized method calls that access the main VCL thread are highly discouraged. Use OnExecute to control the interaction between the client and the server during the lifetime of the client connection. TIdCustomTCPServer provides support for the TCP transport, and does not implement support for any given protocol used for communication exchanges between clients and the server. TIdCustomTCPServer can be used as a base class to create ( 267) custom TCP server descendants that support specific protocols. Use TIdCmdTCPServer (

326) for a TCP server that includes TIdCommandHandler (

341) and TIdCommand (

335) support.

See Also TIdComponent (

355)

TIdTCPServer (

2375)

TIdCmdTCPServer (

326)

TIdListenerThread (

1445)

TIdScheduler (

1955)

TIdContext (

376)

IndySupport (

15)

TIdCustomTCPServer Members The following tables list the members exposed by TIdCustomTCPServer. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

ContextClass ( Contexts (

462)

DefaultPort (

462)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Identifies the default port number used to listen for new connections.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler ( ListenQueue (

456

Container for socket handles allocated by the server. 461)

464) 465)

Identifies a data handler for server socket connections. Represents the IOHandler used by listener threads for the server. Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

MaxConnections ( OnAfterBind ( ReuseSocket ( Scheduler (

465)

Indicates the maximum numer of client connections allowed for the server.

466)

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

Specifies the time a server should wait while terminating executable tasks for client connections.

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

Event handler signalled prior to executing a listener thread.

469)

OnDisconnect ( OnException (

Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnStatus (

Event handler signalled proper to establishing a client connection to the server.

468)

Event handler for exceptions raised in a peer thread. 470)

Event handler for an exception in a listener thread.

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCustomTCPServer Methods The Methods of the TIdCustomTCPServer class are listed here. Methods Method Destroy (

Description 457)

Frees the object instance.

Legend Destructor virtual

TIdCustomTCPServer.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the TIdCustomTCPServer ( Destroy sets the Active (

453) instance.

458) property to False, which forces the server to terminate the listener threads and the executable tasks

Internet Direct (Indy) Version 10.1.5

457

TIdCustomTCPServer Class

Classes

for client connections to the server. Destroy frees resources allocated to the IOHandler ( Destroy frees any Bindings (

464) property when ImplicitIOHandler (

463) contains True.

461) allocated for listener threads in the server.

Destroy frees any entries in Contexts (

462) allocated to executable tasks for client connections to the server.

Destroy calls the inherited Destroy method. See Also Active (

458)

Bindings (

461)

Contexts (

462)

IOHandler (

464)

ImplicitIOHandler (

463)

TIdCustomTCPServer Properties The Properties of the TIdCustomTCPServer class are listed here. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

462)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Identifies the default port number used to listen for new connections.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

MaxConnections ( OnAfterBind (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

466)

ReuseSocket ( Scheduler (

Represents the IOHandler used by listener threads for the server.

465)

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

TerminateWaitTime (

Indicates the maximum numer of client connections allowed for the server.

Identifies the thread-based or fiber-based scheduler used in the server. 468)

Specifies the time a server should wait while terminating executable tasks for client connections.

Legend Property read only

TIdCustomTCPServer.Active Property Indicates if the server is running and listening for client connections. Pascal property Active: Boolean; Description Active is a Boolean property that indicates the current state of the TIdCustomTCPServer ( connections.

453) for accepting and servicing client

When it is Active, the server will listen for client connections requests, allocate socket handles and executable tasks for client connections, and respond to execution of client connection tasks in Contexts ( 462) in the manner prescribed by the TIdCustomTCPServer ( 453).

458

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

Server StartUp When Active is set to True, a number of actions required to start the TCP server are performed. The Bindings ( 461) collection is examined to determine if at least one IP address and port number has been configured for the listener thread in the TCP server. If no items exist in Bindings ( 461), a binding is configured that will be used to listen for connection requests using IPv4 addresses. If the protocol stack hosting the Indy library supports IPv6 addresses, an additional binding will be configured that will be used to listen for connection requests using IPv6 addresses. TIdCustomTCPServer ( 453) requires that a server IOHandler ( 464) be assigned for proper operation of the TCP server. If a TIdServerIOHandlerStack ( 2005) instance has not been assigned for the IOHandler ( 464) property, an instance is created and initialized using the TCP server as the owner of the object instance. In addition, the ImplicitIOHandler ( 463) property is set to True to indicate that the IOHandler ( 464) is managed by the TIdCustomTCPServer ( 453) instance. TIdCustomTCPServer ( 453) requires that a Scheduler ( 466) be assigned to allow creating and managing the executable tasks for client connections to the server. If a TIdScheduler ( 1955) (or descendant class) instance has not been assigned to the Scheduler ( 466) property, an instance of TIdSchedulerOfThreadDefault ( 1967) is created and assigned to the property. The ImplicitScheduler ( 463) property is set to True to indicate that the Scheduler ( 466) is managed by the TIdCustomTCPServer ( 453) instance. The default Scheduler ( 466) (TIdSchedulerOfThreadDefault ( 1967)) allows creating and executing Thread-based tasks for client connections to the Server. Finally, the listener thread(s) used for accepting connection requests for the server instance are initialized and started. Initializing listener threads requires that each item in Bindings ( 461) have a valid socket handle allocated, that socket options for the socket handle be set, and that the IP address and port number for the socket descriptor be bound to the socket handle. If an exception occurs during initialization of any socket handle in Bindings ( 461), all socket handles for the server instance are closed and the exception is re-raised. The value in Active will continue to contain False. On successful initialization of the socket handles for the listener threads, the OnAfterBind (

466) event handler is signalled.

Each socket handle in Bindings ( 461) is then instructed to listen for connection requests using the backlog specified in ListenQueue ( 465). A TIdListenerThread ( 1445) instance is created that uses the socket handle in the Binding. The priority for listener thread instances is set to tpHighest ( 4413) to give preference to responding to connection requests over execution of tasks for client connections. The OnBeforeListenerRun ( 468) event handler in the server is assigned to the OnBeforeRun event handler in each of the listener threads. The listener threads are then added to the internal TIdThreadList ( 3093) for the server, and each listener thread is started. The value in the Active property is updated as the final step in server startup. At this point, connection requests on listener threads should be handled normally using values specified in Scheduler ( 466), ContextClass ( 461), Contexts ( 462), and OnExecute (in TIdTCPServer ( 2375)).

Before Starting the Server All configuration options for the server instance (other than the defaults values and actions as described above) should be performed before starting the server (by setting the Active property to True). Changed properties values are often ignored after setting Active to True, while other property value changes may result in Exceptions being raised. Explicit assignments to the following properties should be performed before server startup:

ContextClass (

461)

IOHandler (

464)

Scheduler (

466)

Intercept (

464)

DefaultPort ( ListenQueue (

462) 465)

MaxConnections (

465)

Internet Direct (Indy) Version 10.1.5

459

TIdCustomTCPServer Class

Classes

OnExecute

During Server Execution While Active remains set to True, TIdCustomTCPServer ( 453) uses listener thread(s) to detect and accept client connection requests. When a connection request is detected, the Scheduler ( 466) in the server instance is used to acquire the thread or fiber that controls execution of the task for the client connection. The IOHandler ( 464) in the server is used to get an IOHandler ( 464) for the client connection. A client connection request can be refused for a number of reasons. The listener thread may get stopped during processing of the request, or the attempt to create ( 267) a client IOHandler ( 464) fails because of an invalid socket handle. The most common error occurs when the number of client connections in Contexts ( 462) exceeds the number allowed in MaxConnections ( 465). In this situation, an message is written to the client connection that indicates the condition and the client connection is disconnected. If the connection is refused due to any other exception, the OnListenException (

470) is triggered.

If no error or exception is detected for the connection request, a TIdContext ( 376) is created for the client connections executable task. Procedures that trigger the OnConnect ( 469), OnDisconnect ( 469), and OnExecute event handlers are assigned to the context. The context is then given to the Scheduler ( 466) for execution using its native thread or fiber support. At this point, the client connections executable task is fully self-contained and controlled using the OnConnect ( 469), OnDisconnect ( 469), and OnExecute event handlers. OnConnect ( 469) and OnDisconnect ( 469) are optional, and should be used only to perform simple tasks that are not time consuming. Using Synchronized method calls that access the main VCL thread are highly discouraged. Use OnExecute to control the interaction between the client and the server during the lifetime of the client connection.

Server ShutDown A Number of actions required to stop the server are performed when the Active property is set to False. These actions include steps needed to stop all listener threads for the server instance, and to terminate all executable tasks for client connections to the server. Listener threads are terminated and removed from the internal thread list to prevent any additional connection requests from being accepted during the ShutDown process. Each TIdListenerThread ( 1445) instance in the internal TIdThreadList ( 3093) is halted, and the socket handle for the listener thread is closed and invalidated. When the thread has completed execution, it is freed. The internal TIdThreadList ( 3093) for a TIdListenerThread ( 1445) instance is freed. Any existing executable tasks for client connections found in Contexts ( 462) are terminated by Disconnecting the Connection for the TIdContext ( 376) instances, and by terminating all threads or fibers under control of the Scheduler ( 466) for the server instance. If the Scheduler ( 466) is managed by the server instance (Implicit Scheduler ( 466) contains True), it is freed and released. Changing the value in Active using the IDE (design-time) has no effect other than storing the property value that is used at runtime and during component streaming. See Also TIdListenerThread ( TIdScheduler (

1445)

1955)

TIdSchedulerOfThreadDefault ( TIdContext (

376)

TIdServerIOHandlerStack ( TIdSocketHandles (

460

1967)

2005)

2090)

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

TIdCustomTCPServer.Bindings Property Container for socket handles allocated by the server. Pascal property Bindings: TIdSocketHandles; Description Bindings is a TIdSocketHandles ( 2090) property that represents a collection of TIdSocketHandle ( 2071) instances used in the server. Items in the Bindings collection are used in listener thread(s) (TIdListenerThread ( 1445) instances) to access the socket handle for listening for and accepting new connection requests, as well as establishing the IOHandler ( 464) for client connections accepted by the server. Resources for the Bindings property are allocated during initialization of the component instance, and freed in the Destroy ( method.

457)

Bindings is used when reading and writing the value for the DefaultPort ( 462) property. Reading the value in the DefaultPort ( 462) property retrieves the property value stored in the Bindings collection. Changing the value in the DefaultPort ( 462) property causes the property value in Bindings to be updated. Change the value in DefaultPort ( 462) or Bindings.DefaultPort ( 462) prior to creating TIdSocketHandle ( 2071) instances in the collection or setting Active ( 458) to True. Changes to the property value are not automatically assigned to existing TIdSocketHandle ( 2071) instances. Bindings is used during startup of the server (when Active ( 458) is set to True). TIdSocketHandle ( 2071) instances are added to Bindings when no existing socket handles are defined. A TIdSocketHandle ( 2071) instance is created for each Internet address family (IPv4, IPv6) supported on the protocol stack for the platform hosting the Indy library. Multiple listener threads can be defined in Bindings for multi-homed servers, or servers that listen on multiple ports. TIdSocketHandle ( 2071) instances can be added to Bindings (either in code, or using the IDE) for each network adapter IP address, IP address family, and port combination to use in detecting connection requests. During startup, TIdSocketHandle ( 2071) instances in Bindings are allocated socket handles with the socket options specified in the ReuseSocket ( 466) property. The socket handles are then bound using the the IP address, IP address family, and port number for the TIdSocketHandle ( 2071) instances. When all socket handles in Bindings are successfully bound, each TIdSocketHandle ( 2071) instance is instructed to listen for client connection request using the backlog indicated in ListenQueue ( 465). A TIdListenerThread ( 1445) instance is created for each of the TIdSocketHandle ( 2071) instances in Bindings. Listener threads are added to the internal list maintained by the server, and execution of each listener thread is started. See Also Active (

458)

DefaultPort (

462)

TIdSocketHandles ( TIdSocketHandle ( TIdListenerThread (

2090) 2071) 1445)

TIdCustomTCPServer.ContextClass Property Class reference used to create (

267) new executable tasks for client connections to the server.

Pascal property ContextClass: TIdContextClass; Description ContextClass is a TIdContextClass ( 3015) property that represents the class reference used to create ( 267) new executable tasks for client connections to the server. ContextClass is a assigned a TIdContext ( 376) class reference during initialization of Internet Direct (Indy) Version 10.1.5

461

TIdCustomTCPServer Class

Classes

the component. ContextClass is used during execution of the listener thread(s) (TIdListenerThread ( TIdContext ( 376) instances stored in the Contexts ( 462) property.

1445)) for the server to create (

267) the

The context provides the client connection and IOHandler ( 464) for the accepted connection request, the list of Contexts ( 462) for the server, and the thread or fiber (Yarn) acquired from the Scheduler ( 466) for controlling execution the task for the client connection. The TIdContext ( 376) uses protected procedures from the server in its OnBeforeRun, OnRun, and OnAfterRun event handlers. The Scheduler ( 466) is used to start execution of the task using the Yarn (thread or fiber) acquired for the TIdContext ( 376). See Also TIdContextClass ( TIdContext (

3015)

376)

TIdListenerThread ( TIdScheduler (

1445)

1955)

TIdSchedulerOfThreadDefault (

1967)

TIdCustomTCPServer.Contexts Property Executable tasks for client connections to the server. Pascal property Contexts: TIdThreadList; Description Contexts is a read-only TIdThreadList ( 3093) property that represents the list containing TIdContext ( 376) instances for client connections to the server. TIdContexts instances are created and stored in Contexts when the new executable task for the client connection is created in a listener thread. ContextClass (

461) provides the class reference used to create (

267) new TIdContexts instances .

The context provides the client connection and IOHandler ( 464) for the accepted connection request, the list of Contexts for the server, and the thread or fiber (Yarn) acquired from the Scheduler ( 466) for controlling execution the task for the client connection. The TIdContext ( 376) instance uses protected procedures from the server in its OnBeforeRun, OnRun, and OnAfterRun event handlers. The Scheduler ( 466) is used to start execution of the task using the Yarn (thread or fiber) acquired for the TIdContext ( 376). Contexts is also used during ShutDown for the server (setting Active ( executing tasks for client connections to the server.

458) to False). Contexts is used to access and terminate all

Resources for the Contexts property are allocated during initialization of the component at runtime, and freed in Destroy (

457).

See Also TIdContextClass ( TIdContext (

3015)

376)

TIdListenerThread ( TIdScheduler (

1445)

1955)

TIdSchedulerOfThreadDefault ( TIdThreadList (

1967)

3093)

TIdCustomTCPServer.DefaultPort Property Identifies the default port number used to listen for new connections. 462

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

Pascal property DefaultPort: TIdPort; Description DefaultPort is a TIdPort ( server.

3076) property that identifies the default port number used to listen for new client connections to the

Reading or writing the value in DefaultPort causes the corresponding value in the Bindings ( 461) collection to be accessed or updated. DefaultPort is the port number to use when a port number has not been assigned for a TIdSocketHandle ( 2071) instance in the Bindings ( 461) collection. The port number is used when the socket handle for the TIdSocketHandle ( 2071) instance is allocated and bound during startup for the server. Change the value in DefaultPort prior to creating Bindings ( 461) or setting Active ( 458) to True to startup the server. Changes to the property value are ignored after Bindings ( 461) are bound and the server becomes Active ( 458). See Also Active (

458)

Bindings (

461)

TIdPort (

3076)

TIdSocketHandle ( TIdSocketHandles (

2071) 2090)

TIdCustomTCPServer.ImplicitIOHandler Property Indicates if resources in the IOHandler (

464) are managed by the server.

Pascal property ImplicitIOHandler: Boolean; Description ImplicitIOHandler is a read-only Boolean property that indicates if the IOHandler ( 464) for the server was created as as result of the server becoming Active ( 458). ImplicitIOHandler will contain True when an object instance is assigned during activation of the server. ImplicitIOHandler will contain False when the server IOHandler ( 464) has been expressedly assigned by the application. ImplicitIOHandler is used in the Destroy ( 457) destructor to determine if the object instance must free the resources allocated in server IOHandler ( 464) prior to destruction. See Also Active ( Destroy (

458) 457)

IOHandler (

464)

TIdCustomTCPServer.ImplicitScheduler Property Indicates if resources in the Scheduler (

466) are managed by the server.

Pascal property ImplicitScheduler: Boolean; Description ImplicitScheduler is a read-only Boolean property that indicates if the Scheduler ( becoming Active ( 458).

466) was created as a result of the server

ImplicitScheduler will contain True when an object instance is assigned to Scheduler ( 466) during activation of the the server (setting Active ( 458) to True). ImplicitScheduler will contain False when Scheduler ( 466) has been explicitly assigned in the application. Internet Direct (Indy) Version 10.1.5

463

TIdCustomTCPServer Class

Classes

ImplicitScheduler is also used when the server becomes inactive (the Active ( 458) property is set to False). When ImplicitScheduler contains True, resources allocated to the Scheduler ( 466) property at run-time will be freed during server shut down. See Also Scheduler ( Active (

466)

458)

TIdCustomTCPServer.Intercept Property Identifies a data handler for server socket connections. Pascal property Intercept: TIdServerIntercept; Description Intercept is a TIdServerIntercept ( 1983) property that allows a developer to create ( 267) TIdIntercept descendants to encrypt and decrypt data, or to compress ( 2741) and decompress messages handled by the server. When a value has been assigned to Intercept, it is used in the Listener thread to accept a new connection and allocate the matching Intercept required in the OnBeforeRun event handler of the client context. One common use of TIdIntercept is to provide support for the Secure Socket Layer (SSL) protocol, using a TIdServerInterceptOpenSSL instance, in TIdCustomTCPServer ( 453) and descendants. See Also TIdServerIntercept (

1983)

TIdConnectionIntercept (

368)

TIdContext.OnBeforeRun (

380)

TIdServerInterceptOpenSSL TIdConnectionInterceptOpenSSL

TIdCustomTCPServer.IOHandler Property Represents the IOHandler used by listener threads for the server. Pascal property IOHandler: TIdServerIOHandler; Description IOHandler is a TIdServerIOHandler ( 1993) property that represents the input / output handler used by listener threads that accept client connections for the server. IOHandler is used to get the TIdServerIOHandlerSocket ( 1996) instance assigned to the property when the server becomes Active ( 458). Applications can assign another TIdServerIOHandler ( 1993) descendant to the property prior to setting Active ( 458) to True. Assigning a value to IOHandler cause an existing IOHandler instance to be freed prior to updating the property value. The IOHandler is also updated to reflect the current Scheduler ( 466) for the server. TIdListenerThread ( 1445) uses the IOHandler for the server when the listener thread is executed. The IOHandler is used to accept the client connection and to create ( 267) a TIdIOHandler ( 1284) instance used in the TIdTCPConnection ( 2349) that represents the client connection. IOHandler is freed in Destroy (

457) when an instance has been assigned and ImplicitIOHandler (

463) contains True.

See Also TIdServerIOHandler (

1993)

TIdServerIOHandlerSocket ( 464

1996) Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

TIdListenerThread ( Active (

1445)

458)

TIdCustomTCPServer.ListenQueue Property Indicates the maximum number of unresolved connection attempts allowed for a server listener thread. Pascal property ListenQueue: integer; Description ListenQueue is an Integer property that indicates the maximum number of unresolved connection attempts allowed for each listener thread. When a listener thread has more pending connection requests than the value in ListenQueue, the MaxConnectionReply response is sent to the client and the new connection is closed. The default value for ListenQueue is IdListenQueueDefault ( 3853) as assigned during initialization of the component. ListenQueue is used as an argument when socket descriptors for listener threads are created during server activation. Any change to the value in ListenQueue must be made prior to setting Active ( 458) to True.

On the Windows platform, the default listen queue size can be determined by the Operating System. Non-server versions of Windows 95, Windows NT, Windows 2000, and Windows XP are internally limited to a maximum of 5 queued connection requests per listening socket. Server versions of Windows NT, Windows 2000, and Windows XP are internally limited to a maximum of 200 queued connection requests per listening socket. Setting ListenQueue to a larger value will not override any internal limitation of the Operating System. See Also TIdListenerThread (

1445)

IdListenQueueDefault ( MaxConnections (

3853)

465)

MaxConnectionReply Active (

458)

TIdCustomTCPServer.MaxConnections Property Indicates the maximum numer of client connections allowed for the server. Pascal property MaxConnections: Integer; Description MaxConnections is an Integer property that indicates the maximum number of simultaneous client connections allowed for the server. MaxConnections can be used to ensure that a pre-determined memory or bandwidth threshold is not exceeded. When MaxConnection is 0 (zero), the server does not impose a limit on the maximum number of client connections. MaxConnections is used when a TIdListenerThread ( 1445) for the server detects a new connection request. If the MaxConnections limit has been exceeed, the server performs its protected DoMaxConnections method, and the client connection is closed. The Abort method is called to halt execution of the listener thread. See Also TIdListenerThread (

1445)

MaxConnectionReply

Internet Direct (Indy) Version 10.1.5

465

TIdCustomTCPServer Class

Classes

TIdCustomTCPServer.OnAfterBind Property Event handler signalled after binding socket handles for listener threads. Pascal property OnAfterBind: TIdNotifyEvent; Description OnAfterBind is a TNotifyEvent property that represents the event handler signalled during server statup after binding socket handles for listener thread(s). During server startup, the definitions in Bindings ( 461) are used to create ( 267) one or more listener threads. The TIdSocketHandle ( 2071) instances in Bindings ( 461) are used to allocate a socket handle, set socket options for the socket handle, and bind the IP address, IP address family, and port number used for the socket handle. OnAfterBind is triggered when all of the socket handles have successfully completed these steps. OnAfterBind can be used to perform logging or housekeeping tasks related to the completion of the previous tasks. Applications must assign a procedure to the event handler to allow responding to the event notification. The listener thread(s) for the server have not started to listen for connection requests when OnAfterBind is signalled. The IOHandler ( 464) and Scheduler ( 466) for the server have already been initialized, however. See Also TIdSocketHandle ( TIdSocketHandles ( Active (

2071) 2090)

458)

Bindings (

461)

IOHandler (

464)

Scheduler (

466)

TIdCustomTCPServer.ReuseSocket Property Indicates reuse of local addresses for listener threads. Pascal property ReuseSocket: TIdReuseSocket; Description ReuseSocket is a TIdReuseSocket ( 2973) property that indicates if socket IP addresses and port numbers can be reused for TIdListenerThread ( 1445) instances used in the server. ReuseSocket is used when setting the socket options for an allocated socket handle in a listener thread during server startup. The default value for ReuseSocket is rsOSDependent as assigned during component streaming, and indicates that socket handle reuse is dependent on the platform or Operating System hosting the Indy library. See Also TIdListenerThread (

1445)

TIdCustomTCPServer.Scheduler Property Identifies the thread-based or fiber-based scheduler used in the server. Pascal property Scheduler: TIdScheduler;

466

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

Description Scheduler is a TIdScheduler ( 1955) property that provides the mechanism used for thread or fiber management for client connections to the server. The Scheduler handles creation, execution, and termination of tasks for client connections found in Contexts ( 462). There are two basic types of Schedulers available for TIdCustomTCPServer ( 453): Thread-based and Fiber-based. Each is designed to work with a specific type of executable task that represents the client connections. The default Scheduler implementation in TIdCustomTCPServer ( 453) uses a Thread to represent each client connection (TIdSchedulerOfThread ( 1961)). The default Scheduler (TIdSchedulerOfThreadDefault ( 1967)) allows creating and executing Thread-based tasks for client connections to the Server. There are further Scheduler refinements (in descendant classes) that allow a pool of pre-allocated Threads, or Threads which perform scheduling for dependent Fibers. Use TIdSchedulerOfThreadPool ( 1970) or TIdSchedulerOfFiber to access one of the alternative scheduler implementation. TIdCustomTCPServer ( 453) requires that a Scheduler be assigned to allow creating and managing the executable tasks for client connections to the server. If a TIdScheduler ( 1955) (or descendant class) instance has not been assigned to the Scheduler property at startup, an instance of TIdSchedulerOfThreadDefault ( 1967) is created and assigned to the property. The ImplicitScheduler ( 463) property is set to True to indicate that the Scheduler is managed by the TIdCustomTCPServer ( 453) instance. Assigning a new value to Scheduler causes an implicitly created Scheduler to be freed. A reference to the new Scheduler instance is also maintained an existing IOHandler ( 464). While the server is running (Active ( 458) contain True), Scheduler is used in the listener threads for the server acquire a new Yarn (thread or fiber) for client connection requests. If the connection request is accepted in IOHandler ( 464) and MaxConnections ( 465) has not been exceeded, a new ContextClass ( 461) instance is created and added to Contexts ( 462) using the TIdTCPConnecion, TIdYarn ( 2632), and Contexts ( 462) values for the clients executable task. The Scheduler is used to start execution of the task using its TIdYarn ( 2632) and TIdContext ( 376) values. If an exception occurs in the listener thread, the Scheduler is used to terminate the TIdYarn ( 2632) for the client connection. During shutdown of the server (when Active ( 458) is set to False), all active Yarns (threads or fibers) for the client connections are terminated using the TerminateAllYarns method in the Scheduler. When ImplicitScheduler ( 463) contains True, the Scheduler is set to Nil to prevent any further access to its scheduling capabilities. See Also Active (

458)

Contexts (

462)

ImplicitScheduler ( IOHandler (

463)

464)

MaxConnections ( TIdListenerThread ( TIdScheduler (

465) 1445)

1955)

TIdSchedulerOfThread (

1961)

TIdSchedulerOfThreadPool (

1970)

TIdSchedulerOfFiber TIdYarn (

2632)

TIdYarnOfThread (

2632)

TIdYarnOfFiber

Internet Direct (Indy) Version 10.1.5

467

TIdCustomTCPServer Class

Classes

TIdCustomTCPServer.TerminateWaitTime Property Specifies the time a server should wait while terminating executable tasks for client connections. Pascal property TerminateWaitTime: Integer; Description TerminateWaitTime is an Integer property that identifies the total number of milliseconds that the server should wait while terminating the executable tasks for client connections. TerminateWaitTime is an aggregate delay time used while monitoring the thread list in Contexts ( 462) during server shutdown. The length of the Contexts ( 462) thread list is checked every 250ms until TerminateWaitTime has elapsed, or the length of the list is 0 (zero). If the value in TerminateWaitTime is exceeded before the length of Contexts ( 462) reaches 0 (zero), an exception is raised. The default value for TerminateWaitTime is 5000 (5 seconds). Use a larger value in TerminateWaitTime when the server allows a large number of client connections in MaxConnections ( 465), or when OnDisconnected event handling for the client connection involves time intensive operations. See Also TIdTCPConnection.OnDisconnected (

2367)

TIdCustomTCPServer Events The Events of the TIdCustomTCPServer class are listed here. Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

468)

469)

OnDisconnect ( OnException (

Event handler signalled prior to executing a listener thread. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException (

Event handler signalled proper to establishing a client connection to the server.

Event handler for exceptions raised in a peer thread. 470)

Event handler for an exception in a listener thread.

Legend Event

TIdCustomTCPServer.OnBeforeConnect Event Event handler signalled proper to establishing a client connection to the server. Pascal property OnBeforeConnect: TIdServerThreadEvent; Description OnBeforeConnect is a TIdServerThreadEvent ( client connection.

3080) property that represents an event handler signalled before establishing a

TIdCustomTCPServer.OnBeforeListenerRun Event Event handler signalled prior to executing a listener thread. Pascal property OnBeforeListenerRun: TIdNotifyThreadEvent;

468

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTCPServer Class

Description OnBeforeListenerRun is a TIdNotifyThreadEvent ( 3066) property that represents the event handler signalled prior to executing a listener thread for the server. OnBeforeListenerRun is assigned during server startup (when setting Active ( 458) to True) in the TIdListenerThread.OnBeforeRun ( 1449) property for each listener thread defined in Bindings ( 461). OnBeforeListenerRun allows the listener thread to perform operations required prior to accepting new connections requests for the server. See Also TIdNotifyThreadEvent (

3066)

TIdListenerThread.OnBeforeRun ( Active (

1449)

458)

TIdCustomTCPServer.OnConnect Event Event handler signalled for establishing new client connections. Pascal property OnConnect: TIdServerThreadEvent; Description OnConnect is a TIdServerThreadEvent ( is connected to the server.

3080) property that represents the event handler signalled when a new client connection

OnConnect receives the TIdContext ( 376) that represents the executable task for the client connection. OnConnect allows processing that occurs after the client connection has been accepted by a listener thread, and before execution of the TIdContext ( 376) instance. Applications must assign a TIdServerThreadEvent ( 3080) event handler procedure to OnConnect to allow responding to the event notification. OnConnect is triggered by the protected procedure in the server assigned to the TIdContext.OnBeforeRun ( 380) event handler. See Also TIdContext (

376)

TIdContext.OnBeforeRun ( TIdServerThreadEvent (

380)

3080)

TIdCustomTCPServer.OnDisconnect Event Event handler signalled when disconnecting the client connection. Pascal property OnDisconnect: TIdServerThreadEvent; Description OnDisconnect is an event handler for a TIdServerThreadEvent ( disconnection of the client from the TCP server.

3080) event, and occurs when the after execution and during

OnDisconnect receives a TIdContext ( 376) instance that represents the executing client task being disconnected. OnDisconnect is triggered when the TIdContext ( 376) instance in Contexts ( 462) has finished executing, and just prior to closing the socket connection for the client. Assign a TIdServerThreadEvent (

3080) event handler procedure to OnDisconnect to allow responding to the event notification.

Do not call Synchronized methods in the OnDisconnect event handler. This is important because OnDisconnect is called when active client tasks are terminated when the server sets Active ( 458) to False. Using synchronized methods in OnDisconnect can result in a deadlock condition, caused when the thread is suspended while the method is executing in the main VCL thread. Internet Direct (Indy) Version 10.1.5

469

TIdCustomTime Class

Classes

TIdCustomTCPServer ( 453) will detect the deadlock condition, but a timeout error will be raised while trying to terminate the active tasks for client connections. Use Thread.Notification to act on the notification that a component is being inserted or removed. For example, if a component has object fields or properties that contain references to other components, it can check the notifications of component removals and invalidate those references as needed. See Also TIdServerThreadEvent ( TIdContext ( Contexts (

3080)

376) 462)

TIdCustomTCPServer.OnException Event Event handler for exceptions raised in a peer thread. Pascal property OnException: TIdServerThreadExceptionEvent; Description OnException is a TIdServerThreadExceptionEvent ( 3081) property that represents the event handler signalled when an Exception ( 4733) is raised during execution of a task for a client connection. Applications must assign a procedure to the event handler to allow a response to the event notification.

TIdCustomTCPServer.OnListenException Event Event handler for an exception in a listener thread. Pascal property OnListenException: TIdListenExceptionEvent; Description OnListenException is a TIdListenExceptionEvent ( 3056) property that represents the event handler signalled when an exception is raised during execution of one of the TIdListenerThread ( 1445) instances for the server. OnListenException is signalled with the server context in the listener thread when an exception other than EAbort ( during execution of the specific listener thread.

4733) occurs

Applications must assign a procedure to the event handler to allow a response to the event notification after setting the Active ( 458) property in the Server to True. See Also TIdListenExceptionEvent ( TIdListenerThread ( Active (

3056)

1445)

458)

TIdCustomTime Class File IdTime (

4746)

Hierarchy

470

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTime Class

Pascal TIdCustomTime = class(TIdTCPClientCustom); Description TIdCustomTime is a TIdTCPClientCustom (

2340) descendant

See Also TIdTCPClientCustom (

2340)

TIdCustomTime Members The following tables list the members exposed by TIdCustomTime. Properties Property

Description

BoundIP (

2345)

BoundPort (

Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

ConnectTimeout ( DateTime (

2347)

DateTimeCard ( Greeting ( Host (

Millseconds to wait for successful completion of a connection attempt.

473) 473)

2364)

Banner or welcome message for a connection to a protocol server.

473)

IOHandler (

2364)

The input / output mechanism for the connection.

LastCmdResult (

2367)

ManagedIOHandler ( OnAfterBind (

Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

2347)

2364) for the connection is maintained by the object instance.

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

2367)

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin ( OnWorkEnd (

Event handler signalled for read and / or write operations. 2368)

ReadTimeout ( Socket (

Event handler signalled when completing a read or write operation.

2349)

RoundTripDelay ( Timeout (

Event handler signalled when beginning a read or write operation.

2369)

Millseconds to wait for successful completion of a read attempt.

473)

2369)

Provides access to the TIdIOHandlerSocket (

1331) for the connection.

473)

Version (

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ConnectAndGetAll ( Connected ( Create (

2344)

2353)

357)

Destroy (

2354)

2353)

DisconnectNotifyPeer (

GetVersion (

2364) for the connection.

Frees the object instance. Frees the object instance. 2356)

Disconnects the peer connection. Triggers the OnWork event handler.

358)

GetInternalResponse ( SyncTime (

Creates the IOHandler (

357)

EndWork (

Opens a connection and reads all data. Constructor for the object instance.

Destroy (

DoWork (

Determines if the peer has been gracefully disconnected. Indicates if the peer connection has been opened.

267)

CreateIOHandler (

CType (

2351)

Triggers the OnEndWork event handler. 2356)

269)

Reads response detail lines from a peer connection. Version (

269) number for Indy component suite.

472)

267)

Internet Direct (Indy) Version 10.1.5

471

TIdCustomTime Class Create (

Classes

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCustomTime Methods The Methods of the TIdCustomTime class are listed here. Methods Method

Description

SyncTime (

472)

Legend Method

TIdCustomTime.SyncTime Method Pascal function SyncTime: Boolean; Returns Boolean Description SyncTime is a method Boolean function

TIdCustomTime Properties The Properties of the TIdCustomTime class are listed here. Properties Property

Description

DateTime (

473)

DateTimeCard ( Host (

RoundTripDelay ( Timeout (

472

473)

473) 473)

473)

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTimeServer Class

Legend Property read only

TIdCustomTime.DateTime Property Pascal property DateTime: TDateTime; Description DateTime is a Public read-only TDateTime property

TIdCustomTime.DateTimeCard Property Pascal property DateTimeCard: Cardinal; Description DateTimeCard is a Public read-only Cardinal property

TIdCustomTime.Host Property Pascal property Host; Description Host is a Published property

TIdCustomTime.RoundTripDelay Property Pascal property RoundTripDelay: Cardinal; Description RoundTripDelay is a Public read-only Cardinal property

TIdCustomTime.Timeout Property Pascal property Timeout: Integer; Description Timeout is a Published Integer property default value is TIME_TIMEOUT (

4396)

TIdCustomTimeServer Class File IdTimeServer (

4746)

Hierarchy

Internet Direct (Indy) Version 10.1.5

473

TIdCustomTimeUDP Class

Classes

Pascal TIdCustomTimeServer = class(TIdCustomTCPServer); Description TIdCustomTimeServer is a TIdCustomTCPServer (

453) descendant

See Also TIdCustomTCPServer (

453)

TIdCustomTimeUDP Class File IdTimeUDP (

4747)

Hierarchy

Pascal TIdCustomTimeUDP = class(TIdUDPClient); Description TIdCustomTimeUDP is a TIdUDPClient (

2509) descendant

See Also TIdUDPClient (

2509)

TIdCustomTimeUDP Members The following tables list the members exposed by TIdCustomTimeUDP. Properties Property Active (

Description 2507)

Binding (

Indicates that the socket binding has been allocated for the UDP client.

2508)

Socket handle for the read or write transaction.

BroadcastEnabled ( BufferSize (

2508)

2508)

DateTime (

2500) transmissions.

Specifies the largest UDP packet size.

476)

DateTimeCard ( Host (

Indicates that the socket binding can perform broadcast (

476)

2520)

Identifies the address of the remote computer system.

IPVersion (

2509)

Identifies the IP address family supported for the UDP protocol client.

IPVersion (

2521)

Identifies the IP address family supported for the UDP protocol client.

OnConnected (

2521)

OnDisconnected ( Port (

2521)

2522)

Event handler signalled when establishing the UDP client session. Event handler signalled when closing the UDP client session. Identifies the port number on the remote system.

ReceiveTimeout (

2509)

Indicates the timeout while waiting for a readable socket handle.

ReceiveTimeout (

2522)

Indicates the timeout while waiting for a readable socket handle.

RoundTripDelay ( TransparentProxy ( Version (

476) 2522)

269)

WorkTarget (

359)

Implements a transparent proxy connection for the UDP client. Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Broadcast (

474

356)

2500)

Triggers the OnBeginWork event. Send (

2505) data to all computers on the network.

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTimeUDP Class

CloseProxy (

2511)

Closes the socket handle for a proxied connection for the client.

Connect (

2512)

Initializes the client for sending and receiving datagrams.

Connected (

2512)

Indicates if the socket handle for the UDP client has been allocated.

Create (

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

2501)

Frees the object instance.

Destroy (

2513)

Frees the object instance.

Disconnect ( DoWork (

2513)

357)

EndWork (

Closes the socket handle and transparent proxy for the client. Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

GetVersion (

269)

Version (

OpenProxy (

2514)

Ensures the optional transparent proxy is enabled for the client.

269) number for Indy component suite.

Send (

2505)

Transmits a datagram to a specified host and port number.

Send (

2517)

Transmits a datagram to the host and port number for the client.

SyncTime ( CType (

475)

267)

Create (

1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

ReceiveBuffer ( SendBuffer (

2514)

2518)

Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCustomTimeUDP Methods The Methods of the TIdCustomTimeUDP class are listed here. Methods Method SyncTime (

Description 475)

Legend Method

TIdCustomTimeUDP.SyncTime Method Pascal function SyncTime: Boolean; Returns Boolean Description SyncTime is a method Boolean function

Internet Direct (Indy) Version 10.1.5

475

TIdCustomTimeUDPServer Class

Classes

TIdCustomTimeUDP Properties The Properties of the TIdCustomTimeUDP class are listed here. Properties Property

Description

DateTime (

476)

DateTimeCard (

476)

RoundTripDelay (

476)

Legend Property read only

TIdCustomTimeUDP.DateTime Property Pascal property DateTime: TDateTime; Description DateTime is a Public read-only TDateTime property

TIdCustomTimeUDP.DateTimeCard Property Pascal property DateTimeCard: Cardinal; Description DateTimeCard is a Public read-only Cardinal property

TIdCustomTimeUDP.RoundTripDelay Property Pascal property RoundTripDelay: Cardinal; Description RoundTripDelay is a Public read-only Cardinal property

TIdCustomTimeUDPServer Class File IdTimeUDPServer (

4747)

Hierarchy

Pascal TIdCustomTimeUDPServer = class(TIdUDPServer); Description TIdCustomTimeUDPServer is a TIdUDPServer (

476

2530) descendant

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTransparentProxy Class

See Also TIdUDPServer (

2530)

TIdCustomTransparentProxy Class Implements a tranparent proxy or gateway mechanism based on SOCKv5. File IdCustomTransparentProxy (

4609)

Hierarchy

Pascal TIdCustomTransparentProxy = class(TIdComponent); Description TIdCustomTransparentProxy is a TIdComponent ( described in the Internet Standards document:

355) descendant that implements a tranparent proxy or gateway mechanism as

RFC 3089 - A SOCKS-based IPv6/IPv4 Gateway Mechanism TIdCustomTransparentProxy is based on the SOCKS version 5 protocol, and applies the SOCKS mechanism to the heterogeneous communications and relaying between peer connections at the "application layer" (the SOCKS server). Since it is accomplished without introducing new protocols, it provides the same communication environment that is provided by the SOCKS mechanism. The same appearance is provided to the heterogeneous communications. No conveniences or functionalities of current communications are sacrificed. See Also TIdComponent (

355)

TIdCustomTransparentProxy Members The following tables list the members exposed by TIdCustomTransparentProxy. Properties Property

Description

ChainedProxy ( Enabled ( Host (

481)

482)

482)

IPVersion (

482)

Password (

482)

Port (

482)

Username (

482)

Version (

269)

WorkTarget (

359)

Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

CloseUDP (

479)

Connect ( Create (

Triggers the OnBeginWork event.

479) 267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

Internet Direct (Indy) Version 10.1.5

477

TIdCustomTransparentProxy Class EndWork (

358)

GetVersion ( Listen (

Version (

269) number for Indy component suite.

480) 480)

RecvFromUDP ( SendToUDP ( Bind (

Triggers the OnEndWork event handler.

269)

OpenUDP (

CType (

Classes

480) 481)

267) 478)

Create (

1274)

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdCustomTransparentProxy Methods The Methods of the TIdCustomTransparentProxy class are listed here. Methods Method Bind (

Description 478)

CloseUDP (

479)

Connect (

479)

Listen (

480)

OpenUDP (

480)

RecvFromUDP ( SendToUDP (

480) 481)

Legend Method virtual

TIdCustomTransparentProxy.Bind Method Overload List Method

Description

TIdCustomTransparentProxy.Bind (TIdIOHandler, Integer) ( 478) TIdCustomTransparentProxy.Bind (TIdIOHandler, string, Integer, TIdIPVersion) ( 479)

TIdCustomTransparentProxy.Bind Method (TIdIOHandler, Integer) Pascal procedure Bind( AIOHandler: TIdIOHandler; const APort: Integer ); overload;

478

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTransparentProxy Class

Parameters Parameters

Description

AIOHandler APort

Description overloaded See Also Bind

TIdCustomTransparentProxy.Bind Method (TIdIOHandler, string, Integer, TIdIPVersion) Pascal procedure Bind( AIOHandler: TIdIOHandler; const AHost: string; const APort: Integer; const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION ); virtual; overload; Parameters Parameters

Description

AIOHandler AHost APort AIPVersion

Default value is ID_DEFAULT_IP_VERSION (

3282).

Description Bind is an overloaded method See Also Bind

TIdCustomTransparentProxy.CloseUDP Method Pascal procedure CloseUDP( AHandle: TIdSocketHandle ); virtual; Parameters Parameters

Description

AHandle

Description CloseUDP is a virtual procedure

TIdCustomTransparentProxy.Connect Method Pascal procedure Connect( AIOHandler: TIdIOHandler; const AHost: string; const APort: Integer; const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION );

Internet Direct (Indy) Version 10.1.5

479

TIdCustomTransparentProxy Class

Classes

Parameters Parameters

Description

AIOHandler AHost APort AIPVersion

Default value is ID_DEFAULT_IP_VERSION (

3282).

TIdCustomTransparentProxy.Listen Method Pascal function Listen( AIOHandler: TIdIOHandler; const ATimeOut: integer ): boolean; virtual; Parameters Parameters

Description

AIOHandler ATimeOut

Returns boolean

TIdCustomTransparentProxy.OpenUDP Method Pascal procedure OpenUDP( AHandle: TIdSocketHandle; const AHost: string = ''; const APort: Integer = 0; const AIPVersion: TIdIPVersion = ID_DEFAULT_IP_VERSION ); virtual; Parameters Parameters

Description

AHandle AHost

Default value is ''.

APort

Default value is 0.

AIPVersion

Default value is ID_DEFAULT_IP_VERSION (

3282).

Description OpenUDP is a procedure

TIdCustomTransparentProxy.RecvFromUDP Method Pascal function RecvFromUDP( AHandle: TIdSocketHandle; var ABuffer: TIdBytes; var VPeerIP: string; var VPeerPort: integer; const AIPVersion: TIdIPVersion; AMSec: Integer = IdTimeoutDefault ): integer; virtual; Parameters Parameters

Description

AHandle ABuffer

480

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomTransparentProxy Class

VPeerIP VPeerPort AIPVersion AMSec

Default value is IdTimeoutDefault (

4331).

Returns integer Description RecvFromUDP is an Integer function.

TIdCustomTransparentProxy.SendToUDP Method Pascal procedure SendToUDP( AHandle: TIdSocketHandle; AHost: string; const APort: Integer; const AIPVersion: TIdIPVersion; const ABuffer: TIdBytes ); virtual; Parameters Parameters

Description

AHandle

Type is TIdSocketHandle (

2071).

AHost APort AIPVersion ABuffer

Description SendToUDP is a procedure

TIdCustomTransparentProxy Properties The Properties of the TIdCustomTransparentProxy class are listed here. Properties Property

Description

ChainedProxy ( Enabled ( Host (

481)

482)

482)

IPVersion (

482)

Password (

482)

Port (

482)

Username (

482)

Legend Property

TIdCustomTransparentProxy.ChainedProxy Property Pascal property ChainedProxy: TIdCustomTransparentProxy;

Internet Direct (Indy) Version 10.1.5

481

TIdCustomUserManager Class

Classes

TIdCustomTransparentProxy.Enabled Property Pascal property Enabled: Boolean;

TIdCustomTransparentProxy.Host Property Pascal property Host: String;

TIdCustomTransparentProxy.IPVersion Property Pascal property IPVersion: TIdIPVersion; Description Default value is ID_DEFAULT_IP_VERSION (

3282).

TIdCustomTransparentProxy.Password Property Pascal property Password: String; Description Password is a String property.

TIdCustomTransparentProxy.Port Property Pascal property Port: Integer; Description Port is an Integer property

TIdCustomTransparentProxy.Username Property Pascal property Username: String; Description Username is a String property

TIdCustomUserManager Class File IdUserAccounts (

4753)

Hierarchy

Pascal TIdCustomUserManager = class(TIdBaseComponent); 482

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomUserManager Class

Description TIdCustomUserManager is a TIdBaseComponent (

266) descendant.

See Also TIdBaseComponent (

266)

TIdCustomUserManager Members The following tables list the members exposed by TIdCustomUserManager. Properties Property

Description

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

ChallengeUser ( Create (

267)

GetVersion (

Constructor for the object instance. 269)

IsRegisteredUser ( LogoffUser ( CType (

484) Version (

269) number for Indy component suite.

485)

485)

267)

AuthenticateUser ( Create (

483)

1274)

UserDisconnected (

485)

Legend Method virtual Property read only

TIdCustomUserManager Methods The Methods of the TIdCustomUserManager class are listed here. Methods Method

Description

AuthenticateUser (

483)

ChallengeUser (

484)

IsRegisteredUser (

485)

LogoffUser (

485)

UserDisconnected (

485)

Legend Method virtual

TIdCustomUserManager.AuthenticateUser Method Overload List Method

Description

TIdCustomUserManager.AuthenticateUser (String, String) ( 484)

Internet Direct (Indy) Version 10.1.5

483

TIdCustomUserManager Class

Classes

TIdCustomUserManager.AuthenticateUser (String, String, TIdUserHandle) ( 484)

TIdCustomUserManager.AuthenticateUser Method (String, String) Pascal function AuthenticateUser( const AUsername: String; const APassword: String ): Boolean; overload; Parameters Parameters

Description

AUsername

Scope is const. Type is String.

APassword

Scope is const. Type is String.

Returns Boolean Description AuthenticateUser is a overloaded method. AuthenticateUser returns a Boolean value. See Also TIdCustomUserManager.AuthenticateUser

TIdCustomUserManager.AuthenticateUser Method (String, String, TIdUserHandle) Pascal function AuthenticateUser( const AUsername: String; const APassword: String; var VUserHandle: TIdUserHandle ): TIdUserAccess; overload; Parameters Parameters

Description

AUsername

Scope is const. Type is String.

APassword

Scope is const. Type is String.

VUserHandle

Scope is var. Type is TIdUserHandle (

3097).

Returns TIdUserAccess (

3097)

Description AuthenticateUser is a overloaded method. AuthenticateUser returns a TIdUserAccess (

3097) value.

See Also TIdCustomUserManager.AuthenticateUser

TIdCustomUserManager.ChallengeUser Method Pascal function ChallengeUser( var VIsSafe: Boolean; const AUserName: String 484

Internet Direct (Indy) Version 10.1.5

Classes

TIdCustomUserManager Class

): String; virtual; Parameters Parameters

Description

VIsSafe

Scope is var. Type is Boolean.

AUserName

Scope is const. Type is String.

Returns String Description ChallengeUser is a virtual method. ChallengeUser returns a String value.

TIdCustomUserManager.IsRegisteredUser Method Pascal class function IsRegisteredUser( AUserAccess: TIdUserAccess ): Boolean; Parameters Parameters

Description

AUserAccess

Type is TIdUserAccess (

3097).

Returns Boolean Description IsRegisteredUser is a class method. IsRegisteredUser returns a Boolean value.

TIdCustomUserManager.LogoffUser Method Pascal procedure LogoffUser( AUserHandle: TIdUserHandle ); virtual; Parameters Parameters

Description

AUserHandle

Type is TIdUserHandle (

3097).

Description LogoffUser is a virtual method.

TIdCustomUserManager.UserDisconnected Method Pascal procedure UserDisconnected( const AUser: String ); virtual; Parameters Parameters

Description

AUser

Scope is const. Type is String.

Internet Direct (Indy) Version 10.1.5

485

TIdDataChannel Class

Classes

Description UserDisconnected is a virtual method.

TIdDataChannel Class File IdFTPServer (

4648)

Hierarchy

Pascal TIdDataChannel = class(TIdBaseObject); Description TIdDataChannel is a TIdBaseObject (

3005) descendant.

See Also TIdBaseObject (

3005)

TIdDataChannel Members The following tables list the members exposed by TIdDataChannel. Properties Property Data (

Description 488)

ErrorReply ( OKReply (

488) 488)

PeerIP (

489)

PeerPort ( Server ( Stopped (

489) 489)

489)

Methods Method Create (

Description 487)

Destroy (

487)

InitOperation (

487)

SetPortParameters (

487)

Legend Constructor virtual Property read only

TIdDataChannel Methods The Methods of the TIdDataChannel class are listed here.

486

Internet Direct (Indy) Version 10.1.5

Classes

TIdDataChannel Class

Methods Method Create (

Description 487)

Destroy (

487)

InitOperation (

487)

SetPortParameters (

487)

Legend Constructor virtual

TIdDataChannel.Create Constructor Pascal constructor Create( APASV: Boolean; AControlContext: TIdFTPServerContext; const ARequirePASVFromSameIP: Boolean; AServer: TIdFTPServer ); reintroduce; Parameters Parameters

Description

APASV

Type is Boolean.

AControlContext

Type is TIdFTPServerContext (

ARequirePASVFromSameIP

Scope is const. Type is Boolean.

AServer

Type is TIdFTPServer (

970).

956).

Description Create is a reintroduced constructor for the object instance.

TIdDataChannel.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdDataChannel.InitOperation Method Pascal procedure InitOperation( const AConnectMode: Boolean = False ); Parameters Parameters

Description

AConnectMode

Scope is const. Type is Boolean. Default value is False.

Description InitOperation is a method.

TIdDataChannel.SetPortParameters Method Pascal procedure SetPortParameters( Internet Direct (Indy) Version 10.1.5

487

TIdDataChannel Class

Classes

const AIP: string; const APort: Integer; const AIPVersion: TIdIPVersion ); Parameters Parameters

Description

AIP

Scope is const. Type is string.

APort

Scope is const. Type is Integer.

AIPVersion

Scope is const. Type is TIdIPVersion (

2962).

Description SetPortParameters is a method.

TIdDataChannel Properties The Properties of the TIdDataChannel class are listed here. Properties Property Data (

Description 488)

ErrorReply ( OKReply (

488) 488)

PeerIP (

489)

PeerPort ( Server ( Stopped (

489) 489)

489)

Legend Property read only

TIdDataChannel.Data Property Pascal property Data: TIdBaseObject; Description Data is a Public TIdBaseObject (

3005) property. Write access for the property is implemented using FData.

TIdDataChannel.ErrorReply Property Pascal property ErrorReply: TIdReplyRFC; Description ErrorReply is a Public TIdReplyRFC (

1851) property. Write access for the property is implemented using SetErrorReply.

TIdDataChannel.OKReply Property Pascal property OKReply: TIdReplyRFC; Description OKReply is a Public TIdReplyRFC (

488

1851) property. Write access for the property is implemented using SetOKReply.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

TIdDataChannel.PeerIP Property Pascal property PeerIP: String; Description PeerIP is a Public read-only String property.

TIdDataChannel.PeerPort Property Pascal property PeerPort: Integer; Description PeerPort is a Public read-only Integer property.

TIdDataChannel.Server Property Pascal property Server: TIdFTPServer; Description Server is a Public read-only TIdFTPServer (

956) property.

TIdDataChannel.Stopped Property Pascal property Stopped: Boolean; Description Stopped is a Public Boolean property. Write access for the property is implemented using FStopped.

TIdDateTimeStamp Class Handles Date and Time values in various formats. File IdDateTimeStamp (

4610)

Hierarchy

Pascal TIdDateTimeStamp = class(TIdBaseComponent); Description TIdDateTimeStamp is a TIdBaseComponent ( required by some Internet Protocols.

266) descendant that processes date and time values using the various formats

TIdDateTimeStamp methods performs operations based on units of Milliseconds, Seconds, Days, and Years with smaller time units affecting larger time units where necessary. All other common time units are converted to these base units before processing.

Internet Direct (Indy) Version 10.1.5

489

TIdDateTimeStamp Class

Classes

See Also TIdBaseComponent (

266) IndySupport (

15)

TIdDateTimeStamp Members The following tables list the members exposed by TIdDateTimeStamp. Properties Property

Description

AsISO8601Calendar (

509)

AsISO8601Ordinal (

509)

AsISO8601Week ( AsRFC822 (

The Indy timestamp as an ISO 8601 Calendar Date string. The Indy timestamp as an ISO 8601 Ordinal Date string.

509)

The Indy timestamp as an ISO 8601 Week Date string.

509)

The Indy timestamp as an RFC 822 Date string,

AsTDateTime (

509)

The Indy timestamp as a native Delphi TDateTime value.

AsTimeOfDay (

510)

The Time of Day (

AsTTimeStamp ( BeatOfDay ( Day (

510)

510)

The Indy timestamp as a Swatch "Beat" time value.

511)

The Day of Year (

DayOfMonth (

511)

DayOfWeek (

511)

Day (

DayOfWeekName (

511)

DayOfWeekShortName ( DaysInYear (

511) in 24-hour format.

The Indy timestamp as a TTimeStamp value.

512)

512)

516) for the timestamp.

511) of Month for the Indy timestamp.

The Day (

511) of Week for the Indy timestamp.

The Day (

511) of Week Name for the Indy timestamp.

The Short (

2995) Day (

511) of Week Name for the Indy timestamp.

Number of days in the year for the Indy timestamp.

HourOf12Day (

512)

Indicates the numeric hour of day in 12-hour format.

HourOf24Day (

512)

Indicates the numeric hour of day in 24-hour format.

IsLeapYear (

513)

IsMorning ( Millisecond (

Indicates that the year for the Indy timestamp is a Leap year.

513)

Indicates that the time portion of the Indy timestamp is before noon.

513)

Number of milliseconds elapsed for the current second of the Indy timestamp.

MinuteOfDay (

513)

MinuteOfHour ( MonthName (

The long name for the month in the Indy timestamp.

514)

MonthShortName (

Numeric month number for the Indy timestamp.

514)

515) 515)

SecondsInYear ( TimeZone (

515)

Numeric seconds elapsed in the current minute of the Indy timestamp. Total number of seconds in the year for the Indy timestamp.

515)

Identifies the Time Zone for the Indy timestamp.

TimeZoneAsString ( TimeZoneHour (

515)

516)

TimeZoneMinutes ( Version (

The short name for the month in the Indy timestamp. Second of the day.

SecondOfMinute (

Number of hours offset from GMT.

516)

269)

Number of minutes as an offset from GMT. Identifies the version number for the Indy component suite.

WeekOfYear ( Year (

Number of minutes elapsed in the hour of the Indy timestamp.

514)

MonthOfYear ( Second (

Number of minutes elapsed in the day of the Indy timestamp.

514)

516)

Identifies the week number for the Indy timestamp.

516)

Numeric year for the Indy timestamp.

Methods Method

Description

AddDays (

493)

AddHours (

Adds a number of days to the timestamp.

493)

Adds a number of hours to the timestamp.

AddMilliseconds (

493)

494)

Adds a number of minutes to the timestamp.

AddMonths (

494)

Adds a number of months to the timestamp.

AddSeconds (

495)

AddTDateTime ( AddTTimeStamp ( AddWeeks ( AddYears ( Create (

Adds a number of seconds to the timestamp.

495)

AddTIdDateTimeStamp (

490

Adds a number of milliseconds to the timestamp.

AddMinutes (

Adds a native Delphi date/time to the timestamp. 495)

496)

496) 496)

267)

Constructor for the object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class Destroy (

496)

Frees the object instance.

GetAsISO8601Calendar (

496)

GetAsISO8601Ordinal (

497)

GetAsISO8601Week ( GetAsRFC822 (

Provides access to the Indy timestamp in ISO 8601 Calendar format. Provides access to the Indy timestamp in ISO 8601 Ordinal format.

497)

Provides access to the Indy timestamp in ISO 8601 Week format.

497)

Provides access to the Indy timestamp in RFC 822 format.

GetAsTDateTime (

497)

Provides access to the Indy timestamp as a TDateTime value.

GetAsTimeOfDay (

498)

Provides access to the Indy timestamp as a 24-hour time string.

GetAsTTimeStamp ( GetBeatOfDay (

498)

Provides access to the Indy timestamp as a TTimeStamp value.

498)

Provides access to the Indy timestamp as a Swatch "Beat Time" value.

GetDayOfMonth (

498)

Provides access to the Day (

511) of Month for the Indy timestamp.

GetDayOfWeek (

499)

Provides access to the Day (

511) of Week for the Indy timestamp.

GetDayOfWeekName (

499)

GetDayOfWeekShortName ( GetDaysInYear (

Provides access to the long Day ( 499)

499)

Provides access to the short Day (

511) of Week name for the Indy timestamp. 511) of Week name for the Indy timestamp.

Provides access to the number of days in the year of the Indy timestamp.

GetHourOf12Day (

500)

Provides access to the AM/PM hour of Day (

511) for the Indy timestamp.

GetHourOf24Day (

500)

Provides access to the Military hour of Day (

511) for the timestamp value.

GetIsMorning (

500)

GetMinuteOfDay (

Indicates that the timestamp value contains a time before noon.

500)

GetMinuteOfHour (

Provides access to the minute of the Day (

501)

GetMonthName (

501)

GetMonthOfYear (

Provides access to the long month name for the timestamp value.

501)

GetMonthShortName (

Provides access to the numeric month of year for the Indy timestamp.

501)

GetSecondOfMinute (

GetTimeZoneHour (

Number of hours between the local timezone and GMT time.

502)

Number of minutes between the local timezone and GMT time. Version (

503)

269) number for Indy component suite.

Provides access to the week number for the Indy timestamp year.

503)

SetFromDOSDateTime (

503)

SetFromISO8601 (

503)

SetFromRFC822 (

504)

SetFromTDateTime (

504)

SetFromTTimeStamp ( SetMillisecond ( SetSecond ( SetYear (

504)

504)

504)

SetTimeZone (

505)

505)

SubtractDays (

505)

SubtractHours (

505)

SubtractMilliseconds (

505)

SubtractMinutes (

506)

SubtractMonths (

506)

SubtractSeconds (

506)

SubtractTIdDateTimeStamp ( SubtractTTimeStamp ( SubtractWeeks ( SubtractYears (

506)

Subtracts a native date/time value from an Indy timestamp.

506)

507) 507)

267)

Create ( Zero (

Offset of the local timezone from GMT.

502)

269)

GetWeekOfYear (

CType (

Indicates the total number of seconds in the Indy timestamp year.

502)

GetTimeZoneMinutes (

SetDay (

Provides access to the seconds of the current minute for the Indy timestamp.

502)

GetTimeZoneAsString (

GetVersion (

Provides access to the short month name for the Indy timestamp.

501)

GetSecondsInYear (

511) for the timestamp value.

Provides access to the minute of the hour for the timestamp value.

1274)

507)

Resets the date and time values.

ZeroDate (

507)

Resets the date value to its default representation.

ZeroTime (

508)

Resets the time value to its default representation.

Legend Method virtual Property read only

Internet Direct (Indy) Version 10.1.5

491

TIdDateTimeStamp Class

Classes

TIdDateTimeStamp Methods The Methods of the TIdDateTimeStamp class are listed here. Methods Method

Description

AddDays (

493)

AddHours (

Adds a number of days to the timestamp.

493)

Adds a number of hours to the timestamp.

AddMilliseconds (

493)

Adds a number of milliseconds to the timestamp.

AddMinutes (

494)

Adds a number of minutes to the timestamp.

AddMonths (

494)

Adds a number of months to the timestamp.

AddSeconds (

495)

AddTDateTime (

Adds a number of seconds to the timestamp.

495)

Adds a native Delphi date/time to the timestamp.

AddTIdDateTimeStamp ( AddTTimeStamp ( AddWeeks ( AddYears (

495)

496)

496) 496)

Destroy (

496)

Frees the object instance.

GetAsISO8601Calendar (

496)

GetAsISO8601Ordinal (

497)

GetAsISO8601Week ( GetAsRFC822 (

Provides access to the Indy timestamp in ISO 8601 Ordinal format.

497)

Provides access to the Indy timestamp in ISO 8601 Week format.

497)

Provides access to the Indy timestamp in RFC 822 format.

GetAsTDateTime (

497)

Provides access to the Indy timestamp as a TDateTime value.

GetAsTimeOfDay (

498)

Provides access to the Indy timestamp as a 24-hour time string.

GetAsTTimeStamp ( GetBeatOfDay (

498)

Provides access to the Indy timestamp as a TTimeStamp value.

498)

Provides access to the Indy timestamp as a Swatch "Beat Time" value.

GetDayOfMonth (

498)

Provides access to the Day (

511) of Month for the Indy timestamp.

GetDayOfWeek (

499)

Provides access to the Day (

511) of Week for the Indy timestamp.

GetDayOfWeekName (

499)

GetDayOfWeekShortName ( GetDaysInYear (

Provides access to the long Day ( 499)

499)

Provides access to the short Day (

511) of Week name for the Indy timestamp. 511) of Week name for the Indy timestamp.

Provides access to the number of days in the year of the Indy timestamp.

GetHourOf12Day (

500)

Provides access to the AM/PM hour of Day (

511) for the Indy timestamp.

GetHourOf24Day (

500)

Provides access to the Military hour of Day (

511) for the timestamp value.

GetIsMorning (

500)

GetMinuteOfDay (

Indicates that the timestamp value contains a time before noon.

500)

GetMinuteOfHour ( GetMonthName (

Provides access to the minute of the Day (

501)

Provides access to the long month name for the timestamp value.

501)

GetMonthShortName (

Provides access to the numeric month of year for the Indy timestamp.

501)

GetSecondOfMinute (

501)

GetSecondsInYear (

502)

GetTimeZoneAsString ( GetTimeZoneHour (

502)

502)

GetTimeZoneMinutes ( GetWeekOfYear ( SetDay (

Provides access to the short month name for the Indy timestamp. Provides access to the seconds of the current minute for the Indy timestamp. Indicates the total number of seconds in the Indy timestamp year. Offset of the local timezone from GMT. Number of hours between the local timezone and GMT time.

502)

503)

Number of minutes between the local timezone and GMT time. Provides access to the week number for the Indy timestamp year.

503)

SetFromDOSDateTime (

503)

SetFromISO8601 (

503)

SetFromRFC822 (

504)

SetFromTDateTime ( SetFromTTimeStamp ( SetMillisecond ( SetSecond (

504) 504)

504)

504)

SetTimeZone ( SetYear (

511) for the timestamp value.

Provides access to the minute of the hour for the timestamp value.

501)

GetMonthOfYear (

505)

505)

SubtractDays ( SubtractHours (

505) 505)

SubtractMilliseconds (

492

Provides access to the Indy timestamp in ISO 8601 Calendar format.

505)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

SubtractMinutes (

506)

SubtractMonths (

506)

SubtractSeconds (

506)

SubtractTIdDateTimeStamp ( SubtractTTimeStamp ( SubtractWeeks ( SubtractYears ( Zero (

506)

Subtracts a native date/time value from an Indy timestamp.

506)

507) 507)

507)

Resets the date and time values.

ZeroDate (

507)

Resets the date value to its default representation.

ZeroTime (

508)

Resets the time value to its default representation.

Legend Method virtual

TIdDateTimeStamp.AddDays Method Adds a number of days to the timestamp. Pascal procedure AddDays( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Number of days to be added.

Description AddDays is a procedure that adds the number of days specified in ANumber to the current date and time value for the timestamp. Year ( 516) will be adjusted accordingly.

TIdDateTimeStamp.AddHours Method Adds a number of hours to the timestamp. Pascal procedure AddHours( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Number of hours to add.

Description AddHours is a procedure that adds the number of hours in ANumber to the current date and time value for the timestamp. Second ( 515), Day ( 511) and Year ( 516) will be adjusted accordingly. See Also Second ( Day ( Year (

515)

511) 516)

TIdDateTimeStamp.AddMilliseconds Method Adds a number of milliseconds to the timestamp.

Internet Direct (Indy) Version 10.1.5

493

TIdDateTimeStamp Class

Classes

Pascal procedure AddMilliseconds( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Number of milliseconds to be added.

Description AddMilliseconds is a procedure that adds the number of milliseconds to the date and time value in the timestamp. Second ( Day ( 511) and Year ( 516) will be adjusted accordingly.

515),

See Also Second ( Day ( Year (

515)

511) 516)

TIdDateTimeStamp.AddMinutes Method Adds a number of minutes to the timestamp. Pascal procedure AddMinutes( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Number of minutes to add.

Description AddMinutes is a procedure that adds the number of minutes in ANumber to the date and time value in the timestamp. Second ( 515), Day ( 511) and Year ( 516) will be adjusted accordingly. See Also Second ( Day ( Year (

515)

511) 516)

TIdDateTimeStamp.AddMonths Method Adds a number of months to the timestamp. Pascal procedure AddMonths( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Number of months to be added.

Description AddMonths is a procedure that adds the number of months in ANumber to the date and time value in the timestamp. Day ( and Year ( 516) will be adjusted accordingly.

494

511)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

See Also Day (

511)

Year (

516)

TIdDateTimeStamp.AddSeconds Method Adds a number of seconds to the timestamp. Pascal procedure AddSeconds( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Number of seconds to be added.

Description AddSeconds is a procedure that adds the number of seconds in ANumber to the date and time value in the timestamp. Second ( 515), Day ( 511) and Year ( 516) will be adjusted accordingly. See Also Second ( Day ( Year (

515)

511) 516)

TIdDateTimeStamp.AddTDateTime Method Adds a native Delphi date/time to the timestamp. Pascal procedure AddTDateTime( ADateTime: TIdDateTime ); Parameters Parameters

Description

ADateTime

Number of days, hours, and seconds to be added in native Delphi format.

Description AddTDateTime is a procedure that adds the date/time pair specified in ADateTime to the timestamp. ADateTime is converted to a TTimeStamp and it's component parts are added. Milliseconds, Seconds, Day ( 511) and Year ( 516) are adjusted accordingly.

TIdDateTimeStamp.AddTIdDateTimeStamp Method Pascal procedure AddTIdDateTimeStamp( AIdDateTime: TIdDateTimeStamp ); Parameters Parameters

Description

AIdDateTime

Type is TIdDateTimeStamp (

Internet Direct (Indy) Version 10.1.5

489).

495

TIdDateTimeStamp Class

Classes

TIdDateTimeStamp.AddTTimeStamp Method Pascal procedure AddTTimeStamp( ATimeStamp: TIdDateTimeStamp ); Parameters Parameters

Description

ATimeStamp

Type is TIdDateTimeStamp (

489).

Description TIdDateTimeStamp.AddTTimeStamp Method

TIdDateTimeStamp.AddWeeks Method Pascal procedure AddWeeks( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.AddYears Method Pascal procedure AddYears( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy calls the inherited Destroy method to free the object instance. See Also Create (

267)

TIdDateTimeStamp.GetAsISO8601Calendar Method Provides access to the Indy timestamp in ISO 8601 Calendar format. Pascal function GetAsISO8601Calendar: String; Description GetAsISO8601Calendar is a String function that acts as the read access specifier for the AsISO8601Calendar ( 496

509) property.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

See Also AsISO8601Calendar ( AsISO8601Week (

509)

509)

AsISO8601Ordinal (

509)

TIdDateTimeStamp.GetAsISO8601Ordinal Method Provides access to the Indy timestamp in ISO 8601 Ordinal format. Pascal function GetAsISO8601Ordinal: String; Description GetAsISO8601Ordinal is a String function that acts as the read access specifier for the AsISO8601Ordinal (

509) property.

See Also AsISO8601Calendar ( AsISO8601Ordinal ( AsISO8601Week (

509) 509)

509)

TIdDateTimeStamp.GetAsISO8601Week Method Provides access to the Indy timestamp in ISO 8601 Week format. Pascal function GetAsISO8601Week: String; Description GetAsISO8601Week is a String function that acts as the read access specifier for the AsISO8601Week (

509) property.

See Also AsISO8601Week (

509)

AsISO8601Calendar ( AsISO8601Ordinal (

509) 509)

TIdDateTimeStamp.GetAsRFC822 Method Provides access to the Indy timestamp in RFC 822 format. Pascal function GetAsRFC822: String; Description GetAsRFC822 is a String function that acts as the read access specifier for the AsRFC822 ( returned in RFC 822-compliant format. For example:

509) property. The time value is

See Also AsRFC822 (

509)

TIdDateTimeStamp.GetAsTDateTime Method Provides access to the Indy timestamp as a TDateTime value.

Internet Direct (Indy) Version 10.1.5

497

TIdDateTimeStamp Class

Classes

Pascal function GetAsTDateTime: TIdDateTime; Description GetAsTDateTime is a TDateTime function that acts as the read access specifier for the AsTDateTime (

509) property.

See Also AsTDateTime (

509)

TIdDateTimeStamp.GetAsTimeOfDay Method Provides access to the Indy timestamp as a 24-hour time string. Pascal function GetAsTimeOfDay: String; Description GetAsTimeOFDay is a String function that acts as the read access specifier for the AsTimeOfDay (

510) property.

See Also AsTimeOfDay (

510)

TIdDateTimeStamp.GetAsTTimeStamp Method Provides access to the Indy timestamp as a TTimeStamp value. Pascal function GetAsTTimeStamp: TIdDateTimeStamp; Description GetAsTTimeStamp is a TTimeStamp function that acts as the read access specifier for the AsTTimeStamp ( 510) property. GetAsTTimeStamp adjusts the date in the TTimestamp return value to account for the presence of Leap Year ( 516) and Leap Day ( 511). GetAsTTimeStamp also adjusts the time in the TTimestamp return value to set both the number of seconds and milliseconds for the time value. See Also AsTTimeStamp ( AsTDateTime (

510) 509)

TIdDateTimeStamp.GetBeatOfDay Method Provides access to the Indy timestamp as a Swatch "Beat Time" value. Pascal function GetBeatOfDay: Integer; Description GetBeatOFDay is an Integer function that acts as the read access specifier for the BeatOfDay (

510) property.

See Also BeatOfDay (

510)

TIdDateTimeStamp.GetDayOfMonth Method Provides access to the Day (

498

511) of Month for the Indy timestamp.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

Pascal function GetDayOfMonth: Integer; Description GetDayOfMonth is an Integer function that acts as the read access specifier for the DayOfMonth (

511) property.

See Also DayOfMonth (

511)

TIdDateTimeStamp.GetDayOfWeek Method Provides access to the Day (

511) of Week for the Indy timestamp.

Pascal function GetDayOfWeek: Integer; Description GetDayOfWeek is an Integer function that acts as the read access specifier for the DayOfWeek (

511) property.

See Also DayOfWeek (

511)

TIdDateTimeStamp.GetDayOfWeekName Method Provides access to the long Day (

511) of Week name for the Indy timestamp.

Pascal function GetDayOfWeekName: String; Description GetDayOfWeekName is a String function that acts as the read access specifier for the DayOfWeekName (

511) property.

See Also DayOfWeekName (

511)

TIdDateTimeStamp.GetDayOfWeekShortName Method Provides access to the short Day (

511) of Week name for the Indy timestamp.

Pascal function GetDayOfWeekShortName: String; Description GetDayOfWeekShortName is a String function that acts as the read access specifier for the DayOfWeekShortName ( property.

512)

See Also DayOfWeekShortName (

512)

TIdDateTimeStamp.GetDaysInYear Method Provides access to the number of days in the year of the Indy timestamp. Pascal function GetDaysInYear: Integer;

Internet Direct (Indy) Version 10.1.5

499

TIdDateTimeStamp Class

Classes

Description GetDaysInYear is an Integer function to acts as the read access specifier for the DaysInYear (

512) property.

See Also DaysInYear (

512)

TIdDateTimeStamp.GetHourOf12Day Method Provides access to the AM/PM hour of Day (

511) for the Indy timestamp.

Pascal function GetHourOf12Day: Integer; Description GetHourOf12Day is an Integer function that acts as the read access specifier for the HourOf12Day (

512) property.

See Also HourOf12Day (

512)

TIdDateTimeStamp.GetHourOf24Day Method Provides access to the Military hour of Day (

511) for the timestamp value.

Pascal function GetHourOf24Day: Integer; Description GetHourOf24Day is an Integer function that acts as the read access specifier for the HourOf24Day (

512) property.

See Also HourOf24Day (

512)

TIdDateTimeStamp.GetIsMorning Method Indicates that the timestamp value contains a time before noon. Pascal function GetIsMorning: Boolean; Description GetIsMorning is a Boolean function that acts as the read access specifier for the IsMorning (

513) property.

See Also IsMorning (

513)

TIdDateTimeStamp.GetMinuteOfDay Method Provides access to the minute of the Day (

511) for the timestamp value.

Pascal function GetMinuteOfDay: Integer; Description GetMinuteOfDay is an Integer function that acts as the read access specifier for the MinuteOfDay (

513) property.

See Also MinuteOfDay ( 500

513) Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

TIdDateTimeStamp.GetMinuteOfHour Method Provides access to the minute of the hour for the timestamp value. Pascal function GetMinuteOfHour: Integer; Description GetMinuteOfHour is an Integer function that acts as the read access specifier for the MinuteOfHour (

514) property.

See Also MinuteOfHour (

514)

TIdDateTimeStamp.GetMonthName Method Provides access to the long month name for the timestamp value. Pascal function GetMonthName: String; Description GetMonthName is a String function that acts as the read access specifier for the MonthName (

514) property.

See Also MonthName (

514)

TIdDateTimeStamp.GetMonthOfYear Method Provides access to the numeric month of year for the Indy timestamp. Pascal function GetMonthOfYear: Integer; Description GetMonthOfYear is an Integer function that acts as the read access specifier for the MonthOfYear (

514) property.

See Also MonthOfYear (

514)

TIdDateTimeStamp.GetMonthShortName Method Provides access to the short month name for the Indy timestamp. Pascal function GetMonthShortName: String; Description GetMonthShortName is a String function that acts as the read access specifier for the MonthShortName (

514) property.

See Also MonthShortName (

514)

TIdDateTimeStamp.GetSecondOfMinute Method Provides access to the seconds of the current minute for the Indy timestamp.

Internet Direct (Indy) Version 10.1.5

501

TIdDateTimeStamp Class

Classes

Pascal function GetSecondOfMinute: Integer; Description GetSecondOfMinute is an Integer function that acts as the read access specifier for the SecondOfMinute (

515) property.

See Also SecondOfMinute (

515)

TIdDateTimeStamp.GetSecondsInYear Method Indicates the total number of seconds in the Indy timestamp year. Pascal function GetSecondsInYear: Integer; Description GetSecondsInYear is an Integer function that acts as the read access specifier for the SecondsInYear (

515) property.

See Also SecondsInYear (

515)

TIdDateTimeStamp.GetTimeZoneAsString Method Offset of the local timezone from GMT. Pascal function GetTimeZoneAsString: String; Returns String - Offest hours and minutes from GMT. Description GetTimeZoneAsString is a String function that returns a value that indicates the offset of the local time zone from GMT (Greenwich Mean Time). THe value is expressed as a positive or negative number of hours and minutes from UTC. For example: GetTimeZoneAsString calls GetTimeZoneHour ( 502) and GetTimeZoneMinutes ( 502) to calculate the offset from UTC. GetTimeZoneAsString is used as the read access specifier for the TimeZoneAsString ( 515) property.

TIdDateTimeStamp.GetTimeZoneHour Method Number of hours between the local timezone and GMT time. Pascal function GetTimeZoneHour: Integer; Returns Integer - Number of hours between the local timezone and GMT time. Description GetTimeZoneHour is an Integer function that returns the number of hours between the local timezone and GMT time. GetTimeZoneHour is the read access specifier for the TimeZoneHour ( 516) property, and is calculated using TimeZone ( 515).

TIdDateTimeStamp.GetTimeZoneMinutes Method Number of minutes between the local timezone and GMT time.

502

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

Pascal function GetTimeZoneMinutes: Integer; Returns Integer - Number of minutes as an offset between the local timezone and GMT time. Description GetTimeZoneMinutes is an Integer function that returns the number of minutes as an offset between the local timezone and GMT time. GetTimeZoneMinutes is the read access specifier for the TimeZoneMinutes ( 516) property, and is calculated using the value in TimeZone ( 515).

TIdDateTimeStamp.GetWeekOfYear Method Provides access to the week number for the Indy timestamp year. Pascal function GetWeekOfYear: Integer; Description GetWeekOfYear is an Integer function that acts as the read access specifier for the WeekOfYear (

516) property.

See Also WeekOfYear (

516)

TIdDateTimeStamp.SetDay Method Pascal procedure SetDay( ANumber: Integer ); Parameters Parameters

Description

ANumber

Type is Integer.

TIdDateTimeStamp.SetFromDOSDateTime Method Pascal procedure SetFromDOSDateTime( ADate: Word; ATime: Word ); Parameters Parameters

Description

ADate

Type is Word.

ATime

Type is Word.

TIdDateTimeStamp.SetFromISO8601 Method Pascal procedure SetFromISO8601( AString: String ); Parameters Parameters

Description

AString

Type is String.

Internet Direct (Indy) Version 10.1.5

503

TIdDateTimeStamp Class

Classes

TIdDateTimeStamp.SetFromRFC822 Method Pascal procedure SetFromRFC822( AString: String ); Parameters Parameters

Description

AString

Type is String.

TIdDateTimeStamp.SetFromTDateTime Method Pascal procedure SetFromTDateTime( ADateTime: TIdDateTime ); Parameters Parameters

Description

ADateTime

Type is TIdDateTime (

4733).

Description TIdDateTimeStamp.SetFromTDateTime Method

TIdDateTimeStamp.SetFromTTimeStamp Method Pascal procedure SetFromTTimeStamp( ATimeStamp: TIdDateTimeStamp ); Parameters Parameters

Description

ATimeStamp

Type is TIdDateTimeStamp (

489).

Description TIdDateTimeStamp.SetFromTTimeStamp Method

TIdDateTimeStamp.SetMillisecond Method Pascal procedure SetMillisecond( ANumber: Integer ); Parameters Parameters

Description

ANumber

Type is Integer.

TIdDateTimeStamp.SetSecond Method Pascal procedure SetSecond( ANumber: Integer );

504

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

Parameters Parameters

Description

ANumber

Type is Integer.

TIdDateTimeStamp.SetTimeZone Method Pascal procedure SetTimeZone( const Value: Integer ); Parameters Parameters

Description

Value

Scope is const. Type is Integer.

TIdDateTimeStamp.SetYear Method Pascal procedure SetYear( ANumber: Integer ); Parameters Parameters

Description

ANumber

Type is Integer.

TIdDateTimeStamp.SubtractDays Method Pascal procedure SubtractDays( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.SubtractHours Method Pascal procedure SubtractHours( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.SubtractMilliseconds Method Pascal procedure SubtractMilliseconds( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

Internet Direct (Indy) Version 10.1.5

505

TIdDateTimeStamp Class

Classes

TIdDateTimeStamp.SubtractMinutes Method Pascal procedure SubtractMinutes( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.SubtractMonths Method Pascal procedure SubtractMonths( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.SubtractSeconds Method Pascal procedure SubtractSeconds( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.SubtractTIdDateTimeStamp Method Subtracts a native date/time value from an Indy timestamp. Pascal procedure SubtractTIdDateTimeStamp( AIdDateTime: TIdDateTimeStamp ); Parameters Parameters

Description

AIdDateTime

The date and time value to be subtracted from the Indy timestamp.

Description SubtractTDateTime is a procedure used to subtract the TIdDateTime ( 4733) value specified in ADateTime from the Indy timestamp. SubtractTDateTime will adjust Milliseconds, Seconds, Day ( 511), and Year ( 516) accordingly. SubtractTDateTime calls SubtractTTimeStamp ( 506) to implement its operation.

TIdDateTimeStamp.SubtractTTimeStamp Method Pascal procedure SubtractTTimeStamp( ATimeStamp: TIdDateTimeStamp );

506

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

Parameters Parameters

Description

ATimeStamp

Type is TIdDateTimeStamp (

489).

Description TIdDateTimeStamp.SubtractTTimeStamp Method

TIdDateTimeStamp.SubtractWeeks Method Pascal procedure SubtractWeeks( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.SubtractYears Method Pascal procedure SubtractYears( ANumber: Cardinal ); Parameters Parameters

Description

ANumber

Type is Cardinal.

TIdDateTimeStamp.Zero Method Resets the date and time values. Pascal procedure Zero; Description Zero is a procedure that resets the date, time, and timezone values in TIdDateTimeStamp ( 489) to their default values. Zero calls ZeroDate ( 507) to reset the date component of the date time value. Zero calls ZeroTime ( 508) to reset the time component of the date time value. Zero also sets TimeZone ( 515) to 0 prior to exiting from the method. See Also ZeroDate (

507) ZeroTime (

508) TimeZone (

515)

TIdDateTimeStamp.ZeroDate Method Resets the date value to its default representation. Pascal procedure ZeroDate; Description ZeroDate is a procedure that resets the value of the date component in TIdDateTimeStamp ( 505) to set the year to 1, and calls SetDay ( 503) to set the day number to 1.

489). ZeroDate calls SetYear (

See Also SetYear (

505)

Internet Direct (Indy) Version 10.1.5

507

TIdDateTimeStamp Class SetDay (

Classes

503)

TIdDateTimeStamp.ZeroTime Method Resets the time value to its default representation. Pascal procedure ZeroTime; Description ZeroTime is a procedure that resets the value of the time component in TIdDateTimeStamp ( 504) and SetMillisecond ( 504) to set the time to 00:00:00.000.

489). ZeroTime calls SetSecond (

See Also SetSecond (

504)

SetMillisecond (

504)

TIdDateTimeStamp Properties The Properties of the TIdDateTimeStamp class are listed here. Properties Property

Description

AsISO8601Calendar (

509)

AsISO8601Ordinal (

509)

AsISO8601Week ( AsRFC822 (

The Indy timestamp as an ISO 8601 Ordinal Date string.

509)

The Indy timestamp as an ISO 8601 Week Date string.

509)

The Indy timestamp as an RFC 822 Date string,

AsTDateTime (

509)

The Indy timestamp as a native Delphi TDateTime value.

AsTimeOfDay (

510)

The Time of Day (

AsTTimeStamp ( BeatOfDay ( Day (

510)

510)

The Indy timestamp as a Swatch "Beat" time value. The Day of Year (

DayOfMonth (

511)

DayOfWeek (

511)

Day ( 511)

DayOfWeekShortName ( DaysInYear (

511) in 24-hour format.

The Indy timestamp as a TTimeStamp value.

511)

DayOfWeekName ( 512)

512)

516) for the timestamp.

511) of Month for the Indy timestamp.

The Day (

511) of Week for the Indy timestamp.

The Day (

511) of Week Name for the Indy timestamp.

The Short (

2995) Day (

511) of Week Name for the Indy timestamp.

Number of days in the year for the Indy timestamp.

HourOf12Day (

512)

Indicates the numeric hour of day in 12-hour format.

HourOf24Day (

512)

Indicates the numeric hour of day in 24-hour format.

IsLeapYear ( IsMorning ( Millisecond (

513)

Indicates that the year for the Indy timestamp is a Leap year.

513)

Indicates that the time portion of the Indy timestamp is before noon.

513)

MinuteOfDay ( MonthName (

Number of milliseconds elapsed for the current second of the Indy timestamp. 513)

MinuteOfHour (

The long name for the month in the Indy timestamp.

514)

Numeric month number for the Indy timestamp.

514)

515) 515)

SecondsInYear ( TimeZone (

515)

515)

516)

Total number of seconds in the year for the Indy timestamp.

515)

516)

TimeZoneMinutes ( WeekOfYear (

Numeric seconds elapsed in the current minute of the Indy timestamp. Identifies the Time Zone for the Indy timestamp.

TimeZoneAsString ( TimeZoneHour (

The short name for the month in the Indy timestamp. Second of the day.

SecondOfMinute (

Year (

Number of minutes elapsed in the hour of the Indy timestamp.

514)

MonthShortName ( Second (

Number of minutes elapsed in the day of the Indy timestamp.

514)

MonthOfYear (

508

The Indy timestamp as an ISO 8601 Calendar Date string.

516)

516)

Number of hours offset from GMT. Number of minutes as an offset from GMT. Identifies the week number for the Indy timestamp. Numeric year for the Indy timestamp.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

Legend Property read only

TIdDateTimeStamp.AsISO8601Calendar Property The Indy timestamp as an ISO 8601 Calendar Date string. Pascal property AsISO8601Calendar: String; Description AsISO8601Calendar is a read-only String property that returns the date/time in ISO 8601 Calendar Date format. For example:

TIdDateTimeStamp.AsISO8601Ordinal Property The Indy timestamp as an ISO 8601 Ordinal Date string. Pascal property AsISO8601Ordinal: String; Description AsISO8601Ordinal is a read-only String property that returns the date/time as an ISO 8601 Ordinal Date string. For example:

TIdDateTimeStamp.AsISO8601Week Property The Indy timestamp as an ISO 8601 Week Date string. Pascal property AsISO8601Week: String; Description AsISO8601Week is a read-only String property that returns the date and time value for the timestanmp as an ISO 8601 Week Date string. For See Also AsISO8601Calendar ( AsISO8601Ordinal (

509) 509)

TIdDateTimeStamp.AsRFC822 Property The Indy timestamp as an RFC 822 Date string, Pascal property AsRFC822: String; Description AsRFC822 is a read-only String property that returns the date/time in the date format specified in RFC 822. For example:

TIdDateTimeStamp.AsTDateTime Property The Indy timestamp as a native Delphi TDateTime value. Pascal property AsTDateTime: TIdDateTime;

Internet Direct (Indy) Version 10.1.5

509

TIdDateTimeStamp Class

Classes

Description AsTDateTime is a read-only TDateTime property that returns the timestamp as a native Delphi TDateTime value. See Also AsTTimeStamp (

510)

TIdDateTimeStamp.AsTimeOfDay Property The Time of Day (

511) in 24-hour format.

Pascal property AsTimeOfDay: String; Description AsTimeOFDay is a read-only String property that returns the time portion of the timestamp in the 24-hour format HH:MM:SS. See Also AsTTimeStamp (

510)

AsTimeOfDay

TIdDateTimeStamp.AsTTimeStamp Property The Indy timestamp as a TTimeStamp value. Pascal property AsTTimeStamp: TIdDateTimeStamp; Description AsTTimeStamp is a read-only TTimestamp property that returns the date and time value for the timestamp as a TTimeStamp value. AsTTimeStamp calculates the date value using Year ( 516) and Day ( 511), and adjusts the TTimestamp to account for Leap years. AsTTimeStamp calculates the time value using Second ( 515) and Millisecond ( 513). See Also AsTDateTime ( Year ( Day (

509)

516) 511)

Second (

515)

Millisecond (

513)

TIdDateTimeStamp.BeatOfDay Property The Indy timestamp as a Swatch "Beat" time value. Pascal property BeatOfDay: Integer; Description BeatOFDay is a read-only Integer property that returns the Indy timestamp as a Beat time value. Beat time (often called 'Internet Time') is defined by Swatch at: http://www.swatch.com

510

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

TIdDateTimeStamp.Day Property The Day of Year (

516) for the timestamp.

Pascal property Day: Integer; Description Day is an Integer property that represents the day of the Year ( the current day of the Year ( 516) by a specified value.

516) for the timestamp value. Use AddDays (

493) to increment

See Also Year (

516)

MonthOfYear ( AddDays (

514)

493)

TIdDateTimeStamp.DayOfMonth Property Day (

511) of Month for the Indy timestamp.

Pascal property DayOfMonth: Integer; Description DayOfMonth is a read-only Integer property that contains the Day ( 511) of the Month for the timestamp value. DayOfMonth calculates the return value using the values from Day ( 511) and MonthOfYear ( 514). See Also Day (

511)

MonthOfYear (

514)

TIdDateTimeStamp.DayOfWeek Property The Day (

511) of Week for the Indy timestamp.

Pascal property DayOfWeek: Integer; Description DayOfWeek is a read-only Integer property that contains the Day ( contain a value in the range 1..7.

511) of the Week for the Indy timestamp. DayOfWeek will

See Also DayOfWeekName (

511)

DayOfWeekShortName (

512)

TIdDateTimeStamp.DayOfWeekName Property The Day (

511) of Week Name for the Indy timestamp.

Pascal property DayOfWeekName: String; Description DayOfWeekName is a read-only String property that contains the long name for the day of the week represented by the Indy Internet Direct (Indy) Version 10.1.5

511

TIdDateTimeStamp Class

Classes

timestamp. DayOfWeekName relies on the DayOfWeek ( DayOfWeekName can return one of the following values:

511) property to access the correct Day (

511) name.

See Also DayOfWeek (

511)

DayOfWeekShortName (

512)

TIdDateTimeStamp.DayOfWeekShortName Property The Short (

2995) Day (

511) of Week Name for the Indy timestamp.

Pascal property DayOfWeekShortName: String; Description DayOfWeekShortName is a read-only String property that contains the first three characters of DayOfWeekname for the Indy timestamp. DayOfWeekShortName relies on the DayOfWeek ( 511) property to access the correct Day ( 511) name. DayOfWeekShortName can return one of the following values:

TIdDateTimeStamp.DaysInYear Property Number of days in the year for the Indy timestamp. Pascal property DaysInYear: Integer; Description DaysInYear is a read-only Integer property that contains the number of days in the year represented by the Indy timestamp. DaysInYear is calculated and accounts for Leap Day ( 511) in its operation. See Also IsLeapYear (

513)

TIdDateTimeStamp.HourOf12Day Property Indicates the numeric hour of day in 12-hour format. Pascal property HourOf12Day: Integer; Description HourOf12Day is a read-only Integer property that indicates the hour of the day in 12-hour format for the Indy timestamp. Only the hour in numeric format is presented. For example, the HourOf12Day value for 1:00 AM and 1:00 PM are both 1. See Also HourOf24Day (

512)

TIdDateTimeStamp.HourOf24Day Property Indicates the numeric hour of day in 24-hour format. Pascal property HourOf24Day: Integer; Description HourOf24Day is a read-only Integer property that indicates the hour of the day in 24-hour format for the Indy timestamp. Only the hour in numeric format is presented. For example, the HourOf24Day value for 1:00 AM is 1, and the HourOf24Day value for 1:00 512

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

PM is 13. See Also HourOf12Day (

512)

TIdDateTimeStamp.IsLeapYear Property Indicates that the year for the Indy timestamp is a Leap year. Pascal property IsLeapYear: Boolean; Description IsLeapYear is a read-only Boolean property that indicates if the value in Year (

516) for the timestamp is a Leap year.

See Also Year (

516)

TIdDateTimeStamp.IsMorning Property Indicates that the time portion of the Indy timestamp is before noon. Pascal property IsMorning: Boolean; Description IsMorning is a read-only Boolean property that indicates the time portion of the Indy timestamp is before noon. IsMorning is False if the time is after noon. Noon is considered to be morning, and Midnight is considered to be afternoon.

TIdDateTimeStamp.Millisecond Property Number of milliseconds elapsed for the current second of the Indy timestamp. Pascal property Millisecond: Integer; Description Millisecond is an Integer property that contains the number of milliseconds elapsed for the current Second ( value.

515) in the timestamp

See Also Second (

515)

TIdDateTimeStamp.MinuteOfDay Property Number of minutes elapsed in the day of the Indy timestamp. Pascal property MinuteOfDay: Integer; Description MinuteOfDay is a read-only integer property that indicates the number of Minutes elapsed in the Day ( value.

511) for the timestamp

See Also Day (

511)

MinuteOfHour (

514)

Internet Direct (Indy) Version 10.1.5

513

TIdDateTimeStamp Class

Classes

TIdDateTimeStamp.MinuteOfHour Property Number of minutes elapsed in the hour of the Indy timestamp. Pascal property MinuteOfHour: Integer; Description MinuteOfHour is a read-only Integer property that indicates the number of minutes elapsed in the current Hour for the timestamp value. See Also HourOf24Day (

512)

HourOf12Day (

512)

TIdDateTimeStamp.MonthName Property The long name for the month in the Indy timestamp. Pascal property MonthName: String; Description MonthName is a read-only String property that represents the long name for the current month in the timestamp value. MonthName will contain one of the values defined in IdMonthNames ( 3856). See Also IdMonthNames (

3856)

TIdDateTimeStamp.MonthOfYear Property Numeric month number for the Indy timestamp. Pascal property MonthOfYear: Integer; Description MonthOfYear is a read-only Integer property that represents the numeric month number for the timestamp value. MonthOfYear is calculated using the value in Day ( 511), and accounts for Leap years in the returned value. See Also TMonths (

2985)

TIdDateTimeStamp.MonthShortName Property The short name for the month in the Indy timestamp. Pascal property MonthShortName: String; Description MonthShortName is a read-only String property that represents the short name for the month in the Indy timestamp. MonthShortName returns the first three characters of the month name represented in the Indy timestamp. See Also MonthName (

514

514)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDateTimeStamp Class

TIdDateTimeStamp.Second Property Second of the day. Pascal property Second: Integer; Description Second is an Integer property that indicates the current second of the day for the object. Second should always contain a value in the range 0..IdSecondsInDay ( 4326). See Also IdSecondsInDay (

4326)

TIdDateTimeStamp.SecondOfMinute Property Numeric seconds elapsed in the current minute of the Indy timestamp. Pascal property SecondOfMinute: Integer; Description SecondOfMinute is a read-only Integer property that represents the numeric seconds elapsed in the current minute for the timestamp value. See Also MinuteOfHour (

514)

TIdDateTimeStamp.SecondsInYear Property Total number of seconds in the year for the Indy timestamp. Pascal property SecondsInYear: Integer; Description SecondsInYear is a read-only Integer property that represents the total number of seconds in the year for the Indy timestamp. If the current year is a Leap year, SecondsInYear will contain the value from IdSecondsInLeapYear ( 4327). Otherwise, SecondsInYear will contain the value from IdSecondsInYear ( 4327).

TIdDateTimeStamp.TimeZone Property Identifies the Time Zone for the Indy timestamp. Pascal property TimeZone: Integer; Description TimeZone is an Integer property that Identifies the Time Zone for the Indy timestamp. TimeZone contains a value that reflects the number of hours offset from GMT or UTC. TimeZone is not used when the Indy timestamp is updated, and is generally used in construction of the AsRFC822 ( 509) timestamp format.

TIdDateTimeStamp.TimeZoneAsString Property Pascal property TimeZoneAsString: String; Internet Direct (Indy) Version 10.1.5

515

TIdDateTimeStamp Class

Classes

Description TimeZoneAsString is a read-only String property that indicates the positive or negative offset hours and minutes for the local timezone from GMT (Greenwich Mean Time). TimeZoneAsString is expressed in a format like '+HHMM' or '-HHMM'. TimeZoneAsString is used when constructing an RFC-complaint date time value using GetAsRFC882. TimeZoneAsString implements GetTimeZoneAsString (

502) as the read access specifier for the property value.

TIdDateTimeStamp.TimeZoneHour Property Number of hours offset from GMT. Pascal property TimeZoneHour: Integer; Description TimeZoneHour is a read-only Integer property that represents the positive or negative number of hours the local timezone is offset from GMT (Greenwich Mean Time). TimeZoneHour is used in constructing the value for TimeZoneAsString ( 515). TimeZoneHour implements GetTimeZoneHour ( 502) as the read access specifier for the property value.

TIdDateTimeStamp.TimeZoneMinutes Property Number of minutes as an offset from GMT. Pascal property TimeZoneMinutes: Integer; Description TimeZoneMinutes is an read-only Integer property that represents the positive or negative offset minutes of the local timezone from GMT (Greenwich Mean Time). TimeZoneMinutes is used with TimeZoneHour ( 516) in constructing the value in TimeZoneAsString ( 515). TimeZoneMinutes implements GetTimeZoneMinutes ( 502) as the read access specifier for the property value. See Also TimeZoneHour (

516) TimeZoneAsString (

515)

TIdDateTimeStamp.WeekOfYear Property Identifies the week number for the Indy timestamp. Pascal property WeekOfYear: Integer; Description WeekOFYear is a read-only Integer property that Indicates the week number for the current year of the Indy timestamp. A week is considered to begin with Sunday and may overlap a Year ( 516) boundary. It is possible to have 53 weeks in a Year ( 516), with the 53rd week of a given year also being the 1st week of the following year.

TIdDateTimeStamp.Year Property Numeric year for the Indy timestamp. Pascal property Year: Integer; Description Year is an Integer property that contains the numeric year number for the date in the timestamp value. Changing the value in Year 516

Internet Direct (Indy) Version 10.1.5

Classes

TIdDayTime Class

forces the property to contain a value no less than 1, and updates IsLeapYear ( year.

513) to reflect if the new property value is a Leap

See Also Day (

511) MonthOfYear (

514) IsLeapYear (

513)

TIdDayTime Class Implements a TCP-based DayTime protocol client. File IdDayTime (

4613)

Hierarchy

Pascal TIdDayTime = class(TIdTCPClientCustom); Description TIdDayTime is a TIdTCPClientCustom ( Standards document:

2340) descendant that implements a DayTime protocol client, as described in the Internet

RFC 867 - Daytime Protocol The DayTime protocol allows a server to send the current date and time in a human readable format, and is sometimes used for debugging. If you need a time-synchronization solution, we recommend that you use the Time protocol encapsulated by TIdSNTP ( TIdTime ( 2475), TIdTimeUDP ( 2481), TIdTimeServer ( 2478), and TIdTimeUDPServer ( 2483).

2067),

See Also TIdTCPClientCustom ( TIdDayTimeUDP ( TIdTime ( TIdSNTP (

2340)

522)

2475) 2067)

TIdTimeUDP (

2481)

TIdTimeServer (

2478)

TIdTimeUDPServer (

2483)

TIdDayTime Members The following tables list the members exposed by TIdDayTime. Properties Property BoundIP ( BoundPort (

Description 2345)

Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

ConnectTimeout ( DayTimeStr ( Greeting (

2347) 519)

2364)

Internet Direct (Indy) Version 10.1.5

Millseconds to wait for successful completion of a connection attempt. Retrieves the Date and Time from a server. Banner or welcome message for a connection to a protocol server.

517

TIdDayTime Class Host (

Classes

519)

Host name or IP address for the remote server.

IOHandler (

2364)

The input / output mechanism for the connection.

LastCmdResult (

2367)

ManagedIOHandler ( OnAfterBind (

Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

2347)

2364) for the connection is maintained by the object instance.

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin ( OnWorkEnd ( Port (

2367)

Event handler signalled for read and / or write operations. 2368)

Event handler signalled when beginning a read or write operation.

2369)

Event handler signalled when completing a read or write operation.

519)

Represents the port number used by the DayTime protocol.

ReadTimeout (

2349)

Socket (

2369)

Version (

269)

WorkTarget (

Millseconds to wait for successful completion of a read attempt. Provides access to the TIdIOHandlerSocket (

1331) for the connection.

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ConnectAndGetAll ( Connected ( Create (

2344)

Indicates if the peer connection has been opened.

267)

Constructor for the object instance.

Destroy (

357)

Destroy (

2354)

2353)

Creates the IOHandler ( Frees the object instance. 2356)

Disconnects the peer connection.

357)

EndWork (

Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

GetInternalResponse ( GetVersion (

2364) for the connection.

Frees the object instance.

DisconnectNotifyPeer ( DoWork (

Determines if the peer has been gracefully disconnected. Opens a connection and reads all data.

2353)

CreateIOHandler (

CType (

2351)

2356)

Reads response detail lines from a peer connection.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

2363)

Sends the RFC protocol header values in a list to the connection. Writes RFC-compliant message bodies on the connection.

Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

Legend Property read only Method virtual Event

TIdDayTime Properties The Properties of the TIdDayTime class are listed here.

518

Internet Direct (Indy) Version 10.1.5

Classes

TIdDayTimeServer Class

Properties Property

Description

DayTimeStr (

519)

Retrieves the Date and Time from a server.

Host (

519)

Host name or IP address for the remote server.

Port (

519)

Represents the port number used by the DayTime protocol.

Legend Property read only

TIdDayTime.DayTimeStr Property Retrieves the Date and Time from a server. Pascal property DayTimeStr: String; Description DayTimeStr is a String property that causes the component to connect ( 2342) to the Host ( 519) server and retrieve the date and time. Since this can be returned in a free-form format, this is not converted to a TDateTime and there is no time synchronization performed. You must set the Host (

519) property to the DayTime server before using this property.

TIdDayTime.Host Property Host name or IP address for the remote server. Pascal property Host; Description Host is a Published property in TIdDayTime ( used for the connection. Set values in the Host and Port (

517) tha represents the IP address or host name for the DayTime protocol server

519) properties prior to accessing the value in the DayTimeStr (

519) property.

TIdDayTime.Port Property Represents the port number used by the DayTime protocol. Pascal property Port; Description Port is a published property redefined in TIdDayTime (

517) to specify the default value used for the DayTime protocol.

Port is assigned the default value IdPORT_DAYTIME ( 3952) in the Creaqte constructor. Port is used when the value in DayTimeStr ( 519) is accessed, and the connection to the DayTime server is opened to read the value of the DayTimeStr ( 519) property. See Also TIdTCPClientCustom.Port Create (

267)

DayTimeStr (

519)

Internet Direct (Indy) Version 10.1.5

519

TIdDayTimeServer Class

Classes

TIdDayTimeServer Class Implements a DayTime protocol server. File IdDayTimeServer (

4614)

Hierarchy

Pascal TIdDayTimeServer = class(TIdCustomTCPServer); Description TIdDayTimeServer is a TIdTCPServer ( 2375) descendant that implements a TCP-based server for the DayTime protocol, as decribed in the Internet Standards document: RFC 867 - DayTime Protocol The DayTime protocol is used to retrieve the current day and time in a human-readable format, and is sometimes used for debugging. Use TIdDayTime ( 517) for the client connection. If you need a time-synchronization solution, we recommend that you use the Time protocol encapsulated by TIdTime ( TIdTimeUDP ( 2481), TIdTimeServer ( 2478), and TIdTimeUDPServer ( 2483).

2475),

See Also TIdTCPServer (

2375)

TIdDayTimeUDPServer ( TIdDayTime (

517)

TIdDayTimeUDP ( TIdTime (

524)

522)

2475)

TIdTimeUDP (

2481)

TIdTimeServer (

2478)

TIdTimeUDPServer (

2483)

TIdDayTimeServer Members The following tables list the members exposed by TIdDayTimeServer. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

521)

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Default port number for the server.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler ( ListenQueue (

Identifies a data handler for server socket connections.

464)

Represents the IOHandler used by listener threads for the server.

465)

MaxConnections (

520

Class reference used to create (

465)

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread. Indicates the maximum numer of client connections allowed for the server.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDayTimeServer Class

OnAfterBind (

466)

ReuseSocket ( Scheduler (

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime (

468)

Specifies the time a server should wait while terminating executable tasks for client connections.

TimeZone (

522)

Identifies the Time Zone for the server.

Version (

269)

Identifies the version number for the Indy component suite.

WorkTarget (

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

469)

OnDisconnect ( OnException (

Event handler signalled proper to establishing a client connection to the server. Event handler signalled prior to executing a listener thread. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnStatus (

468)

Event handler for exceptions raised in a peer thread. 470)

359)

Event handler for an exception in a listener thread. Represents the current connection status event handler.

Legend Property read only Method virtual Event

TIdDayTimeServer Properties The Properties of the TIdDayTimeServer class are listed here. Properties Property DefaultPort ( TimeZone (

Description 521) 522)

Default port number for the server. Identifies the Time Zone for the server.

Legend Property

TIdDayTimeServer.DefaultPort Property Default port number for the server. Pascal property DefaultPort: TIdPort; Description DefaultPort is a published property in TIdDayTimeServer ( described in the DayTime protocol specification. Internet Direct (Indy) Version 10.1.5

520) that identifies the default port number used by the server, as

521

TIdDayTimeUDP Class

Classes

The default value for DefaultPort is IdPORT_DAYTIME (

3952), as assigned during initialization of the component.

TIdDayTimeServer.TimeZone Property Identifies the Time Zone for the server. Pascal property TimeZone: String; Description TimeZone is a String property that indicates the Time Zone where the server is located, and the value is appended to the string representation of the time from the server. The default value for TimeZone is "EST" (Eastern Standard Time), as assigned during initializion of the component.

TIdDayTimeUDP Class Implements a UDP-based DayTime protocol client. File IdDayTimeUDP (

4614)

Hierarchy

Pascal TIdDayTimeUDP = class(TIdUDPClient); Description TIdDayTimeUDP is a TIdUDPClient ( 2509) descendant that implements a UDP-based variant of the DayTime protocol (RFC 867) as a client. In this protocol, a DayTime server sends the current day and time in a human readable format and is sometimes used for debugging. If you need a time-synchronization solution, we recommend that you use the Time protocol encapsulated by TIdTime ( TIdTimeUDP ( 2481), TIdTimeServer ( 2478), and TIdTimeUDPServer ( 2483).

2475),

See Also TIdUDPClient ( TIdDayTime ( TIdTime (

2509) 517)

2475)

TIdTimeUDP (

2481)

TIdTimeServer (

2478)

TIdTimeUDPServer (

2483)

TIdDayTimeUDP Members The following tables list the members exposed by TIdDayTimeUDP. Properties Property Active (

Description 2507)

Binding (

BroadcastEnabled (

522

Indicates that the socket binding has been allocated for the UDP client.

2508)

Socket handle for the read or write transaction. 2508)

Indicates that the socket binding can perform broadcast (

2500) transmissions.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDayTimeUDP Class

BufferSize (

2508)

DayTimeStr ( Host (

Specifies the largest UDP packet size.

524)

2520)

Retrieves the Date and Time from a server. Identifies the address of the remote computer system.

IPVersion (

2509)

Identifies the IP address family supported for the UDP protocol client.

IPVersion (

2521)

Identifies the IP address family supported for the UDP protocol client.

OnConnected (

2521)

OnDisconnected ( Port (

2521)

524)

Event handler signalled when establishing the UDP client session. Event handler signalled when closing the UDP client session. Specifies the port number used by the DayTime protocol.

ReceiveTimeout (

2509)

Indicates the timeout while waiting for a readable socket handle.

ReceiveTimeout (

2522)

Indicates the timeout while waiting for a readable socket handle.

TransparentProxy ( Version (

2522)

269)

WorkTarget (

Implements a transparent proxy connection for the UDP client. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Broadcast (

356)

2500)

CloseProxy (

Triggers the OnBeginWork event. Send (

2505) data to all computers on the network.

2511)

Closes the socket handle for a proxied connection for the client.

Connect (

2512)

Initializes the client for sending and receiving datagrams.

Connected (

2512)

Indicates if the socket handle for the UDP client has been allocated.

Create (

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

2501)

Frees the object instance.

Destroy (

2513)

Frees the object instance.

Disconnect ( DoWork (

2513)

357)

EndWork (

Closes the socket handle and transparent proxy for the client. Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

GetVersion (

269)

Version (

OpenProxy (

2514)

Ensures the optional transparent proxy is enabled for the client.

269) number for Indy component suite.

Send (

2505)

Transmits a datagram to a specified host and port number.

Send (

2517)

Transmits a datagram to the host and port number for the client.

CType (

267)

Create (

1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

ReceiveBuffer ( SendBuffer (

2514)

2518)

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Property read only Method virtual Event

TIdDayTimeUDP Properties The Properties of the TIdDayTimeUDP class are listed here. Properties Property

Description

DayTimeStr ( Port (

524)

524)

Internet Direct (Indy) Version 10.1.5

Retrieves the Date and Time from a server. Specifies the port number used by the DayTime protocol.

523

TIdDayTimeUDPServer Class

Classes

Legend Property read only

TIdDayTimeUDP.DayTimeStr Property Retrieves the Date and Time from a server. Pascal property DayTimeStr: String; Description DayTimeStr is a String property that cause the component to connect ( 2512) to the Host ( 2520) server and retrieve the date and time. Since this can be returned in a free-form format, this is not converted to a TDateTime and there is no time synchronization performed. You must set the Host (

2520) property to the DayTime server before using this property.

TIdDayTimeUDP.Port Property Specifies the port number used by the DayTime protocol. Pascal property Port; Description Port is a published property and is redefined in TIdDayTime ( (IdPORT_DAYTIME ( 3952)).

517) to specify the default value used by the DayTime protocol

The default value for Port is assigned during initialization of the component. Port is used when accessing the value in DayTimeStr ( DayTime server.

524), and a datagram is used to retrieve the property value from the

See Also Create (

267)

DayTimeStr (

524)

IdPORT_DAYTIME ( TIdUDPClient.Port (

3952) 2522)

TIdDayTimeUDPServer Class Implements a DayTime protocol server. File IdDayTimeUDPServer (

4614)

Hierarchy

Pascal TIdDayTimeUDPServer = class(TIdUDPServer); Description TIdDayTimeUDPServer that implements a UDP-based server for the DayTime protocol, as decribed in the Internet Standards 524

Internet Direct (Indy) Version 10.1.5

Classes

TIdDayTimeUDPServer Class

document: RFC 867 - DayTime Protocol The DayTime protocol is used to retrieve the current day and time in a human-readable format, and is sometimes used for debugging. Use TIdDayTime ( 517) for the client connection. If you need a time-synchronization solution, we recommend that you use the Time protocol encapsulated by TIdTime ( TIdTimeUDP ( 2481), TIdTimeServer ( 2478), and TIdTimeUDPServer ( 2483).

2475),

See Also TIdUDPServer (

2530)

TIdDayTimeUDP ( TIdTimeUDP (

522)

2481)

TIdTimeUDPServer (

2483)

TIdDayTimeUDPServer Members The following tables list the members exposed by TIdDayTimeUDPServer. Properties Property

Description

Active (

2507)

Binding ( Bindings (

Indicates that the socket binding has been allocated for the UDP client.

2508)

Socket handle for the read or write transaction.

2532)

Socket handles allocated by the server.

BroadcastEnabled ( BufferSize (

2508)

2508)

DefaultPort (

Default port number for the server.

2509)

Identifies the IP address family supported for the UDP protocol client.

ReceiveTimeout (

2509)

ThreadedEvent (

2533)

Indicates the timeout while waiting for a readable socket handle. Indicates the method used to perform the UDP read events.

TimeZone (

526)

Identifies the Time Zone for the server.

Version (

269)

Identifies the version number for the Indy component suite.

WorkTarget (

2500) transmissions.

Specifies the largest UDP packet size.

526)

IPVersion (

Indicates that the socket binding can perform broadcast (

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Broadcast ( Create (

356)

2500)

Triggers the OnBeginWork event. Send (

267)

2505) data to all computers on the network.

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

2501)

Frees the object instance.

Destroy (

2532)

Destructor for the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( Send ( CType (

Triggers the OnEndWork event handler.

269)

Version (

2505)

269) number for Indy component suite.

Transmits a datagram to a specified host and port number.

267)

Create (

1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

Events Event OnStatus (

Description 359)

OnUDPException ( OnUDPRead (

Represents the current connection status event handler. 2534)

2534)

Internet Direct (Indy) Version 10.1.5

Event handler for exceptions raised in the listener thread for the UDP server. Event handler for UDP read events.

525

TIdDBInfo Class

Classes

Legend Property read only Method virtual Event

TIdDayTimeUDPServer Properties The Properties of the TIdDayTimeUDPServer class are listed here. Properties Property DefaultPort ( TimeZone (

Description 526)

Default port number for the server.

526)

Identifies the Time Zone for the server.

Legend Property

TIdDayTimeUDPServer.DefaultPort Property Default port number for the server. Pascal property DefaultPort: integer; Description DefaultPort is a published property in TIdDayTimeUDPServer ( described in the DayTime protocol specification. The default value for DefaultPort is IdPORT_DAYTIME (

524) that identifies the default port number used by the server, as

3952), as assigned during initialization of the component.

TIdDayTimeUDPServer.TimeZone Property Identifies the Time Zone for the server. Pascal property TimeZone: String; Description TimeZone is a String property that indicates the Time Zone where the server is located, and the value is appended to the string representation of the time from the server. The default value for TimeZone is "EST" (Eastern Standard Time), as assigned during initializion of the component.

TIdDBInfo Class Collection item used to represent textual information about databases available on a DICT server. File IdDICTCommon (

4615)

Hierarchy

526

Internet Direct (Indy) Version 10.1.5

Classes

TIdDBList Class

Pascal TIdDBInfo = class(TIdGeneric); Description TIdDBInfo is a TIdGeneric ( 980) descendant that implements the collection item used to represent textual information about databases available on a DICT server. TIdDBInfo is the collection item class used in the TIdDBList (

527) collection.

See Also TIdGeneric (

980)

TIdDBList (

527)

TIdDICT.GetDBInfo

TIdDBList Class Implements a collection for DICT SHOW DB command responses. File IdDICTCommon (

4615)

Hierarchy

Pascal TIdDBList = class(TIdCollection); Description TIdDBList is a TIdCollection (

3011) descendant that implements a collection for DICT SHOW DB command responses.

TIdDBList is the type used for the TIdDICT.GetDBInfo property. See Also TIdCollection (

3011)

TIdDICT.GetDBInfo

TIdDBList Members The following tables list the members exposed by TIdDBList. Properties Property

Description

Items (

529)

Allows index access to collection items in the container.

Methods Method Add (

Description 528)

Create ( IndexOf (

Adds an item to the collection. 528)

528)

Constructor for the collection. Determines the ordinal position (or index) of a specified collection item in the collection.

Legend Method virtual Property

Internet Direct (Indy) Version 10.1.5

527

TIdDBList Class

Classes

TIdDBList Methods The Methods of the TIdDBList class are listed here. Methods Method Add (

Description 528)

Create ( IndexOf (

Adds an item to the collection. 528)

Constructor for the collection.

528)

Determines the ordinal position (or index) of a specified collection item in the collection.

Legend Method virtual

TIdDBList.Add Method Adds an item to the collection. Pascal function Add: TIdDBInfo; Returns TIdDBInfo (

526) - Collection item added to the container.

Description Add is a TIdDBInfo (

526) function used to add a collection item to the container.

Add calls the inherited Add method, and returns a TIdDBInfo ( Use Items (

526) instance for the new collection item.

529) read or write a collection item in the container using its ordinal position.

Use IndexOf (

528) to determine the odinal position of a specified collection item in the container.

See Also IndexOf (

528) Items (

529)

TIdDBList.Create Constructor Constructor for the collection. Pascal constructor Create; virtual; reintroduce; Description Create is the reintroduced constructor for the collection. Create calls the inherited constructor using TIdDBInfo ( Use Add (

526) as the item class for values added to the collection.

528) to create new collection items in the container.

See Also Add (

528)

TIdDBList.IndexOf Method Determines the ordinal position (or index) of a specified collection item in the collection. Pascal function IndexOf( 528

Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoder Class

AItem: TIdDBInfo ): Integer; Parameters Parameters

Description

AItem

Collection item to locate in the container.

Returns >=0 - Ordinal position (0-based) of the collection item. -1 - Collection item does not exist in the container. Description IndexOf is an Integer function used to determine the ordinal position (or index) of the collection item specified in AItem in the collection. The return value is the 0-based index of the collection item in the container, or -1 when the collection item does not exist in the container. Use Items ( Use Add (

529) to access (read/write) collection items using the index position of the item in the collection. 528) to create (

528) a new collection item in the container.

See Also Items ( Add (

529) 528)

TIdDBList Properties The Properties of the TIdDBList class are listed here. Properties Property

Description

Items (

529)

Allows index access to collection items in the container.

Legend Property

TIdDBList.Items Property Allows index access to collection items in the container. Pascal property Items [AIndex: Integer]: TIdDBInfo; Description Items is a TIdDBInfo ( write access.

526) property that allows 0-based indexed access to collection items in the container for both read and

Items is the default property for the collection item. Use IndexOf ( Use Add (

528) to determine the index position for an existing collection item in the container.

528) to create (

528) a new collection item in the container.

See Also IndexOf ( Add (

528)

528)

Internet Direct (Indy) Version 10.1.5

529

TIdDecoder Class

Classes

TIdDecoder Class Ancestor for Indy decoder classes. File IdCoder (

4591)

Hierarchy

Pascal TIdDecoder = class(TIdBaseComponent); Description TIdDecoder is a TIdBaseComponent ( 266) descendant that is the ancestor for Indy classes that perform decoding operations on String values to either String- or Stream-based destinations. Applications do not normally create ( 267) instances of TIdDecoder, and instead use one of the descendant classes that implements a specific decoding algorithm. TIdDecoder can be used an as ancestor for classes that utilize a unique decoding algorithm and also adhere to the Indy coder framework. Descendants of TIdDecoder include TIdDecoder4to3 (

535) and TIdDecoderQuotedPrintable (

545).

See Also TIdBaseComponent ( TIdDecoder4to3 (

266)

535)

TIdDecoderQuotedPrintable (

545)

TIdDecoder Members The following tables list the members exposed by TIdDecoder. Properties Property

Description

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

Decode (

Constructor for the object instance.

531)

DecodeBegin ( DecodeEnd ( DecodeString ( GetVersion ( CType (

Specifies the method used for decoding values in a buffer. 531)

532) 533)

269)

Prepares the decoder for storing decoded values to a stream. Signals that decoding has been completed. Provides access to the decoded values for a String data type. Version (

269) number for Indy component suite.

267)

Create (

1274)

Legend Constructor abstract virtual Property read only

530

Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoder Class

TIdDecoder Methods The Methods of the TIdDecoder class are listed here. Methods Method Decode (

Description 531)

DecodeBegin ( DecodeEnd ( DecodeString (

Specifies the method used for decoding values in a buffer. 531)

Prepares the decoder for storing decoded values to a stream.

532)

Signals that decoding has been completed.

533)

Provides access to the decoded values for a String data type.

Legend Method abstract virtual

TIdDecoder.Decode Method Specifies the method used for decoding values in a buffer. Pascal procedure Decode( const AIn: string; const AStartPos: Integer = 1; const ABytes: Integer = -1 ); virtual; abstract; Parameters Parameters

Description

AIn

Values to be decoded.

AStartPos

Initial position to be decoded. Default is 1.

ABytes

Number of bytes toi be decoded. Default is -1.

Description Decode is an abstract virtual procedure that specifies the method used to convert the encoded value in AIn to its un-encoded form. AStartPos indicates the initial value in AIn to begin the decoding operation. AStartPos values begin with 1. The default value is 1. ABytes indicates the number of byte values in AIn to be decoded. The default value is -1, and indicates that all values in AIn are affected by the operation. Decode must be overridden and implemented in a descendant class to reverse the specific encoding algorithm for the value in AIn. Use the DecodeString (

533) method to decode values passed in a string data type.

See Also DecodeString (

533)

TIdDecoder.DecodeBegin Method Prepares the decoder for storing decoded values to a stream. Pascal procedure DecodeBegin( ADestStream: TIdStream ); virtual; Parameters Parameters

Description

ADestStream

Stream containing encoded values.

Internet Direct (Indy) Version 10.1.5

531

TIdDecoder Class

Classes

Description DecodeBegin is a procedure used to initialize the decoder for reading encoded values and storing the decoded results in the TIdStream ( 3087) instance speficified in ADestStream. DecodeBegin is normally called prior to calling the Decode ( 531) method with arguments representing the encoded values to write to the stream in ADestStream. DecodeBegin assigns the TIdStream ( 3087) instance specified in ADestStream to the internal member variable allocated for the decoder. DecodeEnd ( complete.

532) is normally called after all required calls to the Decode (

DecodeBegin, Decode (

531), and DecodeEnd (

531) method to signal that the decoding operation is

532) are all used in the implementation of the DecodeString (

533) method.

Example function TIdDecoder.DecodeString(const aIn: string): string; var LStream: TIdMemoryStream; begin LStream := TIdMemoryStream.Create; try DecodeBegin(LStream); try Decode(AIn); LStream.Position := 0;Result := ReadStringFromStream(LStream); finally DecodeEnd; end; finally Sys.FreeAndNil(LStream); end; end; See Also TIdStream ( Decode (

3087) 531)

DecodeEnd (

532)

DecodeString (

533)

TIdDecoder.DecodeEnd Method Signals that decoding has been completed. Pascal procedure DecodeEnd; virtual; Description DecodeEnd is a procedure used to indicate that the decoding operation has been completed. Please note that DecodeEnd is an empty procedure in TIdDecoder ( Use DecodeBegin ( Use Decode (

530).

531) to prepare the decoder for the decoding operation.

531) to reverse the encoding algorithm for the decoder implementation.

See Also TIdStream ( Decode (

3087) 531)

DecodeBegin (

531)

DecodeString (

533)

532

Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoder00E Class

TIdDecoder.DecodeString Method Provides access to the decoded values for a String data type. Pascal function DecodeString( const aIn: string ): string; Parameters Parameters

Description

aIn

Value to be decoded.

Returns String - Decoded value of the input parameter. Description DecodeString is a String function that provides access to the decoded values for the String specified in AIn. DecodeString create ( 267) a temporary TIdMemoryStream ( 3058) instance used to accumulate the decoded values for the string in AIn and calls the DecodeBegin ( 531), Decode ( 531), and DecodeEnd ( 532) methods to perform the operation. Values in the temporary TIdMemoryStream ( 3058) instance are read into the return value for the method using ReadStringFromStream ( 2892). Use the EncodeString ( DecodeString.

2775) function or the Encode method in TIdEncoder (

653) to generate the encoded values used in

See Also Decode (

531)

DecodeBegin ( DecodeEnd (

531) 532)

ReadStringFromStream ( TIdMemoryStream ( EncodeString (

2892)

3058)

2775)

TIdEncoder.Encode (

654)

TIdDecoder00E Class Implement the decoding mechanism used in both UUE and XXE decoders. File IdCoder00E (

4592)

Hierarchy

Pascal TIdDecoder00E = class(TIdDecoder4to3); Description TIdDecoder00E is a TIdDecoder4to3 ( 535) descendant that implements an overridden Decode ( decoding the length and content for the decoder.

534) method to support

In the UUE and XXE encoding algorithms, the initial byte in the encoded values indicates the length of the encoded data stream. Internet Direct (Indy) Version 10.1.5

533

TIdDecoder00E Class

Classes

TIdDecoder00E implements a common routine to support the capability in both TIdDecoderUUE ( 547).

546) and TIdDecoderXXE (

See Also TIdDecoder4to3 (

535) TIdDecoderUUE (

TIdDecoderXXE (

546)

547) TIdDecoder00E.Decode (

534)

TIdDecoder00E Members The following tables list the members exposed by TIdDecoder00E. Properties Property

Description

FillChar (

538)

Version (

Indicates a character value that can be omitted from decoded output.

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

ConstructDecodeTable ( Create (

267)

Decode (

DecodeEnd ( DecodeString ( GetVersion (

Initializes the coding table used by the decoder. Constructor for the object instance.

534)

DecodeBegin (

CType (

536)

Implement the common decoding mechanism for both UUE and XXE decoders. 531)

532) 533)

269)

Prepares the decoder for storing decoded values to a stream. Signals that decoding has been completed. Provides access to the decoded values for a String data type. Version (

269) number for Indy component suite.

267)

Create (

1274)

Legend Method virtual Property read only

TIdDecoder00E Methods The Methods of the TIdDecoder00E class are listed here. Methods Method Decode (

Description 534)

Implement the common decoding mechanism for both UUE and XXE decoders.

Legend Method virtual

TIdDecoder00E.Decode Method Implement the common decoding mechanism for both UUE and XXE decoders. Pascal procedure Decode( const AIn: string; const AStartPos: Integer = 1; const ABytes: Integer = -1 ); override;

534

Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoder4to3 Class

Parameters Parameters

Description

AIn

Encoded values to be decoded in the method.

AStartPos

Initial byte value to be used in decoding values. Default is 1.

ABytes

Number of bytes to decode in the method. Default is -1.

Description Decode is an overridden procedure used to implement the common decoding mechanism for both UUE and XXE decoders. Decode calls the inherited Decode method to convert the 4-byte encoding to its 3-byte unencoded representation. When ABytes contains -1, all encoded values in AIn are affected by the decoding operation. Decode reads the encoded length of the encoded values from the first byte in AIn, and uses the decoder table to convert it to an integer value. When Abytes contains any value othe than -1, it is assumed that the length has already been read from the encoded data stream. The inherited methgod id called using AStartPos and ABytes to perform the 4-byte to 3-byte decoding operation. The table-based alphabet for UUE or XXE decoding is not defined in TIdDecoder00E ( 533). Use a descendant class, like TIdDecoderUUE ( 546) or TIdDecoderXXE ( 547), where the decoder table is implemented. See Also TIdDecoder4to3.Decode ( TIdDecoderXXE (

537) TIdDecoderUUE (

546)

547)

TIdDecoder4to3 Class Implements a table-driven decoder. File IdCoder3to4 (

4593)

Hierarchy

Pascal TIdDecoder4to3 = class(TIdDecoder); Description TIdDecoder4to3 is a TIdDecoder ( 530) descendant that implements decoding capabilities for data encoded using TIdEncoder3to4 ( 657). TIdDecoder4to3 provides a decoding table to represent the valid characters in the encoder alphabet. TIdDecoder4to3 provides methods to decode ( performed when processing string input values.

537) string values to a destination stream, and methods to handle the conversion

TIdDecoder4to3 does not specify the valid characters in the decoding table. Application will generally use a descendant class, like TIdDeCoderMIME or TIdDecoderUUE ( 546), where the alphabet is specified. See Also TIdDecoder (

530)

TIdDecoderMIME ( TIdDecoderUUE ( IndySupport (

542) 546)

15)

Internet Direct (Indy) Version 10.1.5

535

TIdDecoder4to3 Class

Classes

TIdDecoder4to3 Members The following tables list the members exposed by TIdDecoder4to3. Properties Property

Description

FillChar (

538)

Version (

Indicates a character value that can be omitted from decoded output.

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

ConstructDecodeTable ( Create (

267)

Decode (

DecodeEnd ( DecodeString ( GetVersion (

Initializes the coding table used by the decoder. Constructor for the object instance.

537)

DecodeBegin (

CType (

536)

Performs the specifics of the TIdDecoder4to3 ( 531)

535) decoding algorithm.

Prepares the decoder for storing decoded values to a stream.

532)

Signals that decoding has been completed.

533)

Provides access to the decoded values for a String data type.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Legend Method virtual Property read only

TIdDecoder4to3 Methods The Methods of the TIdDecoder4to3 class are listed here. Methods Method

Description

ConstructDecodeTable ( Decode (

537)

536)

Initializes the coding table used by the decoder. Performs the specifics of the TIdDecoder4to3 (

535) decoding algorithm.

Legend Method virtual

TIdDecoder4to3.ConstructDecodeTable Method Initializes the coding table used by the decoder. Pascal class procedure ConstructDecodeTable( const ACodingTable: string; var ADecodeArray: TIdDecodeTable ); Parameters Parameters

Description

ACodingTable

String containing the initial coder alphabet.

ADecodeArray

Table used by the decoder to detect valid characters and ordinal position.

Description ConstructDecodeTable is a Class procedure that initializes the CodingTable used by TIdDecoder4to3 ( 535). All elements in ADecoderArray are initialize to decimal 255, and the valid characters in ACodingTable are overlaid to indicate their ordinal position 536

Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoder4to3 Class

in the coder alphabet. ADecodeArray is used by descendant classes, like TIdDecoderMIME ( DecodeTable properties based on the alphabet for each specific coder.

542) and TIdDecoderUUE (

546), to initialize their

Example Constructing a decoder using the encode and decode alphabets. [Delphi] TIdDecoder4to3.ConstructDecodeTable(GBase64CodeTable, GBase64DecodeTable); See Also TIdDecoderMIME (

542)

TIdDecoderUUE (

546)

TIdDecoderXXE (

547)

TIdDecoder4to3.Decode Method Performs the specifics of the TIdDecoder4to3 (

535) decoding algorithm.

Pascal procedure Decode( const AIn: string; const AStartPos: Integer = 1; const ABytes: Integer = -1 ); override; Parameters Parameters

Description

AIn

Values to be converted.

AStartPos

Initial position to be decoded.

ABytes

Number of bytes to be decoded.

Description Decode is an overridden procedure that implements the specific processing required to perform the TIdDecoder4to3 ( decoding algorithm. AIn contains the value of the encoded data, and must contains a non-empty string value. Decode uses TIdBytes ( implementation to account for MBCS and Unicode values in AIn.

535)

3007) in its

Values in AIn are copied from AIn starting at the byte value indicated in AStartPos, and including the numner of byte values indicated in ABytes. When ABytes contains -1, all byte values in AIn are decoded. Decode reads 4 byte values from AIn, and converts the 6-bits of each byte into their un-encoded representation as 3 Bytes values in the internal stream for the decoder implementation. Decoded values might contain the character in FillChar ( output for the decoder.

538) value that indicates the decode values can be omitted from the

TIdDecoder4to3 Properties The Properties of the TIdDecoder4to3 class are listed here. Properties Property FillChar (

Description 538)

Indicates a character value that can be omitted from decoded output.

Legend Property

Internet Direct (Indy) Version 10.1.5

537

TIdDecoderBinHex4 Class

Classes

TIdDecoder4to3.FillChar Property Indicates a character value that can be omitted from decoded output. Pascal property FillChar: Char; Description FillChar is a Char property that Indicates a character value that can be omitted from decoded output. FillChar should correspond to the value that may have been added by TIdEncoder3to4 ( output to be a multiple of 4 bytes.

657) to force to the length of the encoded

See Also TIdEncoder3to4.Encode ( TIdEncoder3to4.FillChar (

658) 660)

TIdDecoderBinHex4 Class Implements a decoder for Apple BinHex 4.0-encoded content. File IdCoderBinHex4 (

4593)

Hierarchy

Pascal TIdDecoderBinHex4 = class(TIdDecoder4to3); Description TIdDecoderBinHex4 is a TIdDecoder4to3 ( 535) descendant that implements a decoder for Apple BinHex 4.0-encoded content, as described in the Internet Standards document: RFC 1741 - MIME Content Type for BinHex Encoded Files TIdDecoderBinHex4 is a variant of a 3-byte-to-4-byte decoder, but it uses ASCII character 90 for sequences of repeating characters, allowing some compression, but thereby not allowing it to be mapped in as another 3-to-4 decoder. As per the RFC, BinHex encoded data must be encapsulated in a MIME part (it cannot be directly coded inline in an email "body"), the part is strictly defined to have a header entry (with the appropriate "myfile.ext"): Content-Type: application/mac-binhex40; name="myfile.ext" After the header, the part must start with the text (not indented): (This file must be converted with BinHex 4.0) This allows the option and the ambiguity of identifying it by either the Content-Type or by the initial text line. However, it is also stated that any text before the specified text line must be ignored, implying the line does not have to be the first - an apparent contradiction. The encoded file then follows, split with CRLFs (to avoid lines that are too long for emails) that must be discarded. The file starts with a colon (:), a header, followed by the file contents, and ending in another colon. There is also an interesting article on the web, "BinHex 4.0 Definition by Peter N Lewis, Aug 1991", which has very useful information on what is implemeted in practice, and seems to come with the good provenance of bitter experience. The BinHex format Here is a description of the Hqx7 (7 bit format as implemented in BinHex 4.0) formats for Macintosh Application and File transfers. 538

Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoderBinHex4 Class

The main features of the format are:

• Error checking even using ASCII download • Compression of repetitive characters • 7-bit encoding for ASCII download BinHex format is processed at three different levels:

• 8 bit encoding of the file:

Data Type

Description

Byte

Length of the FileName (1..63)

Bytes

FileName bytes (up to "Length" bytes)

Byte

Version (

Long

Type

Long

Creator

Word

Flags (And $F800)

Long

Length of Data Fork

Long

Length of Resource Fork

Word

CRC

Bytes

Data Fork ("Data Length" bytes)

Word

CRC

Bytes

Resource Fork ("Rsrc Length" bytes)

Word

CRC

269)

• Compression of repetitive characters. $90 is the marker, and encoding is made for 3-255 characters. 00 11 22 33 44 55 66 77 -> 00 11 22 33 44 55 66 77 11 22 22 22 22 22 22 33 -> 11 22 90 06 33 11 22 90 33 44 -> 11 22 90 00 33 44 The whole file is considered as a stream of bits. This stream will be divided in blocks of 6 bits and then converted to one of 64 characters contained in a table. The characters in this table have been chosen for maximum noise protection. The format will start with a ":" (first character on a line) and end with a ":". There will be a maximum of 64 characters on a line. It must be preceded, by this comment, starting in column 1 (it does not start in column 1 in this document): (This file must be converted with BinHex 4.0) Any text before this comment is to be ignored. Use GBinHex4CodeTable (

3209) to access the characters used in the encoded file format.

Implementation Notes There are older variants referred to in RFC 1741, but I have only come across encodings in current use as separate MIME parts, which this implementation is targetted at. When encoding into BinHex4, you do NOT have to implement the run-length encoding (the character 90 for sequences of repeating characters), and this encoder does not do it. The CRC values generated in the header have NOT been tested (because this decoder ignores them). The decoder has to allow for the run-length encoding. The decoder works irrespective of whether it is preceded by the identification string or not (GBinHex4IdentificationString ( 3210) below). The string to be decoded must include the starting and ending colons. Internet Direct (Indy) Version 10.1.5

539

TIdDecoderBinHex4 Class

Classes

It can deal with embedded CR ( 3174) and LFs. Unlike base64 and quoted-printable, we cannot decode ( 541) line-by-line cleanly, because the lines do not contain a clean number of 4-byte blocks due to the first line starting with a colon, leaving 63 bytes on that line, plus you have the problem of dealing with the run-length encoding and stripping the header. If the attachment only has a data fork, it is saved; if only a resource fork, it is saved; if both, only the data fork is saved. The decoder does NOT check that the CRC values are correct. Indy units use the content-type to decide if the part is BinHex4: Content-Type: application/mac-binhex40; name="myfile.ext" WARNING: This code only implements BinHex4.0 when used as a part in a MIME-encoded email. To have a part encoded, set the value in the content transfer property for the message part: ContentTransfer := 'binhex40'. See Also TIdDecoder4to3 (

535)

TIdDecoderBinHex4 Members The following tables list the members exposed by TIdDecoderBinHex4. Properties Property

Description

FillChar (

538)

Version (

Indicates a character value that can be omitted from decoded output.

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

ConstructDecodeTable ( Create (

267)

Decode (

DecodeBegin ( DecodeEnd ( GetVersion ( CType (

Initializes the coding table used by the decoder. Constructor for the object instance.

541)

DecodeString (

536)

Decodes BinHex 4.0-encoded data. 531)

532) 533)

269)

Prepares the decoder for storing decoded values to a stream. Signals that decoding has been completed. Provides access to the decoded values for a String data type. Version (

269) number for Indy component suite.

267)

Create (

1274)

Legend Method virtual Property read only

TIdDecoderBinHex4 Methods The Methods of the TIdDecoderBinHex4 class are listed here. Methods Method Decode (

Description 541)

Decodes BinHex 4.0-encoded data.

Legend Method virtual

540

Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoderMIME Class

TIdDecoderBinHex4.Decode Method Decodes BinHex 4.0-encoded data. Pascal procedure Decode( const AIn: string; const AStartPos: Integer = 1; const ABytes: Integer = -1 ); override; Parameters Parameters

Description

AIn

Encoded data for the operation.

AStartPos

Starting position in the encoded data.

ABytes

Number of bytes to be decoded.

Description Decode is an overridden method in TIdDecoderBinHex4 ( 538). Decode performs decoding for the BinHex data in AIn starting at the position indicated in AStartPos and continuing for the number of bytes indicated in ABytes. The value in AStartPos starts at 1 (one). ABytes can contain any value from 1 to the length of the input data in AIn. -1 indicates that all values in AIn will be decoded. Decode examines the values in AIn to determine when the Colon delimiter (ASCII decimal 58) is encountered at the start or end of the BinHex 4.0-encoded data. Decode raises the EIdMissingColon ( 118) exception when the Colon delimiter characters are not found in the BinHex-encoded data. After values in AIn have been decoded, Decode checks for run-length encoding in the decoded content by looking for the RLE marker (ASCII Decimal 144 Hex 90). Run-length encoded values are restored to their non-RLE-encoded values. Decode removes the BinHex header included at the beginning of the content, including the following data types:

Data Type

Description

Byte

Length of the FileName (1..63)

Bytes

FileName bytes (up to "Length" bytes)

Byte

Version (

Long

Type

Long

Creator

Word

Flags (And $F800)

Long

Length of Data Fork

Long

Length of Resource Fork

Word

CRC

Bytes

Data Fork ("Data Length" bytes)

Word

CRC

Bytes

Resource Fork ("Rsrc Length" bytes)

Word

CRC

269)

Decode writes the decoded values for the specified content to the stream for the decoder. Use TIdEncoderBinHex4 (

661) to create (

267) the values used in the AIn argument.

See Also TIdEncoderBinHex4 (

661)

Internet Direct (Indy) Version 10.1.5

541

TIdDecoderMIMELineByLine Class

Classes

TIdDecoderMIME Class Implements a decoder for MIME content encoded using the Base64 encoding scheme. File IdCoderMIME (

4595)

Hierarchy

Pascal TIdDecoderMIME = class(TIdDecoder4to3); Description TIdDecoderMIME is a TIdDecoder4to3 ( 535) descendant that implements a decoder for MIME content encoded using the Base64 encoding algorithm. TIdDecoderMIME specifies the decoding table used by the decoder in GBase64DecodeTable ( 3123) based on the Base64 alphabet in GBase64CodeTable ( 3208). TIdDecoderMIME also uses the special padding character "=" in the FillChar ( 538) property. See Also TIdDecoder4to3 (

535)

GBase64DecodeTable ( GBase64CodeTable (

3123)

3208)

TIdDecoderMIMELineByLine Class File IdCoderMIME (

4595)

Hierarchy

Pascal TIdDecoderMIMELineByLine = class(TIdDecoderMIME); Description TIdDecoderMIMELineByLine is a TIdDecoderMIME ( 542) descendant that implements a specialized MIME (or Base64) decoder. It is used primarily when handling MIME-encoded mail messages. WARNING: This is not a general-purpose decoder. It is used, for example, by IdMessageCoderMIME for line-by-line decoding of base64 encoded parts that are processed on a line-by-line basis, as against the complete encoded block. If you use it, you must call Clear ( 543) before the first line, and also call CheckForLeftOvers after the last line. See Also TIdDecoderMIME (

542)

TIdDecoderMIMELineByLine Members The following tables list the members exposed by TIdDecoderMIMELineByLine.

542

Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoderMIMELineByLine Class

Properties Property

Description

FillChar (

538)

Version (

Indicates a character value that can be omitted from decoded output.

269)

Identifies the version number for the Indy component suite.

Methods Method Clear (

Description 543)

Ensures leftover characters from prior decoding operations are removed.

ConstructDecodeTable ( Create (

267)

Decode (

DecodeEnd ( DecodeString (

Implements line-oriented decoding for Base64-encoded values. 531)

532) 533)

FinishDecoding ( GetVersion (

Initializes the coding table used by the decoder. Constructor for the object instance.

544)

DecodeBegin (

CType (

536)

544)

269)

Prepares the decoder for storing decoded values to a stream. Signals that decoding has been completed. Provides access to the decoded values for a String data type. Ensures unused characters in TIdDecoderMIMELineByLine ( decoded. Version (

542) are padded with the FillChar (

538) and

269) number for Indy component suite.

267)

Create (

1274)

Legend Method virtual Property read only

TIdDecoderMIMELineByLine Methods The Methods of the TIdDecoderMIMELineByLine class are listed here. Methods Method Clear (

Description 543)

Decode (

Ensures leftover characters from prior decoding operations are removed. 544)

FinishDecoding (

Implements line-oriented decoding for Base64-encoded values. 544)

Ensures unused characters in TIdDecoderMIMELineByLine ( decoded.

542) are padded with the FillChar (

538) and

Legend Method virtual

TIdDecoderMIMELineByLine.Clear Method Ensures leftover characters from prior decoding operations are removed. Pascal procedure Clear; Description Clear is a procedure used to ensure that characters left over from prior calls to Decode ( decoding operation.

544) are removed before starting a new

TIdDecoderMIMELineByLine ( 542) maintains an internal buffer for decoding operations that use Base64-encoded values that are not a multiple of 4-bytes. In other words, the FillChar ( 538) may not have been appended to the end of the encoded values. Use Clear to ensure that these remaining values are discarded proper to calling Decode ( values.

Internet Direct (Indy) Version 10.1.5

544) for a new set of Base64-encoded

543

TIdDecoderMIMELineByLine Class

Classes

See Also Decode (

544)

FinishDecoding (

544)

TIdDecoderMIMELineByLine.Decode Method Implements line-oriented decoding for Base64-encoded values. Pascal procedure Decode( const AIn: string; const AStartPos: Integer = 1; const ABytes: Integer = -1 ); override; Parameters Parameters

Description

AIn

Base64-encoded values to be decoded.

AStartPos

Initial position in the values to decoded. Default value is 1.

ABytes

Number of bytes to decode from AIn. Default value is -1 and indicates all byte values.

Description Decode is an overridden procedure that implements line-oriented decoding for Base64-encoded values. TIdDecoderMIMELineByLine ( 542) maintains an internal buffer for decoding operations that use Base64-encoded values that are not a multiple of 4-bytes. In other words, the FillChar ( 538) may not have been appended to the end of the encoded values. Decode ensure that any remaining values in the internal buffer are included before added new values specified in AIn. Decode determines if the number of bytes in the input values is a multiple of 4 (for the 4-byte to 3-byte decoding operation). When it is not a multiple of 4, the unused bytes by are retained in an internal buffer for use in subsequent calls to the Decode method. Use Clear (

543) to discard any remaining bytes prior to starting the decoding operation.

Decode calls the inherited method to perform Base64 decoding for the values specified. Call FinishDecoding ( 544) to ensure that unused bytes in the internal buffer are padded with one or more values from the FillChar ( 538) property and decoded. See Also Clear (

543)

FinishDecoding (

544)

TIdDecoderMIMELineByLine.FinishDecoding Method Ensures unused characters in TIdDecoderMIMELineByLine (

542) are padded with the FillChar (

538) and decoded.

Pascal procedure FinishDecoding; Description FinishDecoding is a procedure used to ensure that unused characters in the internal buffer for TIdDecoderMIMELineByLine ( are padded with the value specified in FillChar ( 538) and decoded.

542)

FinishDecoding ensure that the number of pending characters is always a multiple of 4 (for the 4-byte to 3-byte decoding operation). FinishDecoding calls the inherited Decode ( Use Clear (

544) method.

543) to discard and ignore any unused characters from prior calls to the Decode (

544) method.

See Also Decode ( 544

544) Internet Direct (Indy) Version 10.1.5

Classes

TIdDecoderQuotedPrintable Class

Clear (

543)

TIdDecoderQuotedPrintable Class Implements a decoder for the Quoted-Printable encoding scheme. File IdCoderQuotedPrintable (

4596)

Hierarchy

Pascal TIdDecoderQuotedPrintable = class(TIdDecoder); Description TIdDecoderQuotedPrintable is a TIdDecoder ( encoding scheme.

530) descendant that implements the decoding algorithm for the Quoted-Printable

TIdDecoderQuotedPrintable will convert values that have been encoded using TIdEncoderQuotedPrintable ( un-encoded state.

665) to their original

TIdDecoderQuotedPrintable conforms the decoding algorithm as described in the Internet Standards document: RFC 2045, Multipurpose Internet Mail Extensions (MIME), Part One: Format of Internet Message Bodies, Section 6.7 Quoted-Printable Content Transfer Encoding See Also TIdDecoder (

530)

TIdEncoderQuotedPrintable (

665)

TIdDecoderQuotedPrintable Members The following tables list the members exposed by TIdDecoderQuotedPrintable. Properties Property

Description

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

Decode (

Constructor for the object instance.

546)

DecodeBegin ( DecodeEnd ( DecodeString ( GetVersion ( CType (

Decodes a Quoted-Printable-encoded string and stores the result in a Stream. 531)

532) 533)

269)

Prepares the decoder for storing decoded values to a stream. Signals that decoding has been completed. Provides access to the decoded values for a String data type. Version (

269) number for Indy component suite.

267)

Create (

1274)

Legend Constructor virtual Property read only

Internet Direct (Indy) Version 10.1.5

545

TIdDecoderUUE Class

Classes

TIdDecoderQuotedPrintable Methods The Methods of the TIdDecoderQuotedPrintable class are listed here. Methods Method

Description

Decode (

546)

Decodes a Quoted-Printable-encoded string and stores the result in a Stream.

Legend Method virtual

TIdDecoderQuotedPrintable.Decode Method Decodes a Quoted-Printable-encoded string and stores the result in a Stream. Pascal procedure Decode( const AIn: string; const AStartPos: Integer = 1; const ABytes: Integer = -1 ); override; Parameters Parameters

Description

AIn

Value to be decoded.

AStartPos

Default is 1.

ABytes

Default is -1.

ADest

Destination for the decoded value.

Description DecodeToStream is an overridden procedure in TIdDecoderQuotedPrintable ( 545) that implements the decoding algorithm for the Quoted-Printable encoding scheme. DecodeToStream converts the Quoted-Printable value in AIn to it's original un-encoded form, and stores the result in the Stream ADest. AIn contains a value in the format generated by TIdEncoderQuotedPrintable.Encode ( 666). DecodeToStream will remove any trailing whitespace in AIn before performing the decoding algorithm, in accordance with RFC 2045. If AIn is an empty string (''), DecodeToStream performs no processing and exits from the method. ADest is a TStream descendant that will receive the un-encoded value of AIn. See Also TIdEncoderQuotedPrintable.Encode (

666)

TIdDecoderUUE Class Implements a decoder for data encoded using the UUEncode algorithm and the UUEncode alphabet. File IdCoderUUE (

4597)

Hierarchy

Pascal TIdDecoderUUE = class(TIdDecoder00E); 546

Internet Direct (Indy) Version 10.1.5

Classes

TIdDefinition Class

Description TIdDecoderUUE is a TIdDecoder00E ( 533) descendant that implements a decoder for data encoded using the UUEncode algorithm. TIdDecoderUUE provides facilities for decoding the 7-bit US-ASCII representation of encoded data into it's original binary format. TIdDecoderUUE also specifies the decoding table for the UUEncode alpahabet in GUUEDecodeTable ( 3127), and the default FillChar ( 538) '~'. TIdDecoderUUE uses the 4-byte to 3-byte decoding algorithm defined in TIdDecoderUUEBase. TIdDecoderUUEBase handles the UUEncode body line format, which consists of the encoded length followed by the encoded data. TIdDecoderUUE is used by other Indy coder classes, such as TIdMessageDecoderUUE ( streams in RFC 822-compliant mail messages.

1584), that handle UUEncode message

See Also TIdDecoder4to3 (

535)

TIdDecoder00E (

533)

TIdMessageDecoderUUE ( IdCoderUUE.pas (

1584)

4597)

GUUEDecodeTable (

3127)

TIdDecoderXXE Class Implements a decoder for data encoded using the XXEncode algorithm and the XXEncode alphabet. File IdCoderXXE (

4599)

Hierarchy

Pascal TIdDecoderXXE = class(TIdDecoder00E); Description TIdDecoderXXE is a TIdDecoder00E ( 533) descendant that implements a decoder for data encoded using the XXEncode algorithm. TIdDecoderXXE provides facilities for decoding the 7-bit US-ASCII representation of encoded data into it's original binary format. TIdDecoderXXE also specifies the decoding table for the XXEncode alpahabet in GUUEDecodeTable ( 3127), and the default FillChar ( 538) '~'. TIdDecoderXXE uses the 4-byte to 3-byte decoding algorithm defined in TIdDecoderUUE ( 546). TIdDecoderXXEBase handles the XXEncode body line format by using the inherited Decode ( 534) method, which consists of the encoded length followed by the encoded data. TIdDecoderXXE is used by other Indy coder classes, such as TIdMessageDecoderXXE, that handle XXEncode message streams in RFC 822-compliant mail messages. See Also TIdDecoder4to3 (

535)

TIdDecoder00E (

533)

TIdDecoderUUE (

546)

IdCoderXXE.pas (

4599)

GXXEDecodeTable ( GXXECodeTable (

3128)

3216)

Internet Direct (Indy) Version 10.1.5

547

TIdDefinition Class

Classes

TIdDefinition Class Implements a collection item class for values added to the TIdDefinitions (

550) collection.

File IdDICTCommon (

4615)

Hierarchy

Pascal TIdDefinition = class(TIdCollectionItem); Description TIdDefinition is a TIdCollectionItem ( collection.

3011) descendant that implements a class for values added to the TIdDefinitions (

TIdDefinition represents an individual response received for the DICT DEFINE command used in TIdDICT (

550)

552).

See Also TIdCollectionItem ( TIdDefinitions (

3011)

550)

TIdDICT.Define (

556)

TIdDefinition Members The following tables list the members exposed by TIdDefinition. Properties Property DB (

Description 549)

Definition ( Word (

549)

550)

Methods Method Create ( Destroy (

Description 549) 549)

Legend Constructor virtual Property

TIdDefinition Methods The Methods of the TIdDefinition class are listed here. Methods Method Create ( Destroy (

548

Description 549) 549)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDefinition Class

Legend Constructor virtual

TIdDefinition.Create Constructor Pascal constructor Create( AOwner: TIdCollection ); override; Parameters Parameters

Description

AOwner

Type is TIdCollection (

3011).

Description Create is the overridden constructor for the object instance.

TIdDefinition.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor.

TIdDefinition Properties The Properties of the TIdDefinition class are listed here. Properties Property DB (

Description 549)

Definition ( Word (

549)

550)

Legend Property

TIdDefinition.DB Property Pascal property DB: TIdDBInfo; Description DB is a Published TIdDBInfo (

526) property. Write access for the property is implemented using FDB.

TIdDefinition.Definition Property Pascal property Definition: TIdStrings; Description Definition is a Published TIdStrings (

Internet Direct (Indy) Version 10.1.5

3089) property. Write access for the property is implemented using SetDefinition.

549

TIdDefinitions Class

Classes

TIdDefinition.Word Property Pascal property Word: string; Description Word is a Published string property. Write access for the property is implemented using FWord.

TIdDefinitions Class Implements a collection for DICT DEFINE command responses received in TIdDICT.Define (

556).

File IdDICTCommon (

4615)

Hierarchy

Pascal TIdDefinitions = class(TIdCollection); Description TIdDefinitions is a TIdCollection (

3011) descendant that implements a collection for DICT DEFINE command responses.

TIdDefinitions is the type used for the Define property in TIdDict. See Also TIdCollection (

3011)

TIdDICT.Define ( TIdDefinition (

556)

548)

TIdDefinitions Members The following tables list the members exposed by TIdDefinitions. Properties Property

Description

Items (

552)

Methods Method Add (

Description 551)

Create ( IndexOf (

551) 551)

Legend Method virtual Property

TIdDefinitions Methods The Methods of the TIdDefinitions class are listed here. 550

Internet Direct (Indy) Version 10.1.5

Classes

TIdDefinitions Class

Methods Method Add (

Description 551)

Create ( IndexOf (

551) 551)

Legend Method virtual

TIdDefinitions.Add Method Pascal function Add: TIdDefinition; Returns TIdDefinition (

548)

Description Add is a method. Add returns a TIdDefinition (

548) value.

TIdDefinitions.Create Constructor Pascal constructor Create; virtual; reintroduce; Description Create is a reintroduced,virtual constructor.

TIdDefinitions.IndexOf Method Pascal function IndexOf( AItem: TIdDefinition ): Integer; Parameters Parameters

Description

AItem

Type is TIdDefinition (

548).

Returns Integer Description IndexOf is a method. IndexOf returns a Integer value.

TIdDefinitions Properties The Properties of the TIdDefinitions class are listed here. Properties Property Items (

Description 552)

Internet Direct (Indy) Version 10.1.5

551

TIdDICT Class

Classes

Legend Property

TIdDefinitions.Items Property Pascal property Items [AIndex: Integer]: TIdDefinition; Description Items is a Public TIdDefinition (

548) property. Write access for the property is implemented using SetItems.

Items is the default property for the object instance.

TIdDICT Class Implements a client for the Dictionary Server (

566) Protocol.

File IdDICT (

4615)

Hierarchy

Pascal TIdDICT = class(TIdTCPClient); Description TIdDICT is a TIdTCPClient ( 2333) descendant that implements a client for the Dictionary Server ( the Internet Standards document:

566) Protocol, as described in

RFC 2229 - A Dictionary Server Protocol The DICT protocol is designed to provide access to multiple databases. Word definitions can be requested, the word index can be searched (using an easily extended set of algorithms), information about the server can be provided (e.g., which index search strategies are supported, or which databases are available), and information about a database can be provided (e.g., copyright, citation, or distribution information). Further, the DICT protocol has hooks that can be used to restrict access to some or all of the databases available on a DICT server. TIdDICT provides properties and methods needed to implement the following DICT commands:

AUTH CLIENT DEFINE HELP MATCH OPTION MIME QUIT SASLAUTH SHOW DB SHOW INFO SHOW SERVER 552

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICT Class

SHOW STRAT STATUS

Summary of Response Codes Below is a summary of response codes used in the DICT protocol. (x) in the first column indicates the response has defined arguments that must be provided.

? Rsp

Meaning

x 110

n databases present - text follows

x 111

n strategies available - text follows

112

database information follows

113

help text follows

114

server information follows

130

challenge follows

x 150

n definitions retrieved - definitions follow

x 151

word database name - text follows

x 152

n matches found - text follows

210 x 220

(optional timing and statistical information here) text msg-id

221

Closing Connection

230

Authentication successful

250

ok (optional timing information here)

330

send response

420

Server (

566) temporarily unavailable

421

Server (

566) shutting down at operator request

500

Syntax error, command not recognized

501

Syntax error, illegal parameters

502

Command not implemented

503

Command parameter not implemented

530

Access denied

531

Access denied, use "SHOW INFO" for server information

532

Access denied, unknown mechanism

550

Invalid database, use "SHOW DB" for list of databases

551

Invalid strategy, use "SHOW STRAT" for a list of strategies

552

No match (

554

No databases present

555

No strategies available

560)

See Also TIdTCPClient (

2333)

Internet Direct (Indy) Version 10.1.5

553

TIdDICT Class

Classes

TIdDICT Members The following tables list the members exposed by TIdDICT. Properties Property

Description

AuthType (

564)

BoundIP (

2335)

Indicates the authentication mechanism used for the client. Specifies the the local IP address to be used for the Socket (

2369) connection.

BoundIP (

2345)

Specifies the the local IP address to be used for the Socket (

2369) connection.

BoundPort (

2336)

Specifies the the port number to be used for the Socket (

2369) connection.

BoundPort (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

565)

Indicates the features supported on the DICT server.

Capabilities ( Client (

565)

Provides information about the client to the server for logging and statistical purposes.

ConnectTimeout (

2336)

Millseconds to wait for successful completion of a connection attempt.

ConnectTimeout (

2347)

Millseconds to wait for successful completion of a connection attempt.

Greeting ( Host (

2364)

Banner or welcome message for a connection to a protocol server.

2337)

IP address or host name for the remote network connection.

IOHandler (

2364)

IPVersion (

2337)

The input / output mechanism for the connection. Indicates the IP version used for addresses in the client.

LastCmdResult (

2367)

ManagedIOHandler (

Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

2364) for the connection is maintained by the object instance.

OnAfterBind (

2338)

Event handler signalled after the socket handle is bound for the connection.

OnAfterBind (

2347)

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2338)

Event handler signalled proper to binding the socket handle for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin ( OnWorkEnd ( Password ( Port (

2367)

Event handler signalled for read and / or write operations. 2368)

Event handler signalled when beginning a read or write operation.

2369)

Event handler signalled when completing a read or write operation.

565)

Authentication credentials provided during authentication for the client.

566)

Port number for the connection to the remote server.

ReadTimeout (

2339)

Millseconds to wait for successful completion of a read attempt.

ReadTimeout (

2349)

Millseconds to wait for successful completion of a read attempt.

SASLMechanisms (

566)

Simple Authentication and Security Layer mechanisms available for the client connection.

Server (

566)

Server identification.

Socket (

2369)

Provides access to the TIdIOHandlerSocket (

566)

Indicates if the DICT OPTION MIME command is used for the client connection.

TryMIME (

1331) for the connection.

Username (

567)

Authentication identity provided during authentication for the client.

Version (

269)

Identifies the version number for the Indy component suite.

WorkTarget (

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( Connect (

555)

Create (

2344)

2353)

Constructor for the object instance.

CreateIOHandler (

2353)

EndWork ( GetDBList (

554

Creates the IOHandler (

558)

DisconnectNotifyPeer ( DoWork (

Opens a connection and reads all data. Indicates if the peer connection has been opened.

267)

Destroy (

Determines if the peer has been gracefully disconnected. Establishes the connection to the DICT server.

ConnectAndGetAll ( Connected (

2351)

357) 358) 558)

2364) for the connection.

Frees the object instance. 558)

Close the connection using the QUIT command. Triggers the OnWork event handler. Triggers the OnEndWork event handler. Gets the list of databases on the DICT server.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICT Class

GetDictInfo (

559)

Retrieve information about a specific database on the DICT server.

GetInternalResponse ( GetStrategyList (

2356)

Reads response detail lines from a peer connection.

559)

Retrieves the list of search strategies supported on the DICT server.

GetSvrInfo (

559)

Retrieves information about the DICT server.

GetVersion (

269)

Version (

CType (

269) number for Indy component suite.

267)

Define (

556)

Match (

560)

Create (

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdDICT Methods The Methods of the TIdDICT class are listed here. Methods Method

Description

Connect ( Define (

555)

Destroy (

558)

Frees the object instance.

DisconnectNotifyPeer ( GetDBList (

558)

558)

GetDictInfo ( GetSvrInfo (

Close the connection using the QUIT command. Gets the list of databases on the DICT server.

559)

GetStrategyList ( Match (

Establishes the connection to the DICT server.

556)

559)

559)

Retrieve information about a specific database on the DICT server. Retrieves the list of search strategies supported on the DICT server. Retrieves information about the DICT server.

560)

Legend Method virtual

TIdDICT.Connect Method Establishes the connection to the DICT server. Pascal procedure Connect; override; Description Connect is an overridden method in TIdDICT ( 2337) and Port ( 566) properties. Internet Direct (Indy) Version 10.1.5

552) that establishes the connection to the DICT server indicated using the Host (

555

TIdDICT Class

Classes

Connect clears the Capabilities ( 565) and Server ( 566) properties prior to calling the inherited Connect method to open the client connection to the server. If the connection is successful, as indicated by the numeric response code 220, value are parsed from the server greeting and stored in the Server ( 566) and Capabilities ( 565) properties. Connect sends the DICT CLIENT command using the value in the Client ( the DICT server.

565) property to provide information about the client to

Connect performs authentication for the client based on the value of the AuthType ( 564) property and the Capabilities ( 565) supported on the DICT server. When AuthType ( 564) contains atDefault, the DICT AUTH command is used with the values in Username ( 567) and Password ( 565) to perform authentication using an MD5 hash value. When AuthType ( 564) contains atSASL, the SASLMechanisms ( 566) for the client are used to perform authentication. Connect sends the DICT OPTION MIME command when "MIME" is included in the Capabilities ( server. If an exception is encountered during processing in the Connect method, the Disconnect ( connection to the DICT server.

565) supported on the DICT

2355) method is called to close the

See Also AuthType ( Username (

564) Capabilities ( 567)

565) Disconnect (

2355) Password (

565) SASLMechanisms (

566) Server (

566)

TIdDICT.Define Method Overload List Method TIdDICT.Define TIdDefinitions) ( 556)

Description (String,

String, Retrieves definitions from the DICT server.

TIdDICT.Define (String, TIdDefinitions, Retrieves definitions from the DICT server. Boolean) ( 557)

TIdDICT.Define Method (String, String, TIdDefinitions) Retrieves definitions from the DICT server. Pascal procedure Define( const AWord: String; const ADBName: String; AResults: TIdDefinitions ); overload; Parameters Parameters

Description

AWord

Word definition to search for in the database.

ADBName

Database to search for matching word definitions.

AResults

Container for definitions returned by the DICT server.

Description Define is an overloaded method used to implement the DICT DEFINE command. Define performs a lookup for the definition of the specified word in the databases on the DICT server. AWord indicates the word to lookup in the databases on the DICT server. ADBName indicates the database to search for matching word definitions. AResults is the TIdDefinitions ( 550) instance used to store definitions retrieved from the DICT server. Define clears any exisiting definitions stored in the AResults argument. Define sends the DICT DEFINE command using the arguments indicated in AWord and ADBName.

556

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICT Class

Define will normally result in the following status codes being returned to the client:

Code

Description

552

No match (

150

n definitions retrieved - definitions follow

151

word database name - text follows

250

ok (optional timing information here)

560)

Definitions returned with response code 151 are captured and stored in the AResults. See Also TIdDICT.Define TIdDefinitions ( TIdDefinition (

550) 548)

TIdDICT.Define Method (String, TIdDefinitions, Boolean) Retrieves definitions from the DICT server. Pascal procedure Define( const AWord: String; AResults: TIdDefinitions; const AGetAll: Boolean = True ); overload; Parameters Parameters

Description

AWord

Word definition to search for in the databases.

AResults

Container for definitions returned by the DICT server.

AGetAll

Indictes if all word matches are included in the results.

Description Define is an overloaded method used to implement the DICT DEFINE command. Define performs a lookup for the definition of the specified word in the databases on the DICT server. AWord indicates the word to lookup in the databases on the DICT server. AResults is the TIdDefinitions (

550) instance used to store definitions retrieved from the DICT server.

AGetAll indicates that all word matches in all databases will be included in the definitions returned to the client. When AGetAll contains False, a single match ( 560) from all databases is returned. Define will normally result in the following status codes being returned to the client:

Code

Description

552

No match (

150

n definitions retrieved - definitions follow

151

word database name - text follows

250

ok (optional timing information here)

560)

Definitions returned with response code 151 are captured and stored in the AResults. See Also TIdDICT.Define Internet Direct (Indy) Version 10.1.5

557

TIdDICT Class

Classes

TIdDefinitions ( TIdDefinition (

550) 548)

TIdDICT.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy frees resources allocated to the SASLMechanisms ( Capabilities ( 565) properties during initialization of the component.

566) and

Destroy calls the inherited method prior to exit. See Also SASLMechanisms (

566) Capabilities (

565)

TIdDICT.DisconnectNotifyPeer Method Close the connection using the QUIT command. Pascal procedure DisconnectNotifyPeer; override; Description DisconnectNotifyPeer is an overridden method in TIdDICT ( 552) used to send the DICT QUIT command and close the connection to the remote server. When the Connected ( 2353) properties contains True, the DICT QUIT command is sent to the server. DisconnectNotifyPeer calls the inherited DisconnectNotifyPeer method prior to exit. See Also Connected (

2353)

TIdDICT.GetDBList Method Gets the list of databases on the DICT server. Pascal procedure GetDBList( ADB: TIdDBList ); Parameters Parameters

Description

ADB

Container for database names found on the DICT server.

Description GetDBList is a procedure used to get the list of databases found on the DICT server. GetDBList sends the DICT SHOW DB command to the server, and captures the returned names and descriptions in the container specified in ADB. See Also TIdDBList ( TIdDBInfo (

558

527) 526)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICT Class

TIdDICT.GetDictInfo Method Retrieve information about a specific database on the DICT server. Pascal procedure GetDictInfo( const ADict: String; AResults: TIdStrings ); Parameters Parameters

Description

ADict

Dictionary name for the request.

AResults

Stores information about the requeste dictionary.

Description GetDictInfo is a procedure used to retrieve information about the database specified in ADict. GetDictInfo sends the DICT SHOW INFO command using the value in ADict as an argument. GetDictInfo captures the information returned for the database in the AResults parameter variable. The data normally includes source, copyright, and licensing information about the specified database. The information is free-form text and is suitable for display to the user in the same manner as a definition. The textual body of the information is terminated with a CRLF period CRLF sequence. Use Server (

566) or GetSvrInfo (

559) to get information about the DICT server.

See Also GetSvrInfo ( Server (

559)

566)

TIdDICT.GetStrategyList Method Retrieves the list of search strategies supported on the DICT server. Pascal procedure GetStrategyList( AStrats: TIdStrategyList ); Parameters Parameters

Description

AStrats

Container for the search strategies supported on the DICT server.

Description GetStrategyList is a procedure used to retrieve the list of search strategies supported on the DICT server. GetStrategyList sends the DICT SHOW STRAT command, and captures the textual body of the strategy list in the AStrats parameter variable. See Also TIdStrategyList (

2255) TIdStrategy (

2255)

TIdDICT.GetSvrInfo Method Retrieves information about the DICT server. Pascal procedure GetSvrInfo( AResults: TIdStrings Internet Direct (Indy) Version 10.1.5

559

TIdDICT Class

Classes

); Parameters Parameters

Description

AResults

Storage for information about the DICT server.

Description GetSvrInfo is a procedure used to retrieve server information create ( 267) by the local administrator for the DICT server. This information could include information about local databases or strategies, or administrative information such as who to contact for access to databases requiring authentication. GetSvrInfo send the DICT SHOW SERVER command, and captures the textual response in the AResults parameter variable. Use GetDBInfo or GetDictInfo ( Use Server (

559) to retrieve information about databases or dictionaries on the DICT server.

566) to check the server identification string captured during Connect (

555).

See Also GetDBInfo GetDictInfo ( Server (

559)

566)

TIdDICT.Match Method Overload List Method

Description

TIdDICT.Match (String, String, String, Searches a dictionary index for words that match the specified criteria. TIdMatchList) ( 560) TIdDICT.Match (String, TIdMatchList, Boolean) ( 561)

String, Searches a dictionary index for words that match the specified criteria.

TIdDICT.Match (String, TIdMatchList, Searches a dictionary index for words that match the specified criteria. Boolean) ( 563)

TIdDICT.Match Method (String, String, String, TIdMatchList) Searches a dictionary index for words that match the specified criteria. Pascal procedure Match( const AWord: String; const ADBName: String; const AStrat: String; AResults: TIdMatchList ); overload; Parameters Parameters

Description

AWord

Word to match in the selected database.

ADBName

Database to search for word matches.

AStrat

Search strategy for the matches.

AResults

Container for matches found in the dictionary indices.

Description Match is an overloaded method used to search an index for a dictionary on the DICT server, and reports words found using a particular search strategy. Not all strategies are useful for all dictionaries, and some dictionaries may support additional search strategies (e.g., reverse lookup). Match sends the DICT MATCH command using the provided arguments.

560

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICT Class

AWord indictes the word to match, and is used relative to the search strategy. AResults is the container for the word matches found using a given search strategy. All DICT servers implement the MATCH command, and must support the "exact" and "prefix" strategies. These are easy to implement and are generally the most useful. Other strategies are server dependent. The "exact" strategy matches a word exactly, although different servers may treat non-alphanumeric data differently. Case-insensitive comparison which ignores non-alphanumeric characters and which folds whitespace is useful for English-language dictionaries. Other comparisons may be more appropriate for other languages or when using extended character sets. The "prefix" strategy is similar to "exact", except that it only compares the first part of the word. Different servers may implement these algorithms differently. The requirement is that strategies with the names "exact" and "prefix" exist so that a simple client can use them. Other strategies that might be considered by a server implementor are matches based on substring, suffix, regular expressions, soundex [KNUTH73], and Levenshtein [PZ85] algorithms. These last two are especially useful for correcting spelling errors. Other useful strategies perform some sort of "reverse" lookup (i.e., by searching definitions to find the word that the query suggests). If the database name is specified with an exclamation point (decimal code 33, "!"), then all of the databases will be searched until a match is found, and all matches in that database will be displayed. If the database name is specified with a star (decimal code 42, "*"), then all of the matches in all available databases will be displayed. In both of these special cases, the databases will be searched in the same order as that printed by the "SHOW DB" command. If the strategy is specified using a period (decimal code 46, "."), then the word will be matched using a server-dependent default strategy, which should be the best strategy available for interactive spell checking. This is usually a derivative of the Levenshtein algorithm [PZ85]. Match sends the DICT MATCH command using the values indicated in ADBName, AStrat, and AWord as arguments. If no matches are found in any of the searched databases, then status code 552 will be returned. Otherwise, status code 152 will be returned followed by a list of matched words in AResults. This makes the responses directly useful in a DEFINE command. Following the list, status code 250 is sent, which may include server-specific timing and statistical information, as discussed in the section on the DEFINE command.

Responses

Rsp

Meaning

550

Invalid database, use "SHOW DB" for list of databases

551

Invalid strategy, use "SHOW STRAT" for a list of strategies

552

No match

152

n matches found - text follows

250

ok (optional timing information here)

See Also TIdDICT.Match TIdMatchList (

1519)

TIdDICT.Match Method (String, String, TIdMatchList, Boolean) Searches a dictionary index for words that match the specified criteria. Pascal procedure Match( Internet Direct (Indy) Version 10.1.5

561

TIdDICT Class

Classes

const AWord: String; const AStrat: String; AResults: TIdMatchList; const AGetAll: Boolean = True ); overload; Parameters Parameters

Description

AWord

Word to match in the selected database.

AStrat

Search strategy for the matches.

AResults

Container for matches found in the dictionary indices.

AGetAll

Indicates is all matches are included, or one match per database.

Description Match is an overloaded method used to search an index for a dictionary on the DICT server, and reports words found using a particular search strategy. Not all strategies are useful for all dictionaries, and some dictionaries may support additional search strategies (e.g., reverse lookup). Match sends the DICT MATCH command using the provided arguments. AWord indictes the word to match, and is used relative to the search strategy. AResults is the container for the word matches found using a given search strategy. All DICT servers implement the MATCH command, and must support the "exact" and "prefix" strategies. These are easy to implement and are generally the most useful. Other strategies are server dependent. The "exact" strategy matches a word exactly, although different servers may treat non-alphanumeric data differently. Case-insensitive comparison which ignores non-alphanumeric characters and which folds whitespace is useful for English-language dictionaries. Other comparisons may be more appropriate for other languages or when using extended character sets. The "prefix" strategy is similar to "exact", except that it only compares the first part of the word. Different servers may implement these algorithms differently. The requirement is that strategies with the names "exact" and "prefix" exist so that a simple client can use them. Other strategies that might be considered by a server implementor are matches based on substring, suffix, regular expressions, soundex [KNUTH73], and Levenshtein [PZ85] algorithms. These last two are especially useful for correcting spelling errors. Other useful strategies perform some sort of "reverse" lookup (i.e., by searching definitions to find the word that the query suggests). If the database name is specified with an exclamation point (decimal code 33, "!"), then all of the databases will be searched until a match is found, and all matches in that database will be displayed. If the database name is specified with a star (decimal code 42, "*"), then all of the matches in all available databases will be displayed. In both of these special cases, the databases will be searched in the same order as that printed by the "SHOW DB" command. If the strategy is specified using a period (decimal code 46, "."), then the word will be matched using a server-dependent default strategy, which should be the best strategy available for interactive spell checking. This is usually a derivative of the Levenshtein algorithm [PZ85]. Match sends the DICT MATCH command using the values indicated in AWord using the server-dependent default strategy. When AGetAll is True, all availble matched are requested. When AGetAll is False, only one match per database is requested. If no matches are found in any of the searched databases, then status code 552 will be returned. Otherwise, status code 152 will be returned followed by a list of matched words in AResults. This makes the responses directly useful in a DEFINE command. Following the list, status code 250 is sent, which may include server-specific timing and statistical information, as discussed in the section on the DEFINE command.

Responses

562

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICT Class

Rsp

Meaning

550

Invalid database, use "SHOW DB" for list of databases

551

Invalid strategy, use "SHOW STRAT" for a list of strategies

552

No match

152

n matches found - text follows

250

ok (optional timing information here)

See Also TIdDICT.Match TIdMatchList (

1519)

TIdDICT.Match Method (String, TIdMatchList, Boolean) Searches a dictionary index for words that match the specified criteria. Pascal procedure Match( const AWord: String; AResults: TIdMatchList; const AGetAll: Boolean = True ); overload; Parameters Parameters

Description

AWord

Word to match in the selected database.

AResults

Container for matches found in the dictionary indices.

AGetAll

Indicates is all matches are included, or one match per database.

Description Match is an overloaded method used to search an index for a dictionary on the DICT server, and reports words found using a particular search strategy. Not all strategies are useful for all dictionaries, and some dictionaries may support additional search strategies (e.g., reverse lookup). Match sends the DICT MATCH command using the provided arguments. AWord indictes the word to match, and is used relative to the search strategy. AResults is the container for the word matches found using a given search strategy. All DICT servers implement the MATCH command, and must support the "exact" and "prefix" strategies. These are easy to implement and are generally the most useful. Other strategies are server dependent. The "exact" strategy matches a word exactly, although different servers may treat non-alphanumeric data differently. Case-insensitive comparison which ignores non-alphanumeric characters and which folds whitespace is useful for English-language dictionaries. Other comparisons may be more appropriate for other languages or when using extended character sets. The "prefix" strategy is similar to "exact", except that it only compares the first part of the word. Different servers may implement these algorithms differently. The requirement is that strategies with the names "exact" and "prefix" exist so that a simple client can use them. Other strategies that might be considered by a server implementor are matches based on substring, suffix, regular expressions, soundex [KNUTH73], and Levenshtein [PZ85] algorithms. These last two are especially useful for correcting spelling errors. Other useful strategies perform some sort of "reverse" lookup (i.e., by searching definitions to find the word that the query suggests). If the database name is specified with an exclamation point (decimal code 33, "!"), then all of the databases will be searched until a match is found, and all matches in that database will be displayed. If the database name is specified with a star (decimal code 42, "*"), then all of the matches in all available databases will be displayed. In both of these special cases, the databases will be searched in the same order as that printed by the "SHOW DB" command.

Internet Direct (Indy) Version 10.1.5

563

TIdDICT Class

Classes

If the strategy is specified using a period (decimal code 46, "."), then the word will be matched using a server-dependent default strategy, which should be the best strategy available for interactive spell checking. This is usually a derivative of the Levenshtein algorithm [PZ85]. Match sends the DICT MATCH command using the values indicated in AWord using the server-dependent default strategy. When AGetAll is True, all availble matched are requested. When AGetAll is False, only one match per database is requested. If no matches are found in any of the searched databases, then status code 552 will be returned. Otherwise, status code 152 will be returned followed by a list of matched words in AResults. This makes the responses directly useful in a DEFINE command. Following the list, status code 250 is sent, which may include server-specific timing and statistical information, as discussed in the section on the DEFINE command.

Responses

Rsp

Meaning

550

Invalid database, use "SHOW DB" for list of databases

551

Invalid strategy, use "SHOW STRAT" for a list of strategies

552

No match

152

n matches found - text follows

250

ok (optional timing information here)

See Also TIdDICT.Match TIdMatchList (

1519)

TIdDICT Properties The Properties of the TIdDICT class are listed here. Properties Property

Description

AuthType (

564)

Capabilities ( Client (

565)

Password ( Port (

Indicates the authentication mechanism used for the client. 565)

Indicates the features supported on the DICT server. Provides information about the client to the server for logging and statistical purposes.

565)

Authentication credentials provided during authentication for the client.

566)

Port number for the connection to the remote server.

SASLMechanisms (

566)

Simple Authentication and Security Layer mechanisms available for the client connection.

Server (

566)

Server identification.

TryMIME (

566)

Indicates if the DICT OPTION MIME command is used for the client connection.

Username (

567)

Authentication identity provided during authentication for the client.

Legend Property read only

TIdDICT.AuthType Property Indicates the authentication mechanism used for the client.

564

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICT Class

Pascal property AuthType: TIdDICTAuthenticationType; Description AuthType is a TIdDICTAuthenticationType ( in the Connect ( 555) method.

2948) property that indicates the mechanism to use when performing authentication

The default value for AuthType is DICT_AUTHDEF ( 3201) and cause the DICT AUTH command to be used for authenticating the Username ( 567) and Password ( 565) for the client. atDefault involves creating the MD5 hash value sent in the AUTH command. Use Capabilities (

565) to determine the SASL authentication mechanisms supported on the DICT server for the client connection.

TIdDICT.Capabilities Property Indicates the features supported on the DICT server. Pascal property Capabilities: TIdStrings; Description Capabilities is a read-only TIdStrings ( 3089) property that represents the features supported on the DICT server for the client connection. Capabilities is updated in the Connect ( 555) method using the values returned as a greeting from the DICT server. See Also Connect (

555)

TIdDICT.Client Property Provides information about the client to the server for logging and statistical purposes. Pascal property Client: String; Description Client is a String property that allows the client to provide information about itself to the server for logging and statistical purposes. Client used in the Connect ( 555) method when the DICT CLIENT command is sent after establishing the connection to the remote server identified in Host ( 2337) and Port ( 566). See Also Connect (

555)

TIdDICT.Password Property Authentication credentials provided during authentication for the client. Pascal property Password; Description Password is a published property in TIdDICT ( for the client.

552) that represents the authentication credentials provided during authentication

Username ( 567) and Password are provided to the DICT AUTH command or the SASLMechanisms ( depending on the values in AuthType ( 564) and Capabilities ( 565).

566) for the client

See Also Username (

567)

SASLMechanisms (

566)

Internet Direct (Indy) Version 10.1.5

565

TIdDICT Class

Classes

AuthType (

564)

TIdDICT.Port Property Port number for the connection to the remote server. Pascal property Port; Description Port is a Published property in TIdDICT (

552).

The default value for Port is IdPORT_DICT ( Set values in Host (

3966) as assigned during initialization of the component.

2337) and Port prior to calling Connect (

555).

See Also Connect (

555) Host (

2337)

TIdDICT.SASLMechanisms Property Simple Authentication and Security Layer mechanisms available for the client connection. Pascal property SASLMechanisms: TIdSASLEntries; Description SASLMechanisms is a TIdSASLList property that represents a container for the Simple Authentication and Security Layer mechanisms available for the DICT client connection. SASLMechanisms is used in the COnnect method to perform authentication based on the value in AuthType (

564).

See Also TIdSASLList

TIdDICT.Server Property Server identification. Pascal property Server: String; Description Server is a read-only String property that represents the server identification returned in the server greeting in the Connect ( method.

555)

See Also Connect (

555)

TIdDICT.TryMIME Property Indicates if the DICT OPTION MIME command is used for the client connection. Pascal property TryMIME: Boolean; Description TryMIME is a Boolean property that indicates if the DICT OPTION MIME command should be used when establishing the DICT client connection in the Connect ( 555) method. 566

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICTServer Class

When TryMIME contains True and the value "MIME" is stored in the Capabilities ( MIME command is sent to the remote server. The default value for TryMIME is DEF_TRYMIME (

565) for the DICT server, the DICT OPTION

3197) as assigned during initialization of the component.

See Also Capabilities (

565) Connect (

555)

TIdDICT.Username Property Authentication identity provided during authentication for the client. Pascal property Username; Description Username is a published property in TIdDICT ( the client.

552) that represents the authentication identity provided during authentication for

Username and Password ( 565) are provided to the DICT AUTH command or the SASLMechanisms ( depending on the values in AuthType ( 564) and Capabilities ( 565).

566) for the client

See Also Password (

565) SASLMechanisms (

566) AuthType (

564)

TIdDICTServer Class Implements a Dictionary Protocol server for dictionary databases. File IdDICTServer (

4616)

Hierarchy

Pascal TIdDICTServer = class(TIdCmdTCPServer); Description TIdDICTServer is a TIdCmdTCPServer ( 326) descendant that implements a server for the Dictionary Server Protocol, as described in the Internet Standards document: RFC 2229 - A Dictionary Server Protocol The Dictionary Server Protocol (DICT) is a TCP transaction based query/response protocol that allows a client to access dictionary definitions from a set of natural language dictionary databases. TIdDICTServer uses an event-based architecture that provides event handlers for the following DICT protocol commands: TIdDICTServer also provides the OnCommandOther ( protocol extensions.

572) event handler to respond to unknown DICT commands, or DICT

TIdDICTServer does not provide an implementation of the event handlers. The application should assign procedures to the event handlers to respond to event notifications, or the result code 500 with the error message RSCMDNotRecognized will be generated. See Also TIdCmdTCPServer (

326) IndySupport (

Internet Direct (Indy) Version 10.1.5

15)

567

TIdDICTServer Class

Classes

TIdDICTServer Members The following tables list the members exposed by TIdDICTServer. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

Container for socket handles allocated by the server.

CommandHandlers ( ContextClass (

330)

Command handlers used in the server implementation.

461)

Class reference used to create (

267) new executable tasks for client connections to the server.

Contexts (

462)

Executable tasks for client connections to the server.

DefaultPort (

569)

Default port number for the server.

ExceptionReply ( Greeting (

331)

Response code and text used for exceptions occurring in the server.

331)

HelpReply (

"Welcome" message sent to new connections accepted in listener thread(s).

332)

Response sent when the HELP command is issued for a client connection.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

Represents the IOHandler used by listener threads for the server.

465)

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

MaxConnectionReply ( MaxConnections (

332)

OnAfterBind (

466)

OnExecute (

2379)

ReplyTexts (

333)

Indicates the maximum numer of client connections allowed for the server. Event handler signalled after binding socket handles for listener threads. Event handler used to execute the task for a client connection. Represents protocol responses used in the server implementation.

ReplyUnknownCommand ( ReuseSocket ( Scheduler (

333)

466)

Identifies the thread-based or fiber-based scheduler used in the server. 468)

Specifies the time a server should wait while terminating executable tasks for client connections.

269)

WorkTarget (

Represents the response message used for an unkown command. Indicates reuse of local addresses for listener threads.

466)

TerminateWaitTime ( Version (

Response used when the maximum number of client connections is exceeded.

465)

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

330)

Frees the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnAfterCommandHandler (

334)

OnBeforeCommandHandler ( OnBeforeConnect (

468)

OnBeforeListenerRun ( OnCommandAuth ( OnCommandClient ( OnCommandDefine ( OnCommandHelp (

570) 570) 570) 570)

Represents the event handler signalled after CommandHandler usgage. Represents the event handler signalled after CommandHandler usgage. Event handler signalled proper to establishing a client connection to the server. Event handler signalled prior to executing a listener thread. Specifies the DICT AUTH command event handler. Specifies the DICT CLIENT command event handler. Specifies the DICT DEFINE command event handler. Specifies the DICT HELP command event handler.

OnCommandMatch (

571)

Specifies the DICT MATCH command event handler.

OnCommandOption (

571)

Specifies the event handler for the DICT OPTION command.

OnCommandOther (

568

468)

335)

572)

Specifies the command event handler for unknown DICT commands.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDICTServer Class

OnCommandQuit (

572)

OnCommandSASLAuth ( OnCommandShow (

572)

OnCommandStatus ( OnConnect ( OnException (

Specifies the event handler for the DICT SASLAUTH command. Specifies the event handler for the DICT SHOW command.

573)

469)

OnDisconnect (

Specifies the event handler for the DICT STATUS command. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

Event handler for exceptions raised in a peer thread.

OnListenException ( OnStatus (

Specifies the event handler for the DICT QUIT command. 572)

470)

Event handler for an exception in a listener thread.

359)

Represents the current connection status event handler.

Legend Property read only Event Method virtual

TIdDICTServer Properties The Properties of the TIdDICTServer class are listed here. Properties Property DefaultPort (

Description 569)

Default port number for the server.

Legend Property

TIdDICTServer.DefaultPort Property Default port number for the server. Pascal property DefaultPort: TIdPort; Description DefaultPort is a published property in TIdDICTServer ( the Dictionary Server Protocol specification. The default value for DefaultPort is IdPORT_DICT (

567) that identifies the default port number for the server, as described in

3966).

TIdDICTServer Events The Events of the TIdDICTServer class are listed here. Events Event OnCommandAuth ( OnCommandClient ( OnCommandDefine ( OnCommandHelp (

Description 570)

Specifies the DICT AUTH command event handler.

570)

Specifies the DICT CLIENT command event handler.

570) 570)

Specifies the DICT DEFINE command event handler. Specifies the DICT HELP command event handler.

OnCommandMatch (

571)

Specifies the DICT MATCH command event handler.

OnCommandOption (

571)

Specifies the event handler for the DICT OPTION command.

OnCommandOther ( OnCommandQuit (

572)

OnCommandSASLAuth ( OnCommandShow ( OnCommandStatus (

Specifies the command event handler for unknown DICT commands.

572)

Specifies the event handler for the DICT QUIT command. 572)

572) 573)

Internet Direct (Indy) Version 10.1.5

Specifies the event handler for the DICT SASLAUTH command. Specifies the event handler for the DICT SHOW command. Specifies the event handler for the DICT STATUS command.

569

TIdDICTServer Class

Classes

Legend Event

TIdDICTServer.OnCommandAuth Event Specifies the DICT AUTH command event handler. Pascal property OnCommandAuth: TIdDICTAuthEvent; Description OnCommandAuth specifies the TIdDICTAuthEvent ( 3018) event handler used to respond to the DICT AUTH command, as described in RFC 2229. The DICT AUTH command allows a client to be authenticated using a user name and an APOP-style MD5 Checksum as described in RFC 1939. Authentication is an optional server capability. The AUTH command may be implemented by a DICT server. Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message:

TIdDICTServer.OnCommandClient Event Specifies the DICT CLIENT command event handler. Pascal property OnCommandClient: TIdDICTShowEvent; Description OnCommandClient specifies the TIdDICTShowEvent ( described in RFC 2229.

3021) event handler used to respond to the DICT CLIENT command, as

The CLIENT command allows the client to provide information about itself for possible logging and statistical purposes. All clients should send this command after connecting to the server. All DICT servers must implement this command, though, the server doesn't have to do anything with the information provided by the client. Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message:

TIdDICTServer.OnCommandDefine Event Specifies the DICT DEFINE command event handler. Pascal property OnCommandDefine: TIdDICTDefineEvent; Description OnCommandDefine specifies the TIdDICTDefineEvent ( described in RFC 2229.

3019) event handler used to respond to the DICT DEFINE command, as

The DICT DEFINE command is used to perform a search for the specified word in the indicated database(s). Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message:

TIdDICTServer.OnCommandHelp Event Specifies the DICT HELP command event handler. Pascal property OnCommandHelp: TIdDICTGetEvent; Description OnCommandHelp specifies the TIdDICTGetEvent ( 570

3019) event handler used to respond to the DICT HELP command, as Internet Direct (Indy) Version 10.1.5

Classes

TIdDICTServer Class

described in RFC 2229. The DICT HELP command provides a short summary of commands that are understood by this implementation of the DICT server. All DICT servers implement the HELP command. Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message: 500 command not recognized

TIdDICTServer.OnCommandMatch Event Specifies the DICT MATCH command event handler. Pascal property OnCommandMatch: TIdDICTMatchEvent; Description OnCommandMatch specifies the TIdDICTMatchEvent ( described in RFC 2229.

3019) event handler used to respond to the DICT MATCH command, as

The DICT MATCH command is used to search the dictionary index and report the words found using a particular strategy. All DICT servers must implement the MATCH command, and must support the "exact" and "prefix" strategies. The "exact" strategy performs a case-insensitive comparison. The "prefix" strategy is similar to "exact", except that it only compares the first part of the word. These strategies are easily implemented and are generally the most useful. Other strategies are server dependent. Other strategies that might be considered are matches based on substring, suffix, regular expressions, soundex [KNUTH73], and Levenshtein [PZ85] algorithms. These last two are especially useful for correcting spelling errors. Other useful strategies perform some sort of "reverse" lookup (i.e., by searching definitions to find the word that the query suggests). Strategy may also contain the special character ".", which indicates that the server should use the default strategy for that server. This is usually a derivative of the Levenshtein algorithm [PZ85]. Database contains the name of the database to be searched, in a form returned by SHOW DB, or one the following wildcard characters:

• "!" - Search all databases until a match is found. • "* " - Search for all matches in the current database. Applications should assign a procedure to the event handler in order to respond to the DICT command, or the server will return the default message: 500 command not recognized

TIdDICTServer.OnCommandOption Event Specifies the event handler for the DICT OPTION command. Pascal property OnCommandOption: TIdDICTOtherEvent; Description TIdDICTServer ( 567) uses the OnCommandOption event handler to respond to the DICT OPTION command, which informs the server that the client wishes to utilize one of the defined protocol options. At the current time, OPTION MIME is the only recognized option. In the future, standard extensions to this protocol should be proposed which allow the client to request certain content types or encodings. OPTION MIME requests that all text responses be prefaced by a MIME header, as described in RFC2045, and followed by a single blank line (CRLF). If a client requests this option, then the client MUST be able to parse Content-Type and Content-transfer-encoding headers, and MUST be able to ignore textual responses which have an unsupported content or Internet Direct (Indy) Version 10.1.5

571

TIdDICTServer Class

Classes

encoding. A client MUST support the UTF-8 encoding described in RFC2044. OPTION MIME is a REQUIRED server capability, and all DICT servers MUST implement this command.

TIdDICTServer.OnCommandOther Event Specifies the command event handler for unknown DICT commands. Pascal property OnCommandOther: TIdDICTOtherEvent; Description OnCommandOther specifies the event type for unrecognized DICT commands, and allows the server to respond to DICT extensions or provide default error handling by using the event handler mechanism.

TIdDICTServer.OnCommandQuit Event Specifies the event handler for the DICT QUIT command. Pascal property OnCommandQuit: TIdDICTGetEvent; Description TIdDICTServer ( 567) uses the OnCommandQuit event handler to respond to the DICT QUIT command, which informs the server that the client wishes to close the connection to the DICT server. The DICT server must implement the QUIT command.

TIdDICTServer.OnCommandSASLAuth Event Specifies the event handler for the DICT SASLAUTH command. Pascal property OnCommandSASLAuth: TIdDICTAuthEvent; Description TIdDICTAuthEvent ( 3018) specifies the event type for the DICT SASLAUTH command, and is used by the TIdDICTServer ( 567) OnCommandSASLAuth event handler to perform user authentication. OnCommandSASLAuth must provide, as parameters, the name of the user to be authenticated, and the BASE64-encoded initial SASL response as described in RFC 2045. All responses to the SASLAUTH server challenge should use the SASLRESP command and a BASE64-encoded parameter. Authentication is an optional server capability. The SASLAUTH command may be implemented by a DICT server.

TIdDICTServer.OnCommandShow Event Specifies the event handler for the DICT SHOW command. Pascal property OnCommandShow: TIdDICTShowEvent; Description OnCommandShow specifies the event handler for the DICT SHOW command, and is used by the TIdDICTServer ( implement the DICT command.

567) to

OnCommandShow must provide parameters that indicate the thread of execution performing the command, and the SHOW command parameters to be included in the command execution. The command options include:

572

Internet Direct (Indy) Version 10.1.5

Classes

TIdDigestAuthentication Class

TIdDICTServer.OnCommandStatus Event Specifies the event handler for the DICT STATUS command. Pascal property OnCommandStatus: TIdDICTGetEvent; Description OnCommandStatus specifies the event handler for the DICT STATUS command, and is used by the TIdDICTServer ( implement the DICT command.

567) to

The STATUS command returns server-specific timing or debugging information. This information may be useful in debugging or tuning a DICT server. All DICT servers MUST implement this command, although the text part of the response is not specified and may be omitted.

TIdDigestAuthentication Class Implements an HTTP Digest Authentication (

575) scheme.

File IdAuthenticationDigest (

4587)

Hierarchy

Pascal TIdDigestAuthentication = class(TIdAuthentication); Description TIdAuthenticationDigest is a TIDAuthentication ( 253) descendant that implements the HTTP Digest Access Authentication ( 575) Scheme, as described in the Internet Standards documents: RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication TIdAuthenticationDigest extends the ancestor class by providing internal properties and methods needed to create ( message digest returned in the authentication ( 575) string. This is includes values in the format:

255) the

Digest username="jdoe" realm="http://www.domain.com" result="00112233445566778899aabbccddeeff" TIdAuthenticationDigest provides an overridden DoNext method that reads the values for the message digest and stores the arguments in the following internal properties:

Algorithm Domain Nonce Opaque QopOptions Realm Stale An EIdInvalidAlgorithm (

108) will be raised if the Algorithm read for the message digest contains a value other than 'MD5'.

Internet Direct (Indy) Version 10.1.5

573

TIdDigestAuthentication Class

Classes

Exceptions Exceptions

Description

EIdInvalidAlgorithm (

108)

With the message RSHTTPAuthInvalidHash.

See Also TIdHTTP (

1041)

TIdHTTPServer (

1102)

TIdAuthentication (

253)

TIdBasicAuthentication ( EIdInvalidAlgorithm (

275)

108)

RSHTTPAuthInvalidHash IndySupport (

15)

TIdDigestAuthentication Members The following tables list the members exposed by TIdDigestAuthentication. Properties Property

Description

AuthParams (

256)

CurrentStep ( Method (

254) parameters to be used for the process.

Identifies the current task number during authentication (

254) processing.

575)

Params (

257)

Password (

257)

Postbody (

576)

Steps ( Uri (

Represents authentication (

257)

Contains authentication (

254) parameters for the mechanism.

Represents the authorization credentials for the authentication (

257)

Number of tasks required for the authentication (

254) process.

254) process.

576)

Username (

258)

Represents the authorization identity for the authentication (

254) process.

Methods Method

Description

Authentication ( Create (

255)

Destroy (

Frees the object instance.

255)

255)

Reset (

Calculates the Authentication credentials and message digest. Constructor for the object instance.

575)

KeepAlive ( Next (

575)

Indicates that Keep-Alive signals are supported for the authentication ( Identifies the next action in the authentication (

256)

254) mechanism.

254) process.

Clears the number of retries for the authentication (

254) mechanism.

Legend Method virtual abstract Property read only

TIdDigestAuthentication Methods The Methods of the TIdDigestAuthentication class are listed here. Methods Method

Description

Authentication ( Destroy (

574

575)

575)

Calculates the Authentication credentials and message digest. Frees the object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDigestAuthentication Class

Legend Method virtual

TIdDigestAuthentication.Authentication Method Calculates the Authentication credentials and message digest. Pascal function Authentication: String; override; Returns String - Authentication credentials for the user and realm. Description Authentication is an overridden String function in TIdDigestAuthentication ( digest required for the authentication scheme.

573) that returns the credentials and the message

The return value is in the form: Digest username="jdoe" realm="http://www.domain.com" result="00112233445566778899aabbccddeeff"

TIdDigestAuthentication.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy frees resources allocated to internal member variables like the QOp options and Domain. Destroy calls the inherited Destroy destructor prior to exiting from the method. See Also Authentication (

575)

TIdDigestAuthentication Properties The Properties of the TIdDigestAuthentication class are listed here. Properties Property

Description

Method ( Postbody ( Uri (

575) 576)

576)

Legend Property

TIdDigestAuthentication.Method Property Pascal property Method: String; Description Method is a String property. Internet Direct (Indy) Version 10.1.5

575

TIdDISCARDServer Class

Classes

TIdDigestAuthentication.Postbody Property Pascal property Postbody: TIdStringList; Description Postbody is a TIdStringList (

3088) property.

TIdDigestAuthentication.Uri Property Pascal property Uri: String; Description Uri is a String property.

TIdDISCARDServer Class Implements a Discard Protocol server. File IdDiscardServer (

4616)

Hierarchy

Pascal TIdDISCARDServer = class(TIdCustomTCPServer); Description TIdDISCARDServer is a TIdTCPServer ( 2375) descendant that implements a TCP-based server for the Discard Protocol, as described in the Internet Standards document: RFC 863 - Discard Protocol TIdDISCARDServer is a useful debugging and measurement protocol where the data sent to the server is simply discarded. TIdDISCARDServer provides a default implementation that accepts threaded client connections, reads the connection for the TIdPeerThread to determine it's InputBuffer contents, and discards the values. The threaded client connection automatically terminates after reading the InputBuffer. See Also TIdDiscardUDPServer ( TIdTCPServer ( TIdContext (

578)

2375)

376)

TIdDISCARDServer Members The following tables list the members exposed by TIdDISCARDServer. Properties Property Active ( Bindings (

576

Description 458) 461)

Indicates if the server is running and listening for client connections. Container for socket handles allocated by the server.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDISCARDServer Class

ContextClass (

461)

Contexts (

462)

DefaultPort (

577)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Default port number used for client connections.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

MaxConnections ( OnAfterBind (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

Indicates the maximum numer of client connections allowed for the server.

466)

ReuseSocket ( Scheduler (

Represents the IOHandler used by listener threads for the server.

465)

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

269)

WorkTarget (

Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

469)

OnDisconnect ( OnException (

Event handler signalled proper to establishing a client connection to the server. Event handler signalled prior to executing a listener thread. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnStatus (

468)

Event handler for exceptions raised in a peer thread. 470)

359)

Event handler for an exception in a listener thread. Represents the current connection status event handler.

Legend Property read only Method virtual Event

TIdDISCARDServer Properties The Properties of the TIdDISCARDServer class are listed here. Properties Property DefaultPort (

Description 577)

Default port number used for client connections.

Legend Property

TIdDISCARDServer.DefaultPort Property Default port number used for client connections. Internet Direct (Indy) Version 10.1.5

577

TIdDiscardUDPServer Class

Classes

Pascal property DefaultPort: TIdPort; Description DefaultPort is an Integer property that represents the default port number for listening and accepting client connections to TIdDISCARDServer ( 576). DefaultPort is redefined in TIdDISCARDServer ( of the component.

576), and the value IdPORT_DISCARD (

3969) is assigned during initialization

See Also IdPORT_DISCARD (

3969)

TIdDiscardUDPServer Class Implements a UDP-based Discard Protocol server. File IdDiscardUDPServer (

4617)

Hierarchy

Pascal TIdDiscardUDPServer = class(TIdUDPServer); Description TIdDiscardUDPServer is a TIdUDPServer ( 2530) descendant that implements a UDP-based server for the Discard Protocol, as described in the Internet Standards document: RFC 863 - Discard Protocol TIdDiscardUDPServer is a useful debugging and measurement protocol where the data sent to the server is simply discarded. TIdDISCARDServer ( 576) provides a default implementation that accepts threaded client connections, reads the connection for the TIdPeerThread to determine it's InputBuffer contents, and discards the values. The threaded client connection automatically terminates after reading the InputBuffer. See Also TIdUDPServer ( TIdContext (

2530)

376)

TIdDiscardUDPServer Members The following tables list the members exposed by TIdDiscardUDPServer. Properties Property Active (

Description 2507)

Binding ( Bindings (

DefaultPort ( IPVersion (

Socket handles allocated by the server. 2508)

2508)

Indicates that the socket binding can perform broadcast (

2500) transmissions.

Specifies the largest UDP packet size.

579)

Default port number used to listen for client sessions.

2509)

ReceiveTimeout (

578

Socket handle for the read or write transaction.

2532)

BroadcastEnabled ( BufferSize (

Indicates that the socket binding has been allocated for the UDP client.

2508)

Identifies the IP address family supported for the UDP protocol client. 2509)

Indicates the timeout while waiting for a readable socket handle.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDiscardUDPServer Class

ThreadedEvent ( Version (

2533)

269)

WorkTarget (

Indicates the method used to perform the UDP read events. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Broadcast ( Create (

356)

2500)

Triggers the OnBeginWork event. Send (

267)

2505) data to all computers on the network.

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

2501)

Frees the object instance.

Destroy (

2532)

Destructor for the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( Send ( CType (

Triggers the OnEndWork event handler.

269)

Version (

2505)

269) number for Indy component suite.

Transmits a datagram to a specified host and port number.

267)

Create (

1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

Events Event OnStatus (

Description 359)

OnUDPException ( OnUDPRead (

Represents the current connection status event handler. 2534)

2534)

Event handler for exceptions raised in the listener thread for the UDP server. Event handler for UDP read events.

Legend Property read only Method virtual Event

TIdDiscardUDPServer Properties The Properties of the TIdDiscardUDPServer class are listed here. Properties Property DefaultPort (

Description 579)

Default port number used to listen for client sessions.

Legend Property

TIdDiscardUDPServer.DefaultPort Property Default port number used to listen for client sessions. Pascal property DefaultPort: integer; Description DefaultPort is an Integer property that represents the default port number for listening and accepting client sessions on the Discard server. DefaultPort is redefined in TIdDiscardUDPServer ( initialization of the component. Internet Direct (Indy) Version 10.1.5

578), and the value IdPORT_DISCARD (

3969) is assigned during

579

TIdDistinctTCPIPFTPListItem Class

Classes

See Also IdPORT_DISCARD (

3969)

TIdDistinctTCPIPFTPListItem Class File IdFTPListParseDistinctTCPIP (

4637)

Hierarchy

Pascal TIdDistinctTCPIPFTPListItem = class(TIdDOSBaseFTPListItem); Description TIdDistinctTCPIPFTPListItem is a TIdDOSBaseFTPListItem (

627) descendant.

See Also TIdDOSBaseFTPListItem (

627)

TIdDistinctTCPIPFTPListItem Members The following tables list the members exposed by TIdDistinctTCPIPFTPListItem. Properties Property

Description

Attributes ( Data (

629)

Represents MS DOS file attributes for a file or directory entry in a FTP directory listing.

855)

Data from a directory listing response used to populate properties in the collection item.

Dist32FileAttributes ( FileName (

855)

ItemType (

855)

LocalFileName (

581) Name for a file as assigned on the remote FTP server. Indicates the type of item represented by the collection entry.

855)

ModifiedAvail (

856)

ModifiedDate (

856)

Indicates if last modification date and time values are available for the collection item. Last modification date and time for the resource on the remote FTP server.

ModifiedDateGMT (

581)

PermissionDisplay (

856)

Size (

857)

SizeAvail (

Suggested file name to used for the local file system.

User-displayable representation of permissions for the collection item. Indicates the allocated size for the file resource on the remote FTP server.

857)

Indicates if file size information is available in the Size (

857) property for the collection item.

Methods Method

Description

Assign (

853)

Copies property values from another structured directory listing entry.

Create (

628)

Constructor for the collection item.

Create (

853)

Constructor for the collection item.

Destroy (

628)

Frees the collection item.

Destroy (

854)

Frees the collection item.

Legend Property Method virtual

580

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNS_ProcessThread Class

TIdDistinctTCPIPFTPListItem Properties The Properties of the TIdDistinctTCPIPFTPListItem class are listed here. Properties Property

Description

Dist32FileAttributes ( ModifiedDateGMT (

581) 581)

Legend Property

TIdDistinctTCPIPFTPListItem.Dist32FileAttributes Property Pascal property Dist32FileAttributes: string; Description Dist32FileAttributes is a Public string property. Write access for the property is implemented using FDist32FileAttributes.

TIdDistinctTCPIPFTPListItem.ModifiedDateGMT Property Pascal property ModifiedDateGMT; Description ModifiedDateGMT is a Public property.

TIdDNS_ProcessThread Class File IdDNSServer (

4621)

Hierarchy

Pascal TIdDNS_ProcessThread = class(TIdThread); Description TIdDNS_ProcessThread is a TIdThread (

2415) descendant.

See Also TIdThread (

2415)

TIdDNS_ProcessThread Members The following tables list the members exposed by TIdDNS_ProcessThread. Properties Property Data (

Description 2422)

Internet Direct (Indy) Version 10.1.5

Storage slot for data used by a thread.

581

TIdDNS_ProcessThread Class Loop (

2422)

MyBinding ( MyData ( Name (

Indicates if the thread is Run continuously until Stopped (

583) 2422)

Server (

2423).

583)

ReturnValue (

Name assigned to the thread during execution. 2423)

Return value from execution of the thread.

584)

StopMode (

2423)

Stopped (

2423)

Terminated (

2424)

TerminatingException (

Determines the action taken when the Stop (

2420) method is called.

Indicates when a thread is terminated or suspended. Indicates if the thread has been halted by calling Terminate ( 2424)

TerminatingExceptionClass ( Yarn (

Classes

2424)

2425)

2421).

Contains the text of an Exception.Message raised within the Execute method. Represents the class type for an exception raised during Execute. Represents the thread or fiber for the scheduler of the thread.

Methods Method Create (

Description 582)

Destroy (

583)

Start (

2419)

Starts or resumes execution of a thread.

Stop (

2420)

Halts execution of the thread instance.

Synchronize (

2420)

Terminate (

2421)

TerminateAndWaitFor (

Executes a thread method synchronized to the main VCL thread. Forces the thread of execution to be halted. 2421)

Signals a thread to terminate (

2421) and waits for completion of the Execute method.

Events Event

Description

OnException (

2425)

OnStopped (

2426)

Handles exceptions raised in the thread of execution. Represents an event handler signalled when stopping a thread of execution.

Legend Constructor virtual Property read only Event

TIdDNS_ProcessThread Methods The Methods of the TIdDNS_ProcessThread class are listed here. Methods Method Create (

Description 582)

Destroy (

583)

Legend Constructor virtual

TIdDNS_ProcessThread.Create Constructor Pascal constructor Create( ACreateSuspended: Boolean = True; Data: String = ''; DataSize: integer = 0; MainBinding: TIdSocketHandle = nil; Binding: TIdSocketHandle = nil; Server: TIdDNS_UDPServer = nil ); overload; reintroduce;

582

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNS_ProcessThread Class

Parameters Parameters

Description

ACreateSuspended

Type is Boolean. Default value is True.

Data

Type is String. Default value is ''.

DataSize

Type is integer. Default value is 0.

MainBinding

Type is TIdSocketHandle (

2071). Default value is nil.

Binding

Type is TIdSocketHandle (

2071). Default value is nil.

Server

Type is TIdDNS_UDPServer (

586). Default value is nil.

Description Create is a reintroduced,overloaded constructor for the object instance. See Also TIdDNS_ProcessThread.Create

TIdDNS_ProcessThread.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdDNS_ProcessThread Properties The Properties of the TIdDNS_ProcessThread class are listed here. Properties Property

Description

MyBinding ( MyData ( Server (

583)

583) 584)

Legend Property

TIdDNS_ProcessThread.MyBinding Property Pascal property MyBinding: TIdSocketHandle; Description MyBinding is a Public TIdSocketHandle (

2071) property. Write access for the property is implemented using SetMyBinding.

TIdDNS_ProcessThread.MyData Property Pascal property MyData: TIdStream; Description MyData is a Public TIdStream (

Internet Direct (Indy) Version 10.1.5

3087) property. Write access for the property is implemented using SetMyData.

583

TIdDNS_TCPServer Class

Classes

TIdDNS_ProcessThread.Server Property Pascal property Server: TIdDNS_UDPServer; Description Server is a Public TIdDNS_UDPServer (

586) property. Write access for the property is implemented using SetServer.

TIdDNS_TCPServer Class File IdDNSServer (

4621)

Hierarchy

Pascal TIdDNS_TCPServer = class(TIdCustomTCPServer); Description TIdDNS_TCPServer is a TIdCustomTCPServer (

453) descendant.

See Also TIdCustomTCPServer (

453)

TIdDNS_TCPServer Members The following tables list the members exposed by TIdDNS_TCPServer. Properties Property

Description

AccessControl ( AccessList ( Active (

586)

586)

458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

462)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Identifies the default port number used to listen for new connections.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

MaxConnections ( OnAfterBind (

Indicates reuse of local addresses for listener threads.

466) 269)

WorkTarget (

359)

Indicates the maximum numer of client connections allowed for the server. Event handler signalled after binding socket handles for listener threads.

466)

TerminateWaitTime ( Version (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

466)

ReuseSocket ( Scheduler (

Represents the IOHandler used by listener threads for the server.

465)

Identifies the thread-based or fiber-based scheduler used in the server. 468)

Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method BeginWork (

584

Description 356)

Triggers the OnBeginWork event.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNS_TCPServer Class

Create (

267)

Constructor for the object instance.

Destroy (

585)

DoWork (

357)

EndWork ( GetVersion ( CType (

Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

469)

OnDisconnect ( OnException (

Event handler signalled proper to establishing a client connection to the server. Event handler signalled prior to executing a listener thread. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnStatus (

468)

Event handler for exceptions raised in a peer thread. 470)

359)

Event handler for an exception in a listener thread. Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdDNS_TCPServer Methods The Methods of the TIdDNS_TCPServer class are listed here. Methods Method Destroy (

Description 585)

Legend Destructor virtual

TIdDNS_TCPServer.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdDNS_TCPServer Properties The Properties of the TIdDNS_TCPServer class are listed here. Properties Property

Description

AccessControl ( AccessList (

586)

586)

Legend Property

Internet Direct (Indy) Version 10.1.5

585

TIdDNS_UDPServer Class

Classes

TIdDNS_TCPServer.AccessControl Property Pascal property AccessControl: boolean; Description AccessControl is a Published boolean property. Write access for the property is implemented using FAccessControl.

TIdDNS_TCPServer.AccessList Property Pascal property AccessList: TIdStrings; Description AccessList is a Published TIdStrings (

3089) property. Write access for the property is implemented using SetAccessList.

TIdDNS_UDPServer Class File IdDNSServer (

4621)

Hierarchy

Pascal TIdDNS_UDPServer = class(TIdUDPServer); Description TIdDNS_UDPServer is a TIdUDPServer (

2530) descendant.

See Also TIdUDPServer (

2530)

TIdDNS_UDPServer Members The following tables list the members exposed by TIdDNS_UDPServer. Properties Property Active (

Description 2507)

Indicates that the socket binding has been allocated for the UDP client.

AutoLoadMasterFile ( Binding (

2508)

Bindings (

Socket handle for the read or write transaction.

2532)

Socket handles allocated by the server.

BroadcastEnabled ( BufferSize ( Busy (

2508)

2508)

Indicates that the socket binding can perform broadcast (

2500) transmissions.

Specifies the largest UDP packet size.

592)

Cached_Tree (

592)

CacheUnknowZone ( DefaultPort (

592)

593)

DNSVersion (

593)

GlobalCS (

593)

Handed_DomainList ( Handed_Tree (

586

592)

593)

593)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNS_UDPServer Class

IPVersion (

2509)

Identifies the IP address family supported for the UDP protocol client.

offerDNSVersion (

593)

ReceiveTimeout (

2509)

RootDNS_NET (

593)

ThreadedEvent (

2533)

Version (

Indicates the timeout while waiting for a readable socket handle. Indicates the method used to perform the UDP read events.

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

ZoneMasterFiles (

Indy component to receive work mode events for the current object instance. 594)

Methods Method AXFR (

Description 588)

BeginWork ( Broadcast (

356)

CompleteQuery ( Create (

Triggers the OnBeginWork event.

2500)

Send (

267)

Constructor for the object instance.

Destroy (

589)

DoWork (

357)

EndWork (

Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

FindHandedNodeByName ( FindNodeFullName ( GetVersion (

589) Version (

LoadZoneStrings ( SearchTree ( CType (

589)

269)

LoadZoneFromMasterFile (

Send (

2505) data to all computers on the network.

588)

269) number for Indy component suite.

590)

590)

590)

2505)

Transmits a datagram to a specified host and port number.

267)

UpdateTree ( Create (

591) 1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

Events Event

Description

OnAfterCacheSaved ( OnAfterQuery (

594)

OnAfterSendBack ( OnBeforeQuery ( OnStatus (

594) 594)

595)

359)

Represents the current connection status event handler.

OnUDPException ( OnUDPRead (

2534)

2534)

Event handler for exceptions raised in the listener thread for the UDP server. Event handler for UDP read events.

Legend Method virtual Property read only Event

TIdDNS_UDPServer Methods The Methods of the TIdDNS_UDPServer class are listed here. Methods Method AXFR (

Description 588)

CompleteQuery ( Destroy (

588)

589)

Internet Direct (Indy) Version 10.1.5

587

TIdDNS_UDPServer Class FindHandedNodeByName ( FindNodeFullName (

SearchTree (

590)

UpdateTree (

591)

589)

589)

LoadZoneFromMasterFile ( LoadZoneStrings (

Classes

590)

590)

Legend Method virtual

TIdDNS_UDPServer.AXFR Method Pascal function AXFR( Header: TDNSHeader; Question: string; var Answer: TIdBytes ): string; Parameters Parameters

Description

Header

Type is TDNSHeader (

Question

Type is string.

Answer

Scope is var. Type is TIdBytes (

198). 3007).

Returns string Description AXFR is a method. AXFR returns a string value.

TIdDNS_UDPServer.CompleteQuery Method Pascal function CompleteQuery( DNSHeader: TDNSHeader; Question: string; OriginalQuestion: TIdBytes; var Answer: TIdBytes; QType: word; QClass: word; DNSResolver: TIdDNSResolver ): string; Parameters Parameters

Description

DNSHeader

Type is TDNSHeader (

Question

Type is string.

OriginalQuestion

Type is TIdBytes (

Answer

Scope is var. Type is TIdBytes (

QType

Type is word.

QClass

Type is word.

DNSResolver

Type is TIdDNSResolver (

198).

3007). 3007).

600).

Returns string

588

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNS_UDPServer Class

Description CompleteQuery is a method. CompleteQuery returns a string value.

TIdDNS_UDPServer.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdDNS_UDPServer.FindHandedNodeByName Method Pascal function FindHandedNodeByName( QName: String; QType: Word ): TIdDNTreeNode; Parameters Parameters

Description

QName

Type is String.

QType

Type is Word.

Returns TIdDNTreeNode (

612)

Description FindHandedNodeByName is a method. FindHandedNodeByName returns a TIdDNTreeNode (

612) value.

TIdDNS_UDPServer.FindNodeFullName Method Pascal function FindNodeFullName( Root: TIdDNTreeNode; QName: String; QType: Word ): string; Parameters Parameters

Description

Root

Type is TIdDNTreeNode (

QName

Type is String.

QType

Type is Word.

612).

Returns string Description FindNodeFullName is a method. FindNodeFullName returns a string value.

Internet Direct (Indy) Version 10.1.5

589

TIdDNS_UDPServer Class

Classes

TIdDNS_UDPServer.LoadZoneFromMasterFile Method Pascal function LoadZoneFromMasterFile( MasterFileName: String ): boolean; Parameters Parameters

Description

MasterFileName

Type is String.

Returns boolean Description LoadZoneFromMasterFile is a method. LoadZoneFromMasterFile returns a boolean value.

TIdDNS_UDPServer.LoadZoneStrings Method Pascal function LoadZoneStrings( FileStrings: TIdStrings; Filename: String; TreeRoot: TIdDNTreeNode ): boolean; Parameters Parameters

Description

FileStrings

Type is TIdStrings (

Filename

Type is String.

TreeRoot

Type is TIdDNTreeNode (

3089). 612).

Returns boolean Description LoadZoneStrings is a method. LoadZoneStrings returns a boolean value.

TIdDNS_UDPServer.SearchTree Method Pascal function SearchTree( Root: TIdDNTreeNode; QName: String; QType: Word ): TIdDNTreeNode; Parameters Parameters

Description

Root

Type is TIdDNTreeNode (

QName

Type is String.

QType

Type is Word.

612).

Returns TIdDNTreeNode (

590

612)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNS_UDPServer Class

Description SearchTree is a method. SearchTree returns a TIdDNTreeNode (

612) value.

TIdDNS_UDPServer.UpdateTree Method Overload List Method

Description

TIdDNS_UDPServer.UpdateTree (TIdDNTreeNode, TIdTextModeResourceRecord) ( 591) TIdDNS_UDPServer.UpdateTree (TIdDNTreeNode, TResultRecord) ( 591)

TIdDNS_UDPServer.UpdateTree Method (TIdDNTreeNode, TIdTextModeResourceRecord) Pascal procedure UpdateTree( TreeRoot: TIdDNTreeNode; RR: TIdTextModeResourceRecord ); overload; Parameters Parameters

Description

TreeRoot

Type is TIdDNTreeNode (

RR

Type is TIdTextModeResourceRecord (

612). 2408).

Description UpdateTree is a overloaded method. See Also TIdDNS_UDPServer.UpdateTree

TIdDNS_UDPServer.UpdateTree Method (TIdDNTreeNode, TResultRecord) Pascal procedure UpdateTree( TreeRoot: TIdDNTreeNode; RR: TResultRecord ); overload; Parameters Parameters

Description

TreeRoot

Type is TIdDNTreeNode (

RR

Type is TResultRecord (

612). 2682).

Description UpdateTree is a overloaded method. See Also TIdDNS_UDPServer.UpdateTree

TIdDNS_UDPServer Properties The Properties of the TIdDNS_UDPServer class are listed here. Internet Direct (Indy) Version 10.1.5

591

TIdDNS_UDPServer Class

Classes

Properties Property

Description

AutoLoadMasterFile ( Busy (

592)

592)

Cached_Tree (

592)

CacheUnknowZone ( DefaultPort (

592)

593)

DNSVersion (

593)

GlobalCS (

593)

Handed_DomainList ( Handed_Tree ( offerDNSVersion ( RootDNS_NET ( ZoneMasterFiles (

593)

593) 593) 593) 594)

Legend Property read only

TIdDNS_UDPServer.AutoLoadMasterFile Property Pascal property AutoLoadMasterFile: Boolean; Description AutoLoadMasterFile is a Published Boolean property. Write access for the property is implemented using FAutoLoadMasterFile. The default value for the property is False.

TIdDNS_UDPServer.Busy Property Pascal property Busy: boolean; Description Busy is a Public read-only boolean property.

TIdDNS_UDPServer.Cached_Tree Property Pascal property Cached_Tree: TIdDNTreeNode; Description Cached_Tree is a Public read-only TIdDNTreeNode (

612) property.

TIdDNS_UDPServer.CacheUnknowZone Property Pascal property CacheUnknowZone: boolean; Description CacheUnknowZone is a Published boolean property. Write access for the property is implemented using FCacheUnknowZone. The default value for the property is False.

592

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNS_UDPServer Class

TIdDNS_UDPServer.DefaultPort Property Pascal property DefaultPort: integer; Description DefaultPort is a Published property. The default value for the property is IdPORT_DOMAIN (

3977).

TIdDNS_UDPServer.DNSVersion Property Pascal property DNSVersion: string; Description DNSVersion is a Published string property. Write access for the property is implemented using FDNSVersion.

TIdDNS_UDPServer.GlobalCS Property Pascal property GlobalCS: TIdCriticalSection; Description GlobalCS is a Public read-only TIdCriticalSection (

404) property.

TIdDNS_UDPServer.Handed_DomainList Property Pascal property Handed_DomainList: TIdStrings; Description Handed_DomainList is a Published TIdStrings ( SetHanded_DomainList.

3089) property. Write access for the property is implemented using

TIdDNS_UDPServer.Handed_Tree Property Pascal property Handed_Tree: TIdDNTreeNode; Description Handed_Tree is a Public read-only TIdDNTreeNode (

612) property.

TIdDNS_UDPServer.offerDNSVersion Property Pascal property offerDNSVersion: boolean; Description offerDNSVersion is a Published boolean property. Write access for the property is implemented using FofferDNSVersion.

TIdDNS_UDPServer.RootDNS_NET Property Pascal property RootDNS_NET: TIdStrings; Internet Direct (Indy) Version 10.1.5

593

TIdDNS_UDPServer Class

Classes

Description RootDNS_NET is a Public TIdStrings (

3089) property. Write access for the property is implemented using SetRootDNS_NET.

TIdDNS_UDPServer.ZoneMasterFiles Property Pascal property ZoneMasterFiles: TIdStrings; Description ZoneMasterFiles is a Published TIdStrings ( SetZoneMasterFiles.

3089) property. Write access for the property is implemented using

TIdDNS_UDPServer Events The Events of the TIdDNS_UDPServer class are listed here. Events Event

Description

OnAfterCacheSaved ( OnAfterQuery (

594)

594)

OnAfterSendBack ( OnBeforeQuery (

594) 595)

Legend Event

TIdDNS_UDPServer.OnAfterCacheSaved Event Pascal property OnAfterCacheSaved: TIdDNSAfterCacheSaved; Description OnAfterCacheSaved is a Published TIdDNSAfterCacheSaved ( implemented using FOnAfterCacheSaved.

3021) event handler property. Write access for the property is

TIdDNS_UDPServer.OnAfterQuery Event Pascal property OnAfterQuery: TIdDNSAfterQueryEvent; Description OnAfterQuery is a Published TIdDNSAfterQueryEvent ( implemented using FOnAfterQuery.

3022) event handler property. Write access for the property is

TIdDNS_UDPServer.OnAfterSendBack Event Pascal property OnAfterSendBack: TIdDNSAfterQueryEvent; Description OnAfterSendBack is a Published TIdDNSAfterQueryEvent ( implemented using FOnAfterSendBack.

594

3022) event handler property. Write access for the property is

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNSHdr Class

TIdDNS_UDPServer.OnBeforeQuery Event Pascal property OnBeforeQuery: TIdDNSBeforeQueryEvent; Description OnBeforeQuery is a Published TIdDNSBeforeQueryEvent ( implemented using FOnBeforeQuery.

3022) event handler property. Write access for the property is

TIdDNSHdr Class File IdRawHeaders (

4701)

Hierarchy

Pascal TIdDNSHdr = class(TIdStruct); Description TIdDNSHdr is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdDNSHdr Members The following tables list the members exposed by TIdDNSHdr. Properties Property

Description

dns_flags ( dns_id (

597)

597)

dns_num_addi_rr (

597)

dns_num_answ_rr ( dns_num_auth_rr ( dns_num_q (

597) 597)

597)

Methods Method create (

Description 2262)

ReadStruct (

596)

WriteStruct (

596)

Legend Constructor virtual Property

TIdDNSHdr Methods The Methods of the TIdDNSHdr class are listed here. Internet Direct (Indy) Version 10.1.5

595

TIdDNSHdr Class

Classes

Methods Method

Description

ReadStruct (

596)

WriteStruct (

596)

Legend Method virtual

TIdDNSHdr.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description ReadStruct is a overridden method.

TIdDNSHdr.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdDNSHdr Properties The Properties of the TIdDNSHdr class are listed here. Properties Property

Description

dns_flags ( dns_id (

597)

597)

dns_num_addi_rr (

597)

dns_num_answ_rr ( dns_num_auth_rr ( dns_num_q (

597) 597)

597)

Legend Property

596

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNSMap Class

TIdDNSHdr.dns_flags Property Pascal property dns_flags: word; Description dns_flags is a Public word property. Write access for the property is implemented using Fdns_flags.

TIdDNSHdr.dns_id Property Pascal property dns_id: word; Description dns_id is a Public word property. Write access for the property is implemented using Fdns_id.

TIdDNSHdr.dns_num_addi_rr Property Pascal property dns_num_addi_rr: word; Description dns_num_addi_rr is a Public word property. Write access for the property is implemented using Fdns_num_addi_rr.

TIdDNSHdr.dns_num_answ_rr Property Pascal property dns_num_answ_rr: word; Description dns_num_answ_rr is a Public word property. Write access for the property is implemented using Fdns_num_answ_rr.

TIdDNSHdr.dns_num_auth_rr Property Pascal property dns_num_auth_rr: word; Description dns_num_auth_rr is a Public word property. Write access for the property is implemented using Fdns_num_auth_rr.

TIdDNSHdr.dns_num_q Property Pascal property dns_num_q: word; Description dns_num_q is a Public word property. Write access for the property is implemented using Fdns_num_q.

Internet Direct (Indy) Version 10.1.5

597

TIdDNSMap Class

Classes

TIdDNSMap Class File IdDNSServer (

4621)

Hierarchy

Pascal TIdDNSMap = class(TIdObjectList); Description TIdDNSMap TIdObjectList (

1757) descendant

See Also TIdObjectList (

1757)

TIdDNSMap Members The following tables list the members exposed by TIdDNSMap. Properties Property

Description

Items (

599)

OwnsObjects ( Server (

1762)

599)

Methods Method Add (

Description 1759)

Assign (

1759)

BubbleSort ( Create (

1759)

599)

Destroy (

599)

FindInstanceOf ( IndexOf ( Insert (

1761)

Remove ( Create (

1760)

1760) 1761) 1759)

Legend Method virtual Property

TIdDNSMap Methods The Methods of the TIdDNSMap class are listed here. Methods Method Create (

Description 599)

Destroy (

598

599)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNSResolver Class

Legend Constructor virtual

TIdDNSMap.Create Constructor Pascal constructor Create( Server: TIdDNS_UDPServer ); Parameters Parameters

Description

Server

Type is TIdDNS_UDPServer (

586).

Description Create

TIdDNSMap.Destroy Destructor Pascal destructor Destroy; override; Description Destroy overridden

TIdDNSMap Properties The Properties of the TIdDNSMap class are listed here. Properties Property Items ( Server (

Description 599) 599)

Legend Property

TIdDNSMap.Items Property Pascal property Items [Index: Integer]: TIdDomainNameServerMapping; Description Items is a Public TIdDomainNameServerMapping (

617) property default property

TIdDNSMap.Server Property Pascal property Server: TIdDNS_UDPServer; Description Server is a Public TIdDNS_UDPServer (

Internet Direct (Indy) Version 10.1.5

586) property

599

TIdDNSResolver Class

Classes

TIdDNSResolver Class Implements a resolver for DNS queries. File IdDNSResolver (

4620)

Hierarchy

Pascal TIdDNSResolver = class(TIdTCPConnection); Description TIdDNSResolver is a TIdTCPClient ( 2333) descendant that provides an implementation of a resolver for DNS (Domain Name Server) queries using the DNS protocol. The DNS protocol is described in the Internet Standards documents: RFC 1034 - Domain Names Concepts and Facilities RFC 1035 - Domain Names Implementation and Specification RFC 1591 - Domain Name System Structure and Delegation RFC 1183 - New DNS RR Definitions RFC 1884 - IP Version 6 Addressing Architecture RFC 1886 - DNS Extensions to support IP version 6 RFC 1995 - Incremental Zone Transfer in DNS RFC 2181 - Clarifications to the DNS Specification. TIdDNSResolver provides facilities for accessing the Domain Name Space and Resource Records retrieved from a DNS Server using queries for specified domain names, resource types, and resource classes. TIdDNSResolver provides properties and methods that simplify the process of creating a valid DNS query, and accessing the resource records returned in the query results. Use QueryType ( 607) to indicate the DNS Resource Record types to be returned by the DNS Query. QueryType ( contain on or more of the values from TQueryRecordTypes ( 2986).

607) must

Set AllowRecursiveQueries ( 605) to the value to be used in the DNS Query header. AllowRecursiveQueries ( 605) permits a DNS server to pursue the query for DNS resource records on another name server. AllowRecursiveQueries ( 605) has no effect if the DNS server does not implement recursive queries. Use the Resolve ( 604) method to peform a DNS Query for the specified domain name. Resolve ( 604) creates the DNS Query packet, including the DNS header, transmits the request to the DNS host, and captures and parses the query results. Use QueryResult ( 607) to determine the number of resource records returned by the QueryClass, QueryType ( 607), and DomainName ( 2771) in the DNS Query, and to access the TResultRecord ( 2682) object instances containing the data for the resource records. Items in QueryResults may also be cast to an instance of a TResultRecord ( 2682) descendant class to access additional properties and methods based on its resource record type and class. TIdDNSResolver normally use UDP for resolving DNS queries, unless a Zone Transfer is indicated using the XFRType and QueryType ( 607) properties. In this situation, TCP is used resolve ( 604) the DNS query. Currently, the TIdDNSResolver implementation does not support all aspects of the DNS protocol, and includes the following limitations:

• The DNS query type is limited to standard queries, where the DNS Header OPCODE is 0. 600

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNSResolver Class

• Inverse queries (OPCODE=1) and Status queries (OPCODE=2) are not supported at this time. • The DNS query class field is limited to examing resource records for the IN (Internet) class only. CS (CSNet), CH (CHAOS), and HS (Hesiod) are not supported at this time. See Also TDNSHeader ( 15)

198) TQueryResult (

2669) TQueryRecordTypes (

2986) TResultRecord (

2682) TXFRTypes IndySupport (

TIdDNSResolver Members The following tables list the members exposed by TIdDNSResolver. Properties Property

Description

AllowRecursiveQueries ( DNSHeader ( Greeting ( Host (

Indicates if recursive DNS queries are desired on the DNS server.

605)

2364)

Banner or welcome message for a connection to a protocol server.

605)

Identifies the host name or IP address for the DNS server.

InternalQuery (

606)

IOHandler (

2364)

IPVersion (

606)

The input / output mechanism for the connection. Indicates the IP address family supported for connections to the DNS server.

LastCmdResult (

2367)

ManagedIOHandler ( OnDisconnected ( OnWork (

Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

2367)

Event handler signalled for read and / or write operations. 2368)

OnWorkEnd (

2364) for the connection is maintained by the object instance.

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin (

Event handler signalled when beginning a read or write operation.

2369)

PlainTextResult ( Port (

605)

Event handler signalled when completing a read or write operation.

606)

Represents the plain text version of values received in a DNS query reponse.

606)

Indicates the port number for the DNS server used to resolve (

QueryResult ( QueryType (

607)

607)

Socket (

2369)

Version (

269)

WaitingTime (

604) DNS queries.

Container for values and resource records in a DNS response. Indicates the resource record types requested when resolving a DNS query. Provides access to the TIdIOHandlerSocket (

1331) for the connection.

Identifies the version number for the Indy component suite.

607)

WorkTarget (

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ClearInternalQuery ( Connected ( Create (

2353)

Indicates if the peer connection has been opened. Constructor for the object instance.

CreateQuery ( Destroy (

2353)

Creates the IOHandler (

603)

Frees the object instance. 2356)

357)

EndWork ( FillResult (

Triggers the OnEndWork event handler. Captures and parses results returned in a DNS query response.

FillResultWithOutCheckId ( GetInternalResponse ( GetVersion (

604) 2356)

269)

ParseAnswers (

Disconnects the peer connection. Triggers the OnWork event handler.

358)

603)

Resolve (

2364) for the connection.

602)

DisconnectNotifyPeer ( DoWork (

Determines if the peer has been gracefully disconnected.

602)

267)

CreateIOHandler (

CType (

2351)

Reads response detail lines from a peer connection. Version (

269) number for Indy component suite.

604)

604) 267)

Create (

1274)

CheckResponse ( Disconnect (

2352)

2355)

Internet Direct (Indy) Version 10.1.5

601

TIdDNSResolver Class GetResponse (

Classes

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdDNSResolver Methods The Methods of the TIdDNSResolver class are listed here. Methods Method

Description

ClearInternalQuery ( CreateQuery ( Destroy ( FillResult (

602)

602) 603)

Captures and parses results returned in a DNS query response.

FillResultWithOutCheckId ( ParseAnswers ( Resolve (

Frees the object instance.

603) 604)

604)

604)

Legend Method virtual

TIdDNSResolver.ClearInternalQuery Method Pascal procedure ClearInternalQuery; Description ClearInternalQuery is a method used to ensure that the InternalQuery ( and sets its length to zero (0) bytes. ClearInternalQuery is used in the implementation of the CreateQuery (

606) property containing the DNS query packet is cleared 602) method.

See Also InternalQuery (

606) CreateQuery (

602)

TIdDNSResolver.CreateQuery Method Pascal procedure CreateQuery( ADomain: string; SOARR: TIdRR_SOA; QueryClass: integer = Class_IN );

602

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNSResolver Class

Parameters Parameters

Description

ADomain

Type is string.

SOARR

Type is TIdRR_SOA (

QueryClass

Type is integer. Default value is Class_IN (

1907). 3171).

Description CreateQuery is a method.

TIdDNSResolver.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy frees resource allocated to the QueryResult ( the component.

607) and the internal DNSHeader (

605) properties during initialization of

Destroy calls the inherited destructor prior to exiting from the method. See Also QueryResult (

607)

TIdDNSResolver.FillResult Method Captures and parses results returned in a DNS query response. Pascal procedure FillResult( AResult: TIdBytes; checkID: boolean = true; ResetResult: boolean = true ); Parameters Parameters

Description

AResult

Raw byte values for the DNS query result.

checkID

Indicates if the ID in the DNS query response must match the ID in the DNS query.

ResetResult

Indicates QueryResult (

607) is cleared prior to parsing answers in the DNS query response.

Description FillResult is a procedure used to capture and parse results returned in a DNS query response in the Resolve (

604) method.

FillResult will raise an EIdDnsResolverError ( 73) exception if the size of the DNS results in AResult is smaller than the 12 bytes (size of the DNS header in a DNS query response). FillResult parses values in the DNS header to get access to the identifier and result code for the DNS query response. When CheckID contains True, the identifier in the DNS query reponse must match the identifier from the DNS query or an EIdDnsResolverError ( 73) will be raised. FillResult checks the result code from the internal TDNSHeader ( 198) instance to determine if an error has occurred. A non-zero value in the result code causes an EIdDnsResolverError ( 73) exception to be raised. FillResult parses each of the DNS answers included in the DNS query response. When ResetResult contains True, the value in QueryResult ( the DNS query response. Internet Direct (Indy) Version 10.1.5

607) is cleared when ParseAnswer is called to parse each answer in

603

TIdDNSResolver Class Use QueryResult (

Classes 607) to access the resource records returned in the DNS query response.

Exceptions Exceptions EIdDnsResolverError (

Description 73)

With the message RSQueryLessThanTwelve when an invalid DNS header is present. With the message RSQueryInvalidHeaderID when the DNS query response identifier does not match the DNS query identifier. With the response code from the DNS query response.

See Also EIdDnsResolverError (

73) ParseAnswer QueryResult (

607) TDNSHeader (

198)

TIdDNSResolver.FillResultWithOutCheckId Method Pascal procedure FillResultWithOutCheckId( AResult: string ); Parameters Parameters

Description

AResult

Type is string.

Description FillResultWithOutCheckId is a method procedure

TIdDNSResolver.ParseAnswers Method Pascal procedure ParseAnswers( DNSHeader: TDNSHeader; Answer: TIdBytes; ResetResult: boolean = true ); Parameters Parameters

Description

DNSHeader

Type is TDNSHeader (

Answer

Type is TIdBytes (

ResetResult

Type is boolean. Default value is true.

198).

3007).

Description ParseAnswers is a method.

TIdDNSResolver.Resolve Method Pascal procedure Resolve( ADomain: string; SOARR: TIdRR_SOA = nil; QClass: integer = Class_IN ); Parameters Parameters

Description

ADomain

Type is string.

SOARR

Type is TIdRR_SOA (

QClass

Type is integer. Default value is Class_IN (

1907). Default value is nil. 3171).

Description Resolve is a method. 604

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNSResolver Class

TIdDNSResolver Properties The Properties of the TIdDNSResolver class are listed here. Properties Property

Description

AllowRecursiveQueries ( DNSHeader ( Host (

Indicates if recursive DNS queries are desired on the DNS server.

605)

605)

Identifies the host name or IP address for the DNS server.

InternalQuery ( IPVersion (

606)

606)

Indicates the IP address family supported for connections to the DNS server.

PlainTextResult ( Port (

605)

606)

Represents the plain text version of values received in a DNS query reponse.

606)

Indicates the port number for the DNS server used to resolve (

QueryResult ( QueryType (

607)

607)

WaitingTime (

604) DNS queries.

Container for values and resource records in a DNS response. Indicates the resource record types requested when resolving a DNS query.

607)

Legend Property read only

TIdDNSResolver.AllowRecursiveQueries Property Indicates if recursive DNS queries are desired on the DNS server. Pascal property AllowRecursiveQueries: boolean; Description AllowRecursiveQueries is a Boolean property that indicates if the DNS server should persue client queries which require resource records from another DNS name server. AllowRecursiveQueries is stored in the DNS Header for the request to the DNS server. AllowRecursiveQueries will have no effect when the DNS does not implement recursive queries, as indicated in the DNS Header RA field from the server response. The default value for AllowRecursiveQueries is True, as assigned during initialization of the component. Set the desired value for AllowRecursiveQueries prior to calling Resolve ( 604). See Also TDNSHeader (

198) Resolve (

604)

TIdDNSResolver.DNSHeader Property Pascal property DNSHeader: TDNSHeader; Description DNSHeader is a Public read-only TDNSHeader (

198) property.

TIdDNSResolver.Host Property Identifies the host name or IP address for the DNS server. Pascal property Host: string;

Internet Direct (Indy) Version 10.1.5

605

TIdDNSResolver Class

Classes

Description Host is a Published string property that identifies the host name or IP address for the DNS server to be used for resolving DNS queries. Set values in the Host and Port (

606) properties prior to calling the Resolve (

604) method.

TIdDNSResolver.InternalQuery Property Pascal property InternalQuery: TIdBytes; Description InternalQuery is a TIdBytes ( method.

3007) property that represents the raw contents of the DNS query used in the Resolve (

604)

TIdDNSResolver.IPVersion Property Indicates the IP address family supported for connections to the DNS server. Pascal property IPVersion: TIdIPVersion; Description IPVersion is a published TIdIPVersion ( server.

2962) property that indicates the IP address family supported for connections to the DNS

See Also Host (

605) Port (

606)

TIdDNSResolver.PlainTextResult Property Represents the plain text version of values received in a DNS query reponse. Pascal property PlainTextResult: TIdBytes; Description PlainTextResult is a TIdBytes (

3007) property that represents the plain text version of values received in a DNS query reponse.

PlainTextResult is updated when the DNS query response is received in the Resolve (

604) method.

PlainTextResult can be used to as a debugging aid to determine if valid DNS query responses are being received for the DNS query. See Also Resolve (

604)

TIdDNSResolver.Port Property Indicates the port number for the DNS server used to resolve (

604) DNS queries.

Pascal property Port: TIdPort; Description Port is a Published TIdPort ( queries.

606

3076) property that indicates the port number for the DNS server used to resolve (

604) DNS

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNSResolver Class

The default value for Port is IdPORT_DOMAIN ( Set values in the Host (

3977), as assigned during initialization of the component.

605) and Port properties prior to calling the Resolve (

604) method.

See Also Host (

605) Resolve (

604)

TIdDNSResolver.QueryResult Property Container for values and resource records in a DNS response. Pascal property QueryResult: TQueryResult; Description QueryResult is a read-only TQueryResult ( 2669) property that acts as a container for the results from a DNS query. QueryResult will indicate the class, type, and domain name used in the DNS query, as well as any DNS resource records returned in the query response. QueryResult is updated when ParseAnswers ( portion of the DNS response.

604) is called by the Resolve (

QueryResult is a generic collection for TResultRecord ( accessed using their integer position.

604) method to parse values found in the Answer

2682) and descendant resource records. Items in the collection can be

Items in QueryResult must be cast to a TResultRecord ( properties and methods specific to the resource record type.

2682) or descendant class instance to allow access to additional

See Also TARecord ( 189) TCNRecord ( 190) TDNSHeader ( 198) THINFORecord ( 213) TMINFORecord ( 2647) TMXRecord ( 2649) TNAMERecord ( 2652) TNSRecord ( 2657) TPTRRecord ( 2668) TRDATARecord ( 2673) TResultRecord ( 2682) TSOARecord ( 2694) TTextRecord ( 2702) TWKSRecord ( 2705) Resolve ( 604) ParseAnswers ( 604)

TIdDNSResolver.QueryType Property Indicates the resource record types requested when resolving a DNS query. Pascal property QueryType: TQueryType; Description QueryType is a Published TQueryType ( query. QueryType is used in the Resolve ( CreateQuery ( 602).

3117) property that indicates the resource record types requested when resolving a DNS

604) method, and when creating DNS header and DNS Question portion of the DNS packet in

Values included in QueryType can affect both the expected response(s) and processing that occurs in the Resolve (

604) method.

Specifically, the value qtAXFR (for Zone transfer queries) is generally used alone and causes additional constraints to be places on the resource record types and counts allowed in the DNS query response. Update QueryType to include the resource record type values desired prior to calling the Resolve (

604) method.

See Also TQueryType (

3117) Resolve (

604)

TIdDNSResolver.WaitingTime Property Pascal property WaitingTime: integer; Internet Direct (Indy) Version 10.1.5

607

TIdDNSServer Class

Classes

Description WaitingTime is a Published integer property

TIdDNSServer Class Implements a server for the DNS (Domain Name Server) protocol. File IdDNSServer (

4621)

Hierarchy

Pascal TIdDNSServer = class(TIdComponent); Description TIdDNSServer is a TIdComponent ( 355) descendant that implements a server for the DNS (Domain Name Server) protocol, as described in the Internet Standards documents: RFC 1034 - Domain Names Concepts and Facilities RFC 1035 - Domain Names Implementation and Specification RFC 1591 - Domain Name System Structure and Delegation RFC 1183 - New DNS RR Definitions RFC 1884 - IP Version 6 Addressing Architecture RFC 1886 - DNS Extensions to support IP version 6 RFC 1995 - Incremental Zone Transfer in DNS RFC 2181 - Clarifications to the DNS Specification. TIdDNSServer is not like most typical server implementations in the Indy library. The DNS protocol requires that the server be able to respond to both TCP-based and UDP-based requests, so TIdDNSServer does not follow the convention of inheriting from a TIdTCPServer ( 2375) or TIdUDPServer ( 2530) ancestor class. Instead, it implements the TCPTunnel ( 611) and UDPTunnel ( 612) properties that act as the server(s) used in its implementation. UDPTunnel (

612) is, in essence, the DNS server and responds to all DNS queries issued by clients.

TCPTunnel ( 611) is used primarily to perform updates and receive notifications of updates for zone tranfer information when ServerType ( 611) contains the value stSecondary indicating a secondary DNS server implementation. TCPTunnel ( 611) is activated only in this scenrio, and uses a TIdDomainExpireCheckThread ( 617) instance to determine when expired Domain information needs to be reloaded from the primary DNS server. Use the Bindings ( 611) property to define one or more socket handles used for listener threads (for both TCPTunnel ( UDPTunnel ( 612)).

611) and

Set ServerType ( 611) to indicate if the DNS server is the primary Domain Name Service server or a secondary server dependent on updates from the primary DNS server. Use AccessList ( 611) to specify IP addresses allowed to announce notifications of updated Zone information in the TCPTunnel ( 611) server when ServerType ( 611) is stSecondary and TCPACLActive ( 611) contains True. Use Active ( 611) to start the UDP-based server in UDPTunnel ( zone transfer information with the primary DNS server.

612), and optionally the TCP-based server used to exchange

Use properties, methods, and events in TIdDNS_UDPServer ( 586) to control operation of the server using UDPTunnel ( for DNS queries issued by clients. This includes the ability to setup options like: 608

612)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNSServer Class

• Root DNS servers • Build and maintain the DNS tree for the server • Specify and load Master Zone files for the server • Assign event handlers execute before and after the DNS response See Also TIdComponent (

355)

TIdDNS_UDPServer (

586)

TIdDNS_TCPServer (

584)

TIdDNSServer Members The following tables list the members exposed by TIdDNSServer. Properties Property

Description

AccessList ( Active (

611)

611)

Bindings (

611)

ServerType (

611)

TCPACLActive ( TCPTunnel (

611)

611)

UDPTunnel (

612)

Version (

269)

WorkTarget (

359)

Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

CheckIfExpire (

610)

Create (

267)

Constructor for the object instance.

Destroy (

610)

DoWork (

357)

EndWork (

358)

GetVersion ( CType (

Triggers the OnBeginWork event.

269)

Triggers the OnWork event handler. Triggers the OnEndWork event handler. Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

Legend Data Member Method virtual Property read only Event

TIdDNSServer Fields The Fields of the TIdDNSServer class are listed here.

Internet Direct (Indy) Version 10.1.5

609

TIdDNSServer Class

Classes

Legend Data Member

TIdDNSServer.BackupDNSMap Field Pascal BackupDNSMap: TIdDNSMap; Description BackupDNSMap

TIdDNSServer Methods The Methods of the TIdDNSServer class are listed here. Methods Method

Description

CheckIfExpire ( Destroy (

610)

610)

Legend Method virtual

TIdDNSServer.CheckIfExpire Method Pascal procedure CheckIfExpire( Sender: TObject ); Parameters Parameters

Description

Sender

Type is TObject.

Description CheckIfExpire

TIdDNSServer.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is the overridden destructor

TIdDNSServer Properties The Properties of the TIdDNSServer class are listed here. Properties Property

Description

AccessList ( Active ( Bindings (

610

611)

611) 611)

Internet Direct (Indy) Version 10.1.5

Classes ServerType (

TIdDNSServer Class 611)

TCPACLActive (

611)

TCPTunnel (

611)

UDPTunnel (

612)

Legend Property

TIdDNSServer.AccessList Property Pascal property AccessList: TIdStrings; Description AccessList is a TStrings property

TIdDNSServer.Active Property Pascal property Active: boolean; Description Active is a Boolean property

TIdDNSServer.Bindings Property Pascal property Bindings: TIdSocketHandles; Description Bindings is a TIdSocketHandles (

2090) property

TIdDNSServer.ServerType Property Pascal property ServerType: TDNSServerTypes; Description ServerType is a TDNSServerTypes (

2943) property

TIdDNSServer.TCPACLActive Property Pascal property TCPACLActive: boolean; Description TCPACLActive is a Boolean property

TIdDNSServer.TCPTunnel Property Pascal property TCPTunnel: TIdDNS_TCPServer; Description TCPTunnel is a TIdDNS_TCPServer ( Internet Direct (Indy) Version 10.1.5

584) property 611

TIdDNTreeNode Class

Classes

TIdDNSServer.UDPTunnel Property Pascal property UDPTunnel: TIdDNS_UDPServer; Description UDPTunnel is a Published TIdDNS_UDPServer (

586) property. Write access for the property is implemented using FUDPTunnel.

TIdDNTreeNode Class File IdDNSServer (

4621)

Hierarchy

Pascal TIdDNTreeNode = class(TIdMWayTreeNode); Description TIdDNTreeNode is a TIdMWayTreeNode (

1675) descendant.

See Also TIdMWayTreeNode (

1675)

TIdDNTreeNode Members The following tables list the members exposed by TIdDNTreeNode. Properties Property

Description

AutoSortChild ( ChildIndex ( Children ( CLabel (

616)

616) 616)

616)

FullName (

616)

FundmentalClass ( ParentNode ( RRs (

1677)

616)

617)

Methods Method

Description

AddChild ( Clear ( Create (

613)

613) 613)

Destroy (

614)

IndexByLabel (

614)

IndexByNode (

614)

InsertChild (

614)

RemoveChild ( SaveToFile ( SortChildren (

612

615) 615) 615)

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNTreeNode Class

Legend Method virtual Property read only

TIdDNTreeNode Methods The Methods of the TIdDNTreeNode class are listed here. Methods Method

Description

AddChild ( Clear ( Create (

613)

613) 613)

Destroy (

614)

IndexByLabel (

614)

IndexByNode (

614)

InsertChild (

614)

RemoveChild ( SaveToFile (

615) 615)

SortChildren (

615)

Legend Method virtual

TIdDNTreeNode.AddChild Method Pascal function AddChild: TIdDNTreeNode; Returns TIdDNTreeNode (

612)

Description AddChild is a method. AddChild returns a TIdDNTreeNode (

612) value.

TIdDNTreeNode.Clear Method Pascal procedure Clear; Description Clear is a method.

TIdDNTreeNode.Create Constructor Pascal constructor Create( ParentNode: TIdDNTreeNode ); reintroduce;

Internet Direct (Indy) Version 10.1.5

613

TIdDNTreeNode Class

Classes

Parameters Parameters

Description

ParentNode

Type is TIdDNTreeNode (

612).

Description Create is a reintroduced constructor for the object instance.

TIdDNTreeNode.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdDNTreeNode.IndexByLabel Method Pascal function IndexByLabel( CLabel: AnsiString ): integer; Parameters Parameters

Description

CLabel

Type is AnsiString.

Returns integer Description IndexByLabel is a method. IndexByLabel returns a integer value.

TIdDNTreeNode.IndexByNode Method Pascal function IndexByNode( ANode: TIdDNTreeNode ): integer; Parameters Parameters

Description

ANode

Type is TIdDNTreeNode (

612).

Returns integer Description IndexByNode is a method. IndexByNode returns a integer value.

TIdDNTreeNode.InsertChild Method Pascal function InsertChild( 614

Internet Direct (Indy) Version 10.1.5

Classes

TIdDNTreeNode Class

Index: integer ): TIdDNTreeNode; Parameters Parameters

Description

Index

Type is integer.

Returns TIdDNTreeNode (

612)

Description InsertChild is a method. InsertChild returns a TIdDNTreeNode (

612) value.

TIdDNTreeNode.RemoveChild Method Pascal procedure RemoveChild( Index: integer ); Parameters Parameters

Description

Index

Type is integer.

Description RemoveChild is a method.

TIdDNTreeNode.SaveToFile Method Pascal procedure SaveToFile( Filename: String ); Parameters Parameters

Description

Filename

Type is String.

Description SaveToFile is a method.

TIdDNTreeNode.SortChildren Method Pascal procedure SortChildren; Description SortChildren is a method.

TIdDNTreeNode Properties The Properties of the TIdDNTreeNode class are listed here. Properties Property AutoSortChild (

Description 616)

Internet Direct (Indy) Version 10.1.5

615

TIdDNTreeNode Class ChildIndex ( Children ( CLabel (

616) 616)

616)

FullName (

616)

ParentNode (

616)

RRs (

Classes

617)

Legend Property read only

TIdDNTreeNode.AutoSortChild Property Pascal property AutoSortChild: boolean; Description AutoSortChild is a Public boolean property. Write access for the property is implemented using FAutoSortChild.

TIdDNTreeNode.ChildIndex Property Pascal property ChildIndex: TIdStrings; Description ChildIndex is a Public TIdStrings (

3089) property. Write access for the property is implemented using SetChildIndex.

TIdDNTreeNode.Children Property Pascal property Children [Index : integer]: TIdDNTreeNode; Description Children is a Public TIdDNTreeNode (

612) property. Write access for the property is implemented using SetNode.

TIdDNTreeNode.CLabel Property Pascal property CLabel: AnsiString; Description CLabel is a Public AnsiString property. Write access for the property is implemented using SetCLabel.

TIdDNTreeNode.FullName Property Pascal property FullName: string; Description FullName is a Public read-only string property.

TIdDNTreeNode.ParentNode Property Pascal property ParentNode: TIdDNTreeNode; 616

Internet Direct (Indy) Version 10.1.5

Classes

TIdDomainNameServerMapping Class

Description ParentNode is a Public TIdDNTreeNode (

612) property. Write access for the property is implemented using FParentNode.

TIdDNTreeNode.RRs Property Pascal property RRs: TIdTextModeRRs; Description RRs is a Public TIdTextModeRRs (

2413) property. Write access for the property is implemented using SetRRs.

TIdDomainExpireCheckThread Class File IdDNSServer (

4621)

Hierarchy

Pascal TIdDomainExpireCheckThread = class(TIdThread); Description TIdDomainExpireCheckThread is a TIdThread (

2415) descendant.

See Also TIdThread (

2415)

TIdDomainNameServerMapping Class File IdDNSServer (

4621)

Hierarchy

Pascal TIdDomainNameServerMapping = class(TObject); Description TIdDomainNameServerMapping is a TObject descendant. See Also TObject

TIdDomainNameServerMapping Members The following tables list the members exposed by TIdDomainNameServerMapping.

Internet Direct (Indy) Version 10.1.5

617

TIdDomainNameServerMapping Class

Classes

Properties Property

Description

DomainName ( Host (

619)

619)

Methods Method Create (

Description 618)

Destroy (

618)

SyncAndUpdate (

618)

Legend Constructor virtual Property

TIdDomainNameServerMapping Methods The Methods of the TIdDomainNameServerMapping class are listed here. Methods Method Create (

Description 618)

Destroy (

618)

SyncAndUpdate (

618)

Legend Constructor virtual

TIdDomainNameServerMapping.Create Constructor Pascal constructor Create( List: TIdDNSMap ); Parameters Parameters

Description

List

Type is TIdDNSMap (

598).

Description Create is a constructor for the object instance.

TIdDomainNameServerMapping.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdDomainNameServerMapping.SyncAndUpdate Method Pascal procedure SyncAndUpdate( 618

Internet Direct (Indy) Version 10.1.5

Classes

TIdDOSAttributes Class Sender: TObject

); Parameters Parameters

Description

Sender

Type is TObject.

Description SyncAndUpdate is a method.

TIdDomainNameServerMapping Properties The Properties of the TIdDomainNameServerMapping class are listed here. Properties Property

Description

DomainName ( Host (

619)

619)

Legend Property

TIdDomainNameServerMapping.DomainName Property Pascal property DomainName: string; Description DomainName is a Published string property. Write access for the property is implemented using FDomainName.

TIdDomainNameServerMapping.Host Property Pascal property Host: string; Description Host is a Published string property. Write access for the property is implemented using SetHost.

TIdDOSAttributes Class Implements storage for MS DOS file and directory attributes returned in structured directory listings. File IdFTPListTypes (

4646)

Hierarchy

Pascal TIdDOSAttributes = class(TIdPersistent); Description TIdDOSAttributes is a TIdPersistent ( 3073) descendant used to implement storage for file and directory attributes returned in structured directory listings for remote FTP server using the MS DOS file system.

Internet Direct (Indy) Version 10.1.5

619

TIdDOSAttributes Class

Classes

TIdDOSAttributes implements properties that represents file attribute values parsed using an FTP directory listing parser. Use FileAttributes (

624) to access the Cardinal value containing all of the pertinent attributes for the remote file system.

Use the following properties to read or write the individual file or directory attributes as Boolean properties:

• Read_Only (

626)

• Archive (

623)

• System (

626)

• Directory (

624)

• Hidden (

625)

• Normal (

625)

Use AddAttribute (

621) and AsString (

623) to access the Boolean properties represented in a human-readable format.

See Also TIdPersistent (

3073)

TIdDOSAttributes Members The following tables list the members exposed by TIdDOSAttributes. Properties Property Archive (

Description 623)

AsString ( Directory (

Indicates if the Archive attribute is in effect for the current object instance.

623) 624)

FileAttributes (

Represents attribute values for the object using the MS DOS ATTRIB command format. Indicates if the Directory attribute is in effect for the current object instance.

624)

Stores the cardinal representation of the MS DOS file attributes.

Hidden (

625)

Indicates if the file has the hidden attribute applied for the current object instance.

Normal (

625)

Indicates if the file has the "normal" attribute applied for the current object instance.

Read_Only ( System (

626)

626)

Indicates if the file has the "read-only" attribute applied for the current object instance. Indicates if the file has the "system" attribute applied for the current object instance.

Methods Method

Description

AddAttribute ( Assign (

621)

Sets the Boolean properties of the using a string representation of the attribute for the entry.

622)

GetAsString (

622)

Derives a String representation of the FileAttributes (

624) for the object instance.

Legend Method virtual Property read only

TIdDOSAttributes Methods The Methods of the TIdDOSAttributes class are listed here. Methods Method

Description

AddAttribute ( Assign (

Sets the Boolean properties of the using a string representation of the attribute for the entry.

622)

GetAsString (

620

621) 622)

Derives a String representation of the FileAttributes (

624) for the object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDOSAttributes Class

Legend Method virtual

TIdDOSAttributes.AddAttribute Method Sets the Boolean properties of the using a string representation of the attribute for the entry. Pascal function AddAttribute( const AString: String ): Boolean; Parameters Parameters

Description

AString

One or more attributes to apply to the current object instance.

Returns Boolean - True when attribute(s) have been successfully applied. False when an unknown attribute is specified in AString. Description AddAttribute is a Boolean function used to apply the attributes specified in AString to the current object instance. AString can contain one or more attribute values represented as uppercase characters. The character(s) in AString determine which Boolean properties have their value altered, including:

Character

Property Affected

Property Value

A

Archive (

623)

True

H

Hidden (

625)

True

S

System (

626)

True

R

Read_Only (

626)

True

W

Read_Only (

626)

False

The order of attributes specified in AString are insignifcant. All valid attribute values will be applied to their corresponding properties regardless of their order or position in AString. Arguments passed to AddAttribute in AString are case sensitive. AString must contain uppercase characters for the attribute values, or no action is taken towards updating the corresponding Boolean properties. An invalid attribute value encountered in AddAttribute (including incorrect case) causes any subsequent attributes in AString to be ignored. Please note that the Directory (

624) and Normal (

625) properties cannot be updated using the AddAttribute method.

The return value for the method is True when all attribute values in AString are valid and applied to the Boolen properties in the current object instance. The return value is False if an invalid attribute value is encountered in AString. See Also Read_Only (

626)

Archive (

623)

Hidden (

625)

System (

626)

Normal (

625)

Directory (

624)

AsString (

623)

Internet Direct (Indy) Version 10.1.5

621

TIdDOSAttributes Class FileAttributes (

Classes

624)

TIdDOSAttributes.Assign Method Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Contains values to assign to the current object instance.

Description Assign is an overridden method in TIdDOSAttributes ( current object instance.

619) used to assign property values found in the Source argument to the

When Source is an instance of TIdDOSAttributes ( 619), the value of the FileAttributes ( 624) property in Source is stored in the corresponding property in the current object instance. When Source is any other TIdPersistent ( 3073) class instance, the inherited Assign method is called using Source as an argument. See Also FileAttributes (

624)

TIdPersistent (

3073)

TIdDOSAttributes.GetAsString Method Derives a String representation of the FileAttributes (

624) for the object instance.

Pascal function GetAsString: String; virtual; Returns String - String representation of the FileAttributes (

624) for the object instance.

Description GetAsString is a String function used to form a String representation of the FileAttributes ( GetAsString is the read-access specifier for the AsString ( 623) property.

624) for the object instance.

See Also AsString (

623)

FileAttributes (

624)

TIdDOSAttributes Properties The Properties of the TIdDOSAttributes class are listed here. Properties Property Archive (

Description 623)

AsString ( Directory (

624)

FileAttributes (

624)

Represents attribute values for the object using the MS DOS ATTRIB command format. Indicates if the Directory attribute is in effect for the current object instance. Stores the cardinal representation of the MS DOS file attributes.

Hidden (

625)

Indicates if the file has the hidden attribute applied for the current object instance.

Normal (

625)

Indicates if the file has the "normal" attribute applied for the current object instance.

Read_Only ( System (

622

Indicates if the Archive attribute is in effect for the current object instance.

623)

626)

626)

Indicates if the file has the "read-only" attribute applied for the current object instance. Indicates if the file has the "system" attribute applied for the current object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdDOSAttributes Class

Legend Property read only

TIdDOSAttributes.Archive Property Indicates if the Archive attribute is in effect for the current object instance. Pascal property Archive: Boolean; Description Archive is a Boolean property used to indicate if the Archive attribute is in effect for the current object instance. The value in the property is normally updated when a directory listing parser handles responses from a remote FTP server. Use AddAttribute ( 624) property.

621) to update one or more of the Boolean properties that represent the values found in the FileAttributes (

See Also Read_Only (

626)

Hidden (

625)

System (

626)

Normal (

625)

Directory (

624)

AsString (

623)

FileAttributes (

624)

TIdDOSAttributes.AsString Property Represents attribute values for the object using the MS DOS ATTRIB command format. Pascal property AsString: String; Description AsString is a read-only String property that represents the attribute values for the object instance as a string. Values returned by reading the AsString property emulate the format used in the MS DOS ATTRIB command, and include the following characters:

Character

Description

R

Read_only attribute is set.

A

Archive (

623) attribute is set.

S

System (

626) attrribute is set.

H

Hidden (

625) attribute is set.

Attribute which are not set are represented as a space character (CHAR32 (

3169)) in the value for the AsString property.

See Also Read_Only (

626)

Archive (

623)

System (

626)

Internet Direct (Indy) Version 10.1.5

623

TIdDOSAttributes Class Hidden (

Classes

625)

TIdDOSAttributes.Directory Property Indicates if the Directory attribute is in effect for the current object instance. Pascal property Directory: Boolean; Description Directory is a Boolean property used to indicate if the Directory attribute is in effect for the current object instance. The value in the property is normally updated when a directory listing parser handles responses from a remote FTP server. Use AddAttribute ( 624) property.

621) to update one or more of the Boolean properties that represent the values found in the FileAttributes (

See Also Read_Only (

626)

Archive (

623)

Hidden (

625)

System (

626)

Normal (

625)

AsString (

623)

FileAttributes (

624)

TIdDOSAttributes.FileAttributes Property Stores the cardinal representation of the MS DOS file attributes. Pascal property FileAttributes: Cardinal; Description FileAttributes is a Cardinal property that represents the value for individual bit fields used in MS DOS file attributes. Bit fields in FileAttributes are derived by combining the following file attribute values using a bitwise OR operation:

IdFILE_ATTRIBUTE_READONLY (

3837)

IdFILE_ATTRIBUTE_HIDDEN (

3836)

IdFILE_ATTRIBUTE_SYSTEM (

3837)

IdFILE_ATTRIBUTE_DIRECTORY (

3835)

IdFILE_ATTRIBUTE_ARCHIVE (

3834)

IdFILE_ATTRIBUTE_NORMAL (

3836)

Bit fields values in FileAttributes are checked using a bitwise AND operation, and used to set the Boolean value for the following properties:

Read_Only (

626)

Hidden (

625)

System (

626)

624

Internet Direct (Indy) Version 10.1.5

Classes

TIdDOSAttributes Class

Directory (

624)

Archive (

623)

Normal (

625)

See Also Read_Only (

626)

Hidden (

625)

System (

626)

Directory (

624)

Archive (

623)

Normal (

625)

IdFILE_ATTRIBUTE_READONLY (

3837)

IdFILE_ATTRIBUTE_HIDDEN (

3836)

IdFILE_ATTRIBUTE_SYSTEM (

3837)

IdFILE_ATTRIBUTE_DIRECTORY (

3835)

IdFILE_ATTRIBUTE_ARCHIVE (

3834)

IdFILE_ATTRIBUTE_NORMAL (

3836)

TIdWin32ea (

2622)

TIdDOSAttributes.Hidden Property Indicates if the file has the hidden attribute applied for the current object instance. Pascal property Hidden: Boolean; Description Hidden is a Boolean property that indicates if the IdFILE_ATTRIBUTE_HIDDEN ( 3836) flag is used in the MS DOS file attributes for the current object instance. The value of the property is read from and written to the FileAttributes ( 624) property. See Also Archive ( Directory ( Normal (

623) 624) 625)

Read_Only ( System (

626)

626)

FileAttributes (

624)

IdFILE_ATTRIBUTE_HIDDEN (

3836)

TIdDOSAttributes.Normal Property Indicates if the file has the "normal" attribute applied for the current object instance. Pascal property Normal: Boolean;

Internet Direct (Indy) Version 10.1.5

625

TIdDOSAttributes Class

Classes

Description Normal is a Boolean property that indicates if the IdFILE_ATTRIBUTE_NORMAL ( 3836) flag is used in the MS DOS file attributes for the current object instance. The value of the property is read from and written to the FileAttributes ( 624) property. See Also Archive ( Directory ( Hidden (

623) 624) 625)

Read_Only ( System (

626)

626)

FileAttributes (

624)

IdFILE_ATTRIBUTE_NORMAL (

3836)

TIdDOSAttributes.Read_Only Property Indicates if the file has the "read-only" attribute applied for the current object instance. Pascal property Read_Only: Boolean; Description Read_Only is a Boolean property that indicates if the IdFILE_ATTRIBUTE_READONLY ( 3837) flag is used in the MS DOS file attributes for the current object instance. The value of the property is read from and written to the FileAttributes ( 624) property. See Also Archive ( Directory (

623) 624)

Hidden (

625)

Normal (

625)

System (

626)

FileAttributes (

624)

IdFILE_ATTRIBUTE_READONLY (

3837)

TIdDOSAttributes.System Property Indicates if the file has the "system" attribute applied for the current object instance. Pascal property System: Boolean; Description System is a Boolean property that indicates if the IdFILE_ATTRIBUTE_SYSTEM ( 3837) flag is used in the MS DOS file attributes for the current object instance. The value of the property is read from and written to the FileAttributes ( 624) property. See Also Archive ( Directory (

623) 624)

Hidden (

625)

Normal (

625)

626

Internet Direct (Indy) Version 10.1.5

Classes

TIdDOSBaseFTPListItem Class

Read_Only (

626)

FileAttributes (

624)

IdFILE_ATTRIBUTE_SYSTEM (

3837)

TIdDOSBaseFTPListItem Class Implements support for MS DOS file attributes in FTP client structured directory listings. File IdFTPListTypes (

4646)

Hierarchy

Pascal TIdDOSBaseFTPListItem = class(TIdFTPListItem); Description TIdDOSBaseFTPListItem is a TIdFTPListItem ( 851) descendant that implements support for MS DOS file attributes in the structured directory listings collection for the Indy FTP client. TIdDOSBaseFTPListItem extends the ancestor class to include storage for a TIdDOSAttributes ( 619) instance in the Attributes ( 629) property. TIdDOSBaseFTPListItem is used in directory listing parsers that populate the TIdFTP.DirectoryListing ( FTP servers using the MS DOS listing format.

818) property for remote

See Also TIdFTPListItem (

851)

TIdDOSAttributes (

619)

TIdFTP.DirectoryListing (

818)

TIdDOSBaseFTPListItem Members The following tables list the members exposed by TIdDOSBaseFTPListItem. Properties Property

Description

Attributes ( Data (

629)

Represents MS DOS file attributes for a file or directory entry in a FTP directory listing.

855)

Data from a directory listing response used to populate properties in the collection item.

FileName (

855)

ItemType (

855)

LocalFileName (

Name for a file as assigned on the remote FTP server. Indicates the type of item represented by the collection entry. 855)

ModifiedAvail (

856)

ModifiedDate (

856)

PermissionDisplay ( Size (

Indicates if last modification date and time values are available for the collection item. Last modification date and time for the resource on the remote FTP server. 856)

857)

SizeAvail (

Suggested file name to used for the local file system.

User-displayable representation of permissions for the collection item. Indicates the allocated size for the file resource on the remote FTP server.

857)

Indicates if file size information is available in the Size (

857) property for the collection item.

Methods Method

Description

Assign (

853)

Copies property values from another structured directory listing entry.

Create (

628)

Constructor for the collection item.

Destroy (

628)

Internet Direct (Indy) Version 10.1.5

Frees the collection item.

627

TIdDOSBaseFTPListItem Class

Classes

Legend Method virtual Property

TIdDOSBaseFTPListItem Methods The Methods of the TIdDOSBaseFTPListItem class are listed here. Methods Method

Description

Create ( Destroy (

628) 628)

Constructor for the collection item. Frees the collection item.

Legend Constructor virtual

TIdDOSBaseFTPListItem.Create Constructor Constructor for the collection item. Pascal constructor Create( AOwner: TIdCollection ); override; Parameters Parameters

Description

AOwner

Collection that owns the collection item.

Description Create is the overridden constructor for the collection item. Create calls the inherited constructor using AOwner as an argument. Create allocates resources required for the member that storages values for the Attributes (

629) property.

Use free to call the destructor which frees resources allocated for the collection item. See Also Destroy (

628)

Attributes (

629)

TIdDOSBaseFTPListItem.Destroy Destructor Frees the collection item. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the colleciton item. Destroy clears and frees resources allocated to the Attributes ( the object instance.

629) property. Destroy also calls the inherited Destructor to free

See Also Create (

628)

Attributes ( 628

629) Internet Direct (Indy) Version 10.1.5

Classes

TIdEcho Class

TIdDOSBaseFTPListItem Properties The Properties of the TIdDOSBaseFTPListItem class are listed here. Properties Property

Description

Attributes (

629)

Represents MS DOS file attributes for a file or directory entry in a FTP directory listing.

Legend Property

TIdDOSBaseFTPListItem.Attributes Property Represents MS DOS file attributes for a file or directory entry in a FTP directory listing. Pascal property Attributes: TIdDOSAttributes; Description Attributes is a TIdDOSAttributes ( directory listing.

619) property that represents MS DOS file attributes for a file or directory entry in a FTP

See Also TIdDOSAttributes (

619)

TIdFTP.DirectoryListing (

818)

TIdEcho Class Implements a TCP-based Echo (

631) client.

File IdEcho (

4622)

Hierarchy

Pascal TIdEcho = class(TIdTCPClientCustom); Description TIdEcho is a TIdTCPClientCustom ( 2340) descendant that implements the TCP-based variant of the Echo ( described in the Internet Standards document:

631) Protocol as

RFC 862 - Echo Protocol TIdEcho is useful as a debugging and measurement protocol where the data sent to the server is simply sent back to the originating client. TIdEcho is provided as a measure of the time it takes to send and receive data from an Echo ( 631) Server (TIdECHOServer ( 633)). The TCP-based implementation of the Echo ( TCP connections on TCP Port ( 633) 7.

631) Protocol is a connection based application. An Echo (

631) Server listens for

When a connection is established, any data received by the server is returned to the originating client. The connection remains open until the client application closes the connection. To use TIdEcho, perform the following actions in your application: Internet Direct (Indy) Version 10.1.5

629

TIdEcho Class

Classes

Set values in the Host ( Call Connect (

632) and Port (

633) properties, as required.

2342) to open a connection to the Echo (

631) Server.

Call Echo ( 631) to send data to the server and receive the server response. Use EchoTime ( milliseconds needed to send and receive data from the server. Call Disconnect (

2355) to close the connection to the Echo (

632) to retrieve the number of

631) server.

See Also TIdTCPClientCustom ( IndySupport (

2340)

15)

TIdEcho Members The following tables list the members exposed by TIdEcho. Properties Property

Description

BoundIP (

2345)

BoundPort (

Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

ConnectTimeout ( EchoTime ( Greeting ( Host (

2347)

Millseconds to wait for successful completion of a connection attempt.

632)

Indicates the elapsed time needed to send and receive echo (

2364)

632)

IOHandler (

IP address or host name for the echo ( 2364)

631) server.

The input / output mechanism for the connection.

LastCmdResult (

2367)

ManagedIOHandler ( OnAfterBind (

631) data.

Banner or welcome message for a connection to a protocol server.

Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

2347)

2364) for the connection is maintained by the object instance.

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin ( OnWorkEnd ( Port (

2367)

Event handler signalled for read and / or write operations. 2368)

Event handler signalled when beginning a read or write operation.

2369)

Event handler signalled when completing a read or write operation.

633)

Port number for the Echo (

ReadTimeout (

2349)

Socket (

2369)

Version (

269)

WorkTarget (

631) protocol server .

Millseconds to wait for successful completion of a read attempt. Provides access to the TIdIOHandlerSocket (

1331) for the connection.

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ConnectAndGetAll ( Connected ( Create (

2344)

2353)

Destroy (

357)

Destroy (

2354)

2353)

DisconnectNotifyPeer (

2364) for the connection.

Frees the object instance. Frees the object instance. 2356)

357)

Disconnects the peer connection. Triggers the OnWork event handler. Sends and receives echo data.

358)

GetInternalResponse (

630

Creates the IOHandler (

631)

EndWork (

Opens a connection and reads all data. Constructor for the object instance.

CreateIOHandler (

Echo (

Determines if the peer has been gracefully disconnected. Indicates if the peer connection has been opened.

267)

DoWork (

2351)

Triggers the OnEndWork event handler. 2356)

Reads response detail lines from a peer connection.

Internet Direct (Indy) Version 10.1.5

Classes

TIdEcho Class

GetVersion ( CType (

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

2363)

Sends the RFC protocol header values in a list to the connection. Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdEcho Methods The Methods of the TIdEcho class are listed here. Methods Method Echo (

Description 631)

Sends and receives echo data.

Legend Method

TIdEcho.Echo Method Sends and receives echo data. Pascal function Echo( AText: String ): String; Parameters Parameters

Description

AText

Data to send to the echo server.

Returns String - Data received from the echo server. Description Echo is a String function that sends the text in AText to the echo server, and returns the text received from the echo server. If the returned value is not the same as the text in AText, there may be a problem with the server or the TCP connection. Echo monitors the time needed to send the echo request and receive the echo response, and stores the elapsed time in EchoTime ( 632). Echo uses GetTickCount to retrieve both the starting and ending times (in milliseconds) used to determine EchoTime ( 632). EchoTime ( 632) is the difference between the starting and ending tick counts, and accounts for the ending time reverting to a 0 (zero) value after starting the Echo transmission. Internet Direct (Indy) Version 10.1.5

631

TIdEcho Class

Classes

Echo triggers the OnWorkBegin ( 2368) and OnWorkEnd ( 2369) event handlers both prior to and following the act of writing the value in AText using the IOHandler ( 2364) for the connection. Echo also triggers the OnWorkBegin ( 2368) and OnWorkEnd ( 2369) event handlers both prior to and following the act of reading the echo response using the internal buffering mechanism for the IOHandler ( 2364). Assign values to the Host ( 2364) for the client.

632) and Port (

633) properties and call Connect (

2342) to open the connection and IOHandler (

See Also GetTickDiff (

2813) TIdEcho.Host (

632) TIdEcho.Port (

633) TIdEcho.EchoTime (

632)

TIdEcho Properties The Properties of the TIdEcho class are listed here. Properties Property

Description

EchoTime (

632)

Indicates the elapsed time needed to send and receive echo (

Host (

632)

IP address or host name for the echo (

Port (

633)

Port number for the Echo (

631) data.

631) server.

631) protocol server .

Legend Property read only

TIdEcho.EchoTime Property Indicates the elapsed time needed to send and receive echo (

631) data.

Pascal property EchoTime: Cardinal; Description EchoTime is a read-only Cardinal property that indicates the number of milliseconds required to send and receive data using the Echo ( 631) method. Use EchoTime to determine when there may be problems with the network or connection. EchoTime is calculated in the Echo ( 631) method using GetTickCount and GetTickDiff ( 2813), and represents the elapsed milliseconds from the start of the echo ( 631) request until completion of the echo ( 631) response. EchoTime is adjusted to reflect situations where the ending time reverts to a 0 (zero) value after the Echo ( 631) transmission has been started. See Also TIdEcho.Echo (

631) GetTickCount GetTickDiff (

2813)

TIdEcho.Host Property IP address or host name for the echo (

631) server.

Pascal property Host; Description Host is a published String property in TIdEcho ( Set the value in Port ( transmissions.

633) to indicate the port number where the Echo (

Set values in Host and Port (

632

629). Host indicates the IP address or host name for the Echo (

633) prior to calling Connect (

631) server.

631) server listens for client connections and

2342).

Internet Direct (Indy) Version 10.1.5

Classes

TIdECHOServer Class

See Also Port (

633)

TIdEcho.Port Property Port number for the Echo (

631) protocol server .

Pascal property Port; Description Port is a published Integer property in TIdEcho ( 629). Port represents the port number used by the ECHO protocol, and the port where the server in HOst listens for client connections and transmissions. Port is assigned the default port number for the Echo ( assigned during initailization of the component. Set values in the Host (

631) protocol (IdPORT_ECHO (

632) and Port properties prior to calling Connect (

3984)). The default value for Port is

2342).

See Also IdPORT_ECHO (

3984) Host (

632)

TIdECHOServer Class Implements a TCP-based Echo server. File IdEchoServer (

4623)

Hierarchy

Pascal TIdECHOServer = class(TIdCustomTCPServer); Description TIdECHOServer is a TIdTCPServer ( 2375) descendant that implements the TCP-based variant of the Echo Protocol, as described in the Internet Standards document: RFC 862 - Echo Protocol TIdEchoServer is useful as a debugging and measurement protocol where the data sent to the server is simply sent back to the originating client. The ECHO protocol provides a measure of the time it takes to send and receive data from an Echo Server (TIdECHOServer). The TCP-based implementation of the Echo Protocol server is a connection based application. An Echo Server listens for TCP connections on TCP Port 7. When a connection is established, any data received by the server is returned to the originating client. The connection remains open until the client application closes the connection. Set the value in DefaultPort (

635) to indicate the port assigned for listener threads in the server.

Definitions for socket handles can be added to Bindings ( ( 458) propert y in the server is set to True.

461), and used to created one or more listener threads when the Active

TIdECHOServer overrides the protected method that controls execution of the tasks for client connections to implement the limited functionality of the ECHO protocol. As a result, the general-purpose OnExecute event handler is unused in TIdECHOServer. Any procedure assigned to the OnExecute event handler will be ignored. Internet Direct (Indy) Version 10.1.5

633

TIdECHOServer Class

Classes

When new connections are accepted by the listener thread(s) in the server, the client context is executed. Data read from the connection is echoed back to the originating IP address and port number. Execution of the client context repeates until the connection for the client context is closed. See Also TIdTCPServer (

2375)

IndySupport (

15)

TIdECHOServer Members The following tables list the members exposed by TIdECHOServer. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

635)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Default port number for listener threads in the server.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

MaxConnections ( OnAfterBind (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

Indicates the maximum numer of client connections allowed for the server.

466)

ReuseSocket ( Scheduler (

Represents the IOHandler used by listener threads for the server.

465)

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

269)

WorkTarget (

Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

469)

OnDisconnect ( OnException (

Event handler signalled proper to establishing a client connection to the server. Event handler signalled prior to executing a listener thread. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnStatus (

468)

Event handler for exceptions raised in a peer thread. 470)

359)

Event handler for an exception in a listener thread. Represents the current connection status event handler.

Legend Property read only Method

634

Internet Direct (Indy) Version 10.1.5

Classes

TIdEchoUDP Class virtual Event

TIdECHOServer Properties The Properties of the TIdECHOServer class are listed here. Properties Property

Description

DefaultPort (

635)

Default port number for listener threads in the server.

Legend Property

TIdECHOServer.DefaultPort Property Default port number for listener threads in the server. Pascal property DefaultPort: TIdPort; Description DefaultPort is a published property in TIdECHOServer ( listener thread(s) used in the server. DefaultPort is used in the Bindings (

633). DefaultPort represents the port number to use when creating

461) collection.

Set the value in DefaultPort prior to creating socket handle definitions in Bindings ( 461), or setting the servers Active ( property to True. Changing the value in DefaultPort has no effect on existing definitions in Bindings ( 461). The default value for DefaultPort is IdPORT_ECHO (

458)

3984) as assigned during initialization of the component.

See Also Bindings (

461)

TIdEchoUDP Class Implements a UDP-based Echo (

637) client.

File IdEchoUDP (

4623)

Hierarchy

Pascal TIdEchoUDP = class(TIdUDPClient); Description TIdEchoUDP is a TIdUDPClient ( 2509) descendant that implements the TCP-based variant of the Echo ( described in the Internet Standards document:

637) Protocol as

RFC 862 - Echo Protocol TIdEchoUDP is useful as a debugging and measurement protocol where the data sent to the server is simply sent back to the originating client. TIdEchoUDP is provided as a measure of the time it takes to send ( 2517) and receive data from an Echo ( 637) Server (TIdECHOUDPServer). Internet Direct (Indy) Version 10.1.5

635

TIdEchoUDP Class

Classes

The UDP-based implementation of the Echo ( 637) Protocol is not a connection based application. An Echo ( for the arrival of UDP datagrams on TCP Port ( 638) 7.

637) Server listens

When a UDP datagram arrives at the UDP server, any data received by the server is returned to the originating client. To use TIdEchoUDP, perform the following actions in your application:

Set the value in the Port ( Call Echo (

637) to send (

Use EchoTime (

638) property, as required. 2517) data to the server and receive the server response.

638) to retrieve the number of milliseconds needed to send (

2517) and receive data from the server.

See Also TIdUDPClient (

2509)

IndySupport (

15)

TIdEchoUDP Members The following tables list the members exposed by TIdEchoUDP. Properties Property Active (

Description 2507)

Binding (

Indicates that the socket binding has been allocated for the UDP client.

2508)

Socket handle for the read or write transaction.

BroadcastEnabled ( BufferSize (

2508)

EchoTime ( Host (

2508)

Indicates that the socket binding can perform broadcast (

2500) transmissions.

Specifies the largest UDP packet size.

638)

Indicates the elapsed time needed to send (

2520)

2517) and receive echo (

IPVersion (

2509)

Identifies the IP address family supported for the UDP protocol client.

IPVersion (

2521)

Identifies the IP address family supported for the UDP protocol client.

OnConnected (

2521)

OnDisconnected ( Port (

2521)

638)

Event handler signalled when establishing the UDP client session. Event handler signalled when closing the UDP client session. Port number for the Echo (

637) protocol server .

ReceiveTimeout (

2509)

Indicates the timeout while waiting for a readable socket handle.

ReceiveTimeout (

2522)

Indicates the timeout while waiting for a readable socket handle.

TransparentProxy ( Version (

637) data.

Identifies the address of the remote computer system.

2522)

269)

WorkTarget (

359)

Implements a transparent proxy connection for the UDP client. Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Broadcast (

356)

2500)

CloseProxy (

Send (

2505) data to all computers on the network.

2511)

Closes the socket handle for a proxied connection for the client.

Connect (

2512)

Initializes the client for sending and receiving datagrams.

Connected (

2512)

Indicates if the socket handle for the UDP client has been allocated.

Create (

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

2501)

Frees the object instance.

Destroy (

2513)

Frees the object instance.

Disconnect ( DoWork ( Echo (

2513)

357)

637)

EndWork (

Closes the socket handle and transparent proxy for the client. Triggers the OnWork event handler. Sends and receives echo data.

358)

Triggers the OnEndWork event handler.

GetVersion (

269)

Version (

OpenProxy (

2514)

Ensures the optional transparent proxy is enabled for the client.

Send (

636

Triggers the OnBeginWork event.

2505)

269) number for Indy component suite.

Transmits a datagram to a specified host and port number.

Internet Direct (Indy) Version 10.1.5

Classes

TIdEchoUDP Class

Send ( CType (

2517)

Transmits a datagram to the host and port number for the client.

267)

Create (

1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

ReceiveBuffer ( SendBuffer (

2514)

2518)

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdEchoUDP Methods The Methods of the TIdEchoUDP class are listed here. Methods Method Echo (

Description 637)

Sends and receives echo data.

Legend Method

TIdEchoUDP.Echo Method Sends and receives echo data. Pascal function Echo( AText: String ): String; Parameters Parameters

Description

AText

Data to send (

2517) to the echo server.

Returns String - Data received from the echo server. Description Echo is a String function that sends the text in AText to the echo server, and returns the text received from the echo server. If the returned value is not the same as the text in AText, there may be a problem with the server or the network connection. Echo monitors the time needed to send ( EchoTime ( 638).

2517) the echo request and receive the echo response, and stores the elapsed time in

Echo uses GetTickCount to retrieve both the starting and ending times (in milliseconds) used to determine EchoTime ( 638). EchoTime ( 638) is the difference between the starting and ending tick counts, and accounts for the ending time reverting to a 0 (zero) value after starting the Echo transmission. Echo triggers the OnWorkBegin and OnWorkEnd event handlers both prior to and following the act of writing the value in AText using the IOHandler for the connection. Internet Direct (Indy) Version 10.1.5

637

TIdEchoUDP Class

Classes

Echo also triggers the OnWorkBegin and OnWorkEnd event handlers both prior to and following the act of reading the echo response using the internal buffering mechanism for the IOHandler. Assign a value to the Port (

638) property prior to calling the Echo method.

See Also GetTickDiff (

2813) Port (

638) EchoTime (

638)

TIdEchoUDP Properties The Properties of the TIdEchoUDP class are listed here. Properties Property

Description

EchoTime ( Port (

638)

Indicates the elapsed time needed to send (

638)

Port number for the Echo (

2517) and receive echo (

637) data.

637) protocol server .

Legend Property read only

TIdEchoUDP.EchoTime Property Indicates the elapsed time needed to send (

2517) and receive echo (

637) data.

Pascal property EchoTime: Cardinal; Description EchoTime is a read-only Cardinal property that indicates the number of milliseconds required to send ( 2517) and receive data using the Echo ( 637) method. Use EchoTime to determine when there may be problems with the network connection. EchoTime is calculated in the Echo ( 637) method using GetTickCount and GetTickDiff ( 2813), and represents the elapsed milliseconds from the start of the echo ( 637) request until completion of the echo ( 637) response. EchoTime is adjusted to reflect situations where the ending time reverts to a 0 (zero) value after the Echo ( 637) transmission has been started. See Also Echo (

637)

GetTickCount GetTickDiff (

2813)

TIdEchoUDP.Port Property Port number for the Echo (

637) protocol server .

Pascal property Port; Description Port is a published Integer property in TIdEcho ( where the server listens for client transmissions.

629). Port represents the port number used by the ECHO protocol, and the port

Port is assigned the default port number for the Echo ( assigned during initailization of the component. Set the value for the Port property prior to calling Echo (

638

637) protocol (IdPORT_ECHO (

3984)). The default value for Port is

637).

Internet Direct (Indy) Version 10.1.5

Classes

TIdEchoUDPServer Class

See Also IdPORT_ECHO (

3984)

TIdEchoUDPServer Class Implements a UDP-based Echo server. File IdEchoUDPServer (

4624)

Hierarchy

Pascal TIdEchoUDPServer = class(TIdUDPServer); Description TIdEchoUDPServer is a TIdUDPServer ( 2530) descendant that implements the UDP-based variant of the Echo Protocol, as described in the Internet Standards document: RFC 862 - Echo Protocol TIdEchoUDPServer is useful as a debugging and measurement protocol where the data sent to the server is simply sent back to the originating client. The ECHO protocol provides a measure of the time it takes to send ( 2505) and receive data from an Echo Server (TIdEchoUDPServer). The UDP-based implementation of the Echo Protocol server is not a connection based application. An Echo Server listens for TCP connections on TCP Port 7. The UDP server listens for the arrival of datagrams, and any data received by the server is returned to the originating client. Set the value in DefaultPort (

640) to indicate the port assigned for listener threads in the server.

Definitions for socket handles can be added to Bindings ( Active ( 2507) property in the server is set to True.

2532), and used to created one or more listener threads when the

TIdEchoUDPServer overrides the protected method executed an arriving datagram on a socket handle for a a listener thread is detected. Data read from the socket handle is written to the originating IP address and port number for the datagram. See Also TIdUDPServer (

2530) IndySupport (

15)

TIdEchoUDPServer Members The following tables list the members exposed by TIdEchoUDPServer. Properties Property Active (

Description 2507)

Binding ( Bindings (

Indicates that the socket binding has been allocated for the UDP client.

2508)

Socket handles allocated by the server.

BroadcastEnabled ( BufferSize ( DefaultPort ( IPVersion (

Socket handle for the read or write transaction.

2532) 2508)

2508) 640)

ThreadedEvent (

2500) transmissions.

Specifies the largest UDP packet size. Default port number for listener threads in the server.

2509)

ReceiveTimeout (

Indicates that the socket binding can perform broadcast (

Identifies the IP address family supported for the UDP protocol client. 2509)

2533)

Internet Direct (Indy) Version 10.1.5

Indicates the timeout while waiting for a readable socket handle. Indicates the method used to perform the UDP read events.

639

TIdEchoUDPServer Class Version (

Classes

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Broadcast ( Create (

356)

Triggers the OnBeginWork event.

2500)

Send (

267)

2505) data to all computers on the network.

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

2501)

Frees the object instance.

Destroy (

2532)

Destructor for the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( Send ( CType (

Triggers the OnEndWork event handler.

269)

Version (

2505)

269) number for Indy component suite.

Transmits a datagram to a specified host and port number.

267)

Create (

1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

Events Event OnStatus (

Description 359)

OnUDPException ( OnUDPRead (

Represents the current connection status event handler. 2534)

Event handler for exceptions raised in the listener thread for the UDP server.

2534)

Event handler for UDP read events.

Legend Property read only Method virtual Event

TIdEchoUDPServer Properties The Properties of the TIdEchoUDPServer class are listed here. Properties Property DefaultPort (

Description 640)

Default port number for listener threads in the server.

Legend Property

TIdEchoUDPServer.DefaultPort Property Default port number for listener threads in the server. Pascal property DefaultPort: integer; Description DefaultPort is a published property in TIdEchoUDPServer ( listener thread(s) used in the server. DefaultPort is used in the Bindings (

639). DefaultPort represents the port number to use when creating

2532) collection.

Set the value in DefaultPort prior to creating socket handle definitions in Bindings ( 2532), or setting the servers Active ( property to True. Changing the value in DefaultPort has no effect on existing definitions in Bindings ( 2532). 640

2507)

Internet Direct (Indy) Version 10.1.5

Classes

TIdEMailAddressItem Class

The default value for DefaultPort is IdPORT_ECHO (

3984) as assigned during initialization of the component.

See Also Bindings (

2532)

TIdEMailAddressItem Class Implements a class for an RFC 2822-compliant email address. File IdEMailAddress (

4624)

Hierarchy

Pascal TIdEMailAddressItem = class(TIdCollectionItem); Description The TIdEMailAddressItem is a TIdCollectionItem ( 2822-compliant form.

3011) descendant that structures components in an EMail address into an RFC

TIdEMailAddressItem can also be used to parse the Text ( 646) representing an RFC 2822-compliant EMail address into the component values defined in RFC 2822. These values are stored in properties, including:

Address ( Name ( User (

644)

645) 646)

Domain (

645)

TIdEMailAddressItem also provides encoding and decoding of quoted characters as specified in the the lexical requirements for character quoting in RFC 2822. TIdEMailAddressItem is the collection item class used in the TIdEMailAddressList ( representing a single email address in TIdMessage ( 1521).

647) collection, and for properties

See Also TIdEMailAddressList ( TIdMessage (

1521)

IndySupport (

15)

647)

TIdEMailAddressItem Members The following tables list the members exposed by TIdEMailAddressItem. Properties Property

Description

Address (

644)

Represents the person's Email address.

Domain (

645)

Indicates the host name for the email address.

Name (

645)

Represents the person's name in an EMail address.

Text (

646)

Represents the the full contents of an email address.

User (

646)

Represents the mailbox User name in the email address.

Internet Direct (Indy) Version 10.1.5

641

TIdEMailAddressItem Class

Classes

Methods Method

Description

Assign ( Create (

642)

Copies the properties of an Email Address (

644) item to the current object instance.

642)

Legend Method virtual Property

TIdEMailAddressItem Methods The Methods of the TIdEMailAddressItem class are listed here. Methods Method

Description

Assign ( Create (

642)

Copies the properties of an Email Address (

644) item to the current object instance.

642)

Legend Method virtual

TIdEMailAddressItem.Assign Method Copies the properties of an Email Address (

644) item to the current object instance.

Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

ASource

Persistent class to be assigned to the current object instance.

Description Assign is an overridden procedure that allows the persistent TIdEmailAddressItem ( to the current instance.

641) to assign the values in another instance

Assign copies the values of the Name ( 645) and Address ( 644) members when ASource is another TIdEMailAddessItem instance. Otherwise, Assign relies on the inherited Assign method. See Also TIdEMailAddressItem (

641)

TIdEMailAddressItem.Create Constructor Overload List Method TIdEMailAddressItem.Create () (

Description 643)

Constructor for the object instance.

TIdEMailAddressItem.Create (string) ( 643)

Constructor for the object instance.

TIdEMailAddressItem.Create Constructor for the object instance. (TIdCollection) ( 643)

642

Internet Direct (Indy) Version 10.1.5

Classes

TIdEMailAddressItem Class

TIdEMailAddressItem.Create Constructor () Constructor for the object instance. Pascal constructor Create; overload; reintroduce; Description Create is the overloaded, reintroduced constructor for the object instance. Create calls the inherited constructor using a null owner for the collection item (Nil). Use one of the overloaded variants of Create to initialize a collection item using either a specified owner collection or an email address value. See Also TIdEMailAddressItem.Create TIdEMailAddressList (

647)

TIdEMailAddressItem.Create Constructor (TIdCollection) Constructor for the object instance. Pascal constructor Create( aCollection: TIdCollection ); override; overload; Parameters Parameters

Description

aCollection

Type is TIdCollection (

3011).

Description Create is the overloaded, reintroduced constructor for the object instance. Create calls the inherited constructor using the value specified in ACollection as the owner of the collection item. Use an overloaded variant of the constructor to initialize an email address using a null collection item owner. See Also TIdEMailAddressItem.Create TIdEMailAddressList (

647)

TIdEMailAddressItem.Create Constructor (string) Constructor for the object instance. Pascal constructor Create( aText: string ); overload; reintroduce; Parameters Parameters

Description

aText

Email address to assign (

642) to the properties in the object instance.

Description Create is the overloaded, reintroduced constructor for the object instance. Create calls the inherited constructor using a null null owner for the collection item (Nil). Creates sets the value of the Text (

646) property to the value specified in the AText argument.

Use an overloaded variant of the constructor to initialize an email address using either a specified owner collection, or with neither Internet Direct (Indy) Version 10.1.5

643

TIdEMailAddressItem Class

Classes

an owner nor an email address value. See Also TIdEMailAddressItem.Create TIdEMailAddressList (

647)

TIdEMailAddressItem Properties The Properties of the TIdEMailAddressItem class are listed here. Properties Property

Description

Address (

644)

Represents the person's Email address.

Domain (

645)

Indicates the host name for the email address.

Name (

645)

Represents the person's name in an EMail address.

Text (

646)

Represents the the full contents of an email address.

User (

646)

Represents the mailbox User name in the email address.

Legend Property

TIdEMailAddressItem.Address Property Represents the person's Email address. Pascal property Address: string; Description Address is a String property that represents an Email address in RFC 2822-compliant form. Updating the Name ( new email address.

645) or Address portions of the email address causes the Text (

646) property to be updated to reflect the

For example: // var AEmail: TIdEmailAddressItem; AEmail.Text := '"John Doe" '; // AEmail.Name contains 'John Doe' // AEmail.Address contains '[email protected]' // AEmail.User contains 'jdoe' // AEmail.Domain contains 'some.net' AEmail.Name := 'Jane Doe'; AEmail.Address := '[email protected]'; // AEmail.Text contains '"Jane Doe" ' Use Text (

646) to access the concatenated Name (

Use User (

646) and Domain (

645) and Address for the email address.

645) to access the mailbox and registered organization for the email address.

See Also TIdEMailAddressItem.Text (

646)

TIdEMailAddressItem.Name ( TIdEMailAddressItem.User (

645) 646)

TIdEMailAddressItem.Domain (

644

645)

Internet Direct (Indy) Version 10.1.5

Classes

TIdEMailAddressItem Class

TIdEMailAddressItem.Domain Property Indicates the host name for the email address. Pascal property Domain: string; Description Domain is a read-only String property that indicates the host name or mail exchange where the email will be delivered using a delivery mechanism as described in the Internet Standards document: RFC 2821 - Simple Mail Transfer Protocol Domain returns the contents of the Address ( literal for the address.

644) property following the "@" symbol that indicates the beginning of the domain

Domain can contain an empty string ('') when Address ( Address ( 644).

644) does not contain a value, or the "@" symbol cannot be located in

Use Address ( 644) to access non-domain information (like comments) that may be included in the email address follwing the value in Domain. Use Name (

645) to access the optional name of the person for the email address.

Use User (

646) to access the mailbox name for the email address.

Use Text (

646) to access the Name (

645) and Address (

644) concatenated into an RFC 2822-compliant form.

See Also TIdEMailAddressItem.Address ( TIdEMailAddressItem.User (

644)

646)

TIdEMailAddressItem.Name (

645)

TIdEMailAddressItem.Name Property Represents the person's name in an EMail address. Pascal property Name: string; Description Name is a String property that represents the persons name in the Email address. Updating the Name or Address ( new email address.

644) portions of the email address causes the Text (

646) property to be updated to reflect the

For example: // var AEmail: TIdEmailAddressItem; AEmail.Text := '"John Doe" '; // AEmail.Name contains 'John Doe' // AEmail.Address contains '[email protected]' // AEmail.User contains 'jdoe' // AEmail.Domain contains 'some.net' AEmail.Name := 'Jane Doe'; AEmail.Address := '[email protected]'; // AEmail.Text contains '"Jane Doe" ' Use Text (

646) to access the concatenated Name and Address (

Use User (

646) and Domain (

Internet Direct (Indy) Version 10.1.5

644) for the email address.

645) to access the mailbox and registered organization for the email address. 645

TIdEMailAddressItem Class

Classes

See Also TIdEMailAddressItem.Text (

646)

TIdEMailAddressItem.Address ( TIdEmailAddressItem. User (

644)

646)

TIdEMailAddressItem.Domain (

645)

TIdEMailAddressItem.Text Property Represents the the full contents of an email address. Pascal property Text: string; Description Text is a String property that represents the persons name and email address in RFC 2822-compliant form. Text can be used to set both the Name ( 645) and Address ( 644) for the TIdEMailAddressItem ( 641) by providing an RFC 2822-compliant string. For example: // var AEmail: TIdEmailAddressItem; AEmail.Text := '"John Doe" '; // AEmail.Name contains 'John Doe' // AEmail.Address contains '[email protected]' // AEmail.User contains 'jdoe' // AEmail.Domain contains 'some.net' AEmail.Name := 'Jane Doe'; AEmail.Address := '[email protected]'; // AEmail.Text contains '"Jane Doe" ' When changing the property value, the new email address is examined for use of reserved characters, including '', '@', '(', ')', '"', SPACE, and TAB ( 4393). When the new value for Text contains one of these reserved characters, it is examined for proper use of the characters in the name and address portions of the email address. Use Address ( 644) to access the email address represented by the User ( without the Name ( 645) portion of the email address. Use User (

646) and Domain (

646) and Domain (

645) portions of the value; ie.

645) to access the mailbox and registered organization for the email address.

See Also TIdEMailAddressItem.Name (

645)

TIdEMailAddressItem.Address ( TIdEMailAddressItem.User (

644)

646)

TIdEMailAddressItem.Domain (

645)

TIdEMailAddressItem.User Property Represents the mailbox User name in the email address. Pascal property User: string; Description User is a String property that represents the user name for the mailbox for the email address. The value in the User property is derived from the Address ( 644) property, and represents the portion of the email Address ( 644) that occurs before the '@' that indicates the host domain for the mailbox. User can return an empty string ('') when Address ( 644) is blank, or when address

646

Internet Direct (Indy) Version 10.1.5

Classes

TIdEMailAddressList Class

does not contain an '@' character representing the Domain (

645) for the Address (

644).

// var AEmail: TIdEmailAddressItem; AEmail.Text := '"John Doe" '; // AEmail.Name contains 'John Doe' // AEmail.Address contains '[email protected]' // AEmail.User contains 'jdoe' // AEmail.Domain contains 'some.net' AEmail.Name := 'Jane Doe'; AEmail.Address := '[email protected]'; // AEmail.Text contains '"Jane Doe" '

TIdEMailAddressList Class Represents a collection of EMail addresses. File IdEMailAddress (

4624)

Hierarchy

Pascal TIdEMailAddressList = class(TIdOwnedCollection); Description TIdEMailAddressList is a TIdOwnedCollection ( ( 641) object instances.

3072) descendant that contains a list of EMail addresses, or TIdEMailAddressItem

TIdEMailAddressList allows Items ( 652) to be added or maintained in the collection, and can be used to access the list as a TIdStrings ( 3089) instance or as a comma-delimited string as used in many EMail messages. TIdEMailAddressList provides methods that allow extracting a list with the unique domain names for email addresses in the list, or extacting a list of email addresses for a specific domain name. TIdEMailAddressList may be sorted by Domain name to make it easier to perform processing and delivery for email addresses in the list. TIdEMailAddressList is the type used to represent TIdMessage ( like Receipients, CCList, and BCCList.

1521) properties that can accept one or more EMail addresses,

See Also TIdOwnedCollection (

3072)

TIdEMailAddressItem ( TIdMessage (

641)

1521)

TIdMessage.Recipients (

1551)

TIdMessage.CCList (

1538)

TIdMessage.BccList (

1537)

IndySupport (

15)

TIdEMailAddressList Members The following tables list the members exposed by TIdEMailAddressList. Internet Direct (Indy) Version 10.1.5

647

TIdEMailAddressList Class

Classes

Properties Property

Description

EMailAddresses ( Items (

652)

Represents the contents of the collection as a comma-delimited list of email addresses.

652)

Allows indexed access to email addresses in the collection.

Methods Method Add (

Description 648)

AddItems (

Creates and returns a new Email Address item. 649)

Appends an existing collection of email addresses to the current collection.

AddressesByDomain ( Create (

649)

650)

FillTStrings (

Constructor for the object instance.

650)

GetDomains (

Gathers a list of email addresses in the collection having the specified Domain value. Fills a string list with email addresses in the collection.

651)

SortByDomain (

Populates a list with the unique domain names found in the email address collection.

651)

Sorts the collection items alphabetically by Domain name.

Legend Method Property

TIdEMailAddressList Methods The Methods of the TIdEMailAddressList class are listed here. Methods Method Add (

Description 648)

AddItems (

Creates and returns a new Email Address item. 649)

Appends an existing collection of email addresses to the current collection.

AddressesByDomain ( Create (

649)

650)

FillTStrings (

Constructor for the object instance.

650)

GetDomains ( SortByDomain (

Gathers a list of email addresses in the collection having the specified Domain value. Fills a string list with email addresses in the collection.

651)

Populates a list with the unique domain names found in the email address collection.

651)

Sorts the collection items alphabetically by Domain name.

Legend Method

TIdEMailAddressList.Add Method Creates and returns a new Email Address item. Pascal function Add: TIdEMailAddressItem; Returns TIdEMailAddressItem (

641) - Email address added to the collection.

Description Add is a TIdEMailAddressItem ( 641) function used to create ( the TIdEMailAddressList ( 647) collection.

650) and return a new email address instance which is added to

Add calls the inherited Add method, and ensures that the return value is cast to a TIdEMailAddressItem ( Use AddItems (

641) object instance.

649) to append a an existing collection of email addresses to the current collection.

Use methods in the ancestor class to maintain Items (

652) in the collection, like Delete, Clear, or Destroy.

See Also AddItems (

649)

TIdEMailAddressItem ( 648

641) Internet Direct (Indy) Version 10.1.5

Classes

TIdEMailAddressList Class

TIdEMailAddressList.AddItems Method Appends an existing collection of email addresses to the current collection. Pascal procedure AddItems( AList: TIdEMailAddressList ); Parameters Parameters

Description

AList

An exisiting collection of email addresses to append to the current collection.

Description AddItems is a method used to append an existing collection of email addresses to the current collection. AList represents the collection with TIdEmailAddressItem instances to append to the current collection items. When AList is empty (when the collection Count in AList contains 0), no action is performed. AddItems iterates over the TIdEmailAddressItem instances in the AList collection, and creates a item in the current collection by calling the Add ( 648) method. The value of the new collection item is set by calling Assign using the collection item in AList as an argument. Use methods in the ancestor class to maintain Items (

652) in the collection, like Delete, Clear, or Destroy.

See Also TIdEmailAddressItem

TIdEMailAddressList.AddressesByDomain Method Gathers a list of email addresses in the collection having the specified Domain value. Pascal procedure AddressesByDomain( AList: TIdEMailAddressList; const ADomain: string ); Parameters Parameters

Description

AList

List of email address with the specified Domain value.

ADomain

Domain value to use for inclusion in the list of email addresses.

Description AddressesByDomain is a method used to gather a list of email addresses in the collection having the value specified in ADomain in the Domain property for the collection items. AList is used to store any collection items in the list that match the domain specified in the ADomain argument. The collection specified in AList is cleared prior to gathering TIdEmailAddressItem instances in the collection. ADomain is the host Domain value in TIdEmailAddressItem instances in the collection to include in the AList argument. The value specified in ADomain is case-insensitive; all comparisions are performed using the lower-case equivalent of the Domain property in the collection items. AddressesByDomain iterates over the items in the collection. When a collection item is found that has the specified value in its' Domain property, a corresponding TIdEmailAddressItem item is created in the AList collection. Use SortByDomain ( items.

651) to order the current collection using the value of the Domain property stored in each of the the collection

Use EmailAddresses to access a comma-delimited list that represents all email addresses in the collection regardless of their Domain.

Internet Direct (Indy) Version 10.1.5

649

TIdEMailAddressList Class

Classes

Use FillTStrings ( 650) to populate a TIdStrings ( regardless of their Domain.

3089) instance with the textual version of all email addresses in the collection

See Also EmailAddresses FillTStrings (

650)

SortByDomain (

651)

TIdEmailAddressItem.Domain TIdEmailAddressItem.Text

TIdEMailAddressList.Create Constructor Constructor for the object instance. Pascal constructor Create( AOwner: TIdPersistent ); reintroduce; Parameters Parameters

Description

AOwner

Owner of the object instance.

Description Create is the constructor for the object instance, and is reintroduced to allow assignment of the owner of the list and the class type for Items ( 652) added to the collection. Create calls the inherited constructor using AOwner and a TIdEMailAddressItem (

641) class reference as parameters.

See Also TIdEMailAddressItem ( TIdPersistent (

641)

3073)

TIdEMailAddressList.FillTStrings Method Fills a string list with email addresses in the collection. Pascal procedure FillTStrings( AStrings: TIdStrings ); Parameters Parameters

Description

AStrings

List of email addresses in the collection.

Description FillTStrings is a method used to fill the TIdStrings ( addresses from the collection.

3089) instance, specified by AStrings, with the RFC-2822 formatted EMail

Each TIdEmailAddressItem in the Items ( 652) for the collection will result in a single line being added to AStrings that contains the value of the Text property for each email address collection item. FillTStrings does NOT clear the contents of the string list in AStrings before adding values from the collection. Use SortByDomain ( Use GetDomains (

650

651) to pre-sort collection items by their Domain property values. 651) to gather a unique list of Domain values found in the Items (

652) for the collection.

Internet Direct (Indy) Version 10.1.5

Classes

TIdEMailAddressList Class

Use AddressesByDomain (

649) to gather a list of collection items that match a specified Domain value.

See Also SortByDomain ( GetDomains (

651) 651)

AddressesByDomain (

649)

TIdEMailAddressItem (

641)

TIdEMailAddressItem.Text (

646)

TIdEMailAddressList.GetDomains Method Populates a list with the unique domain names found in the email address collection. Pascal procedure GetDomains( AStrings: TIdStrings ); Parameters Parameters

Description

AStrings

List of unique domain names found in email addresses in the collection.

Description GetDomains is a procedure used to populate the string list in AStrings with a unique list of domain names found in the Items ( 652) for the collection. GetDomains clears the contents of the string list in AStrings prior to adding domain names found in the collection. GetDomains is useful when performing MX (Mail Exchange) lookups prior to delivery of email messages. Use SortByDomain (

651) to pre-order items in the collection by their Domain property value.

Use AddressesByDomain ( Use FillTStrings (

649) to retrieve a list of email address for a specific domain name.

650) to populate a TIdStrings (

3089) instance with the textual version of all email addresses in the collection.

See Also AddressesByDomain ( FillTStrings (

649)

650)

SortByDomain (

651)

TIdEmailAddressItem.Domain

TIdEMailAddressList.SortByDomain Method Sorts the collection items alphabetically by Domain name. Pascal procedure SortByDomain; Description SortByDomain is a procedure used to sort the Items ( the email address collection items. After calling SortByDomain, reading Items ( order. Use GetDomains (

652) in the email address collection alphabetically by the Domain name for

652) by their ordinal position returns the collection items in the alphabetically-sorted

651) to gather a unique list of Domain values found in the Items (

Use AddressesByDomain (

652) for the collection.

649) to gather a list of collection items that match a specified Domain value.

Internet Direct (Indy) Version 10.1.5

651

TIdEMailAddressList Class

Classes

See Also Items (

652)

GetDomains (

651)

GetAddressesByDomain

TIdEMailAddressList Properties The Properties of the TIdEMailAddressList class are listed here. Properties Property

Description

EMailAddresses ( Items (

652)

Represents the contents of the collection as a comma-delimited list of email addresses.

652)

Allows indexed access to email addresses in the collection.

Legend Property

TIdEMailAddressList.EMailAddresses Property Represents the contents of the collection as a comma-delimited list of email addresses. Pascal property EMailAddresses: string; Description EMailAddresses is a String property that represents the contents of the collection as a comma-delimited list of email addresses in RFC 2822-compliant form. Reading the value in EMailAddresses results in a string that contains a comma-delimited list of values for each TIdEmailAddressItem in collection. Writing to EMailAddresses will call Clear to empty the collection, and add ( 648) each EMail address parsed from the new property value to the collection. Please note that Group EMail addresses, delimited with the ":" (colon) and ";" (semi-colon) characters, are ignored when email addresses are added to the collection. See Also TIdEMailAddressItem (

641)

TIdEMailAddressList.Items Property Allows indexed access to email addresses in the collection. Pascal property Items [Index: Integer]: TIdEMailAddressItem; Description Items is an indexed TIdEMailAddressItem ( collection using an Integer index value.

641) property that allows access to TIdEMailAddressItem (

641) entries in the

Index positions in the collection are zero-based. Accessing an index position larger than the length of the collection will raise an exception. Items is the default property for the TIdEMailAddressList ( Use SortByDomain (

651) to order the Items in the collection by the domain name for each email address collection item.

Use AddressesByDomain ( Use GetDomains ( 652

647) collection.

649) to gather a list of collection items that match a specified Domain value.

651) to gather a unique list of Domain values found in the Items for the collection. Internet Direct (Indy) Version 10.1.5

Classes

TIdEncoder Class

See Also TIdEMailAddressList.SortByDomain (

651)

TIdEMailAddressList.AddressesByDomain ( TIdEMailAddressList.GetDomains ( TIdEMailAddressItem (

649)

651)

641)

TIdEncoder Class Ancestor for Indy encoder classes. File IdCoder (

4591)

Hierarchy

Pascal TIdEncoder = class(TIdBaseComponent); Description TIdEncoder is a TIdBaseComponent ( 266) descendant that is the ancestor for Indy classes that perform encoding operations on String- or Stream-based values, and returns the encoded value as a String value. Descendants of TIdEncoder include TIdEncoder3to4 (

657) and TIdEncoderQuotedPrintable (

665).

Applications do not normally create ( 267) instances of TIdEncoder, and instead use one of the descendant classes that implements a specific encoding algorithm. TIdEncoder can be used an as ancestor for classes that utilize a unique encoding algorithm and also adhere to the Indy coder framework. See Also TIdBaseComponent ( TIdEncoder3to4 (

266)

657)

TIdEncoderQuotedPrintable (

665)

TIdEncoder Members The following tables list the members exposed by TIdEncoder. Properties Property

Description

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

GetVersion ( CType (

Constructor for the object instance. 269)

Version (

269) number for Indy component suite.

267)

Encode (

654)

Create (

1274)

Internet Direct (Indy) Version 10.1.5

653

TIdEncoder Class

Classes

Legend Constructor abstract virtual Property read only

TIdEncoder Methods The Methods of the TIdEncoder class are listed here. Methods Method Encode (

Description 654)

Legend Method abstract

TIdEncoder.Encode Method Overload List Method

Description

TIdEncoder.Encode (string) ( TIdEncoder.Encode Integer) ( 654)

655)

Provides encoding for String input values.

(TIdStream, Specifies the method used for encoding stream-based input values.

TIdEncoder.Encode Method (TIdStream, Integer) Specifies the method used for encoding stream-based input values. Pascal function Encode( ASrcStream: TIdStream; const ABytes: Integer = MaxInt ): string; virtual; abstract; overload; Parameters Parameters

Description

ASrcStream

Stream-based values to be encoded.

ABytes

Number of bytes in the input stream to be encoded. Default value is MaxInt.

Returns string - Encoded value for the input parameter(s). Description Encode is an overloaded abstract virtual String function in TIdEncoder ( Stream-based input values.

653), and specifies the method used for encoding

ASrcStream is the stream containing the un-encoded values to be encoded in the method. ABytes indicates the number of bytes in ASrcStream to be affected by the encoding operation. When omitted, ABytes defaults to the constant value MaxInt, and allows the method to read up to MaxInt byte values or until the end of the Stream is reached. The stream-based Encode method must be overridden and implemented in a descendant class using the specific encoding algorithm for the implementation. Use the overloaded string-based variant of the Encode method to perform encoding for values specified in a string data type. 654

Internet Direct (Indy) Version 10.1.5

Classes

TIdEncoder00E Class

Use the Decode method in TIdDecoder (

530) to reverse the encoding performed using the Encode method.

See Also Encode TIdStream (

3087)

TIdDecoder.Decode (

531)

TIdEncoder.Encode Method (string) Provides encoding for String input values. Pascal function Encode( const ASrc: string ): string; overload; Parameters Parameters

Description

ASrc

String value to be encoded.

Returns string - Encoded value for the input parameter(s). Description Encode is an overloaded String function in TIdEncoder (

653) that allows String input values in ASrc to be encoded.

ASrc contains the un-encoded values to be encoded in the method. Encode creates a TIdMemoryStream ( 3058) object instance used store the values in ASrc by calling WriteStringToStream ( 2936). The stream is repositioned to its' origin prior to calling the overloaded Encode method using the TIdMemoryStream ( 3058) instance as an argument. The stream-based Encode method is an abstract virtual method, and must be implemented in a descendant class using the specific encoding algorithm for the implementation. Use the Decode method in TIdDecoder (

530) to decode values created using the Encode method.

See Also Encode TIdMemoryStream (

3058)

WriteStringToStream ( TIdDecoder.Decode (

2936) 531)

TIdEncoder00E Class Implements common encoding routines for encoders using the UUE or XXE encoding algorithms. File IdCoder00E (

4592)

Hierarchy

Pascal TIdEncoder00E = class(TIdEncoder3to4);

Internet Direct (Indy) Version 10.1.5

655

TIdEncoder00E Class

Classes

Description TIdEncoder00E is a TIdEncoder3to4 ( the UUE or XXE encoding algorithms.

657) descendant that implements the common encoding routine used for encoders using

TIdEncoder00E implements an Encode (

657) method that uses the table-driven encoding alphabet for the encoding algorithm.

TIdEncoder00E does not specify the contents in the table-driven encoding alphabet for the encoding algorithm. Use a descendant class, like TIdEncoderUUE ( 667) or TIdEncoderXXE ( 668), that implements the table-driven encoding alphabet for the encoding algorithm. See Also TIdEncoder3to4 (

657) TIdEncoderUUE (

TIdEncoderXXE (

667)

668)

TIdEncoder00E Members The following tables list the members exposed by TIdEncoder00E. Properties Property

Description

CodingTable ( FillChar (

660)

660)

Version (

Specifies the valid characters for the encoder alphabet. Character used to pad input values to the encoder.

269)

Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

Encode (

Constructor for the object instance.

657)

EncodeIdBytes ( GetVersion ( CType (

659)

269)

Performs the encoding algorithm for the encoder using the data specified in an array of bytes. Version (

269) number for Indy component suite.

267)

Encode (

654)

Create (

1274)

Legend Constructor virtual abstract Property read only

TIdEncoder00E Methods The Methods of the TIdEncoder00E class are listed here. Methods Method Encode (

Description 657)

Legend Method virtual

656

Internet Direct (Indy) Version 10.1.5

Classes

TIdEncoder3to4 Class

TIdEncoder00E.Encode Method Pascal function Encode( ASrcStream: TIdStream; const ABytes: Integer = MaxInt ): string; override; Parameters Parameters

Description

ASrcStream

Type is TIdStream (

ABytes

Scope is const. Type is Integer. Default value is MaxInt.

3087).

Returns string Description TIdEncoder00E.Encode overridden method.

TIdEncoder3to4 Class Implements an encoder using a table-driven alphabet to produce output represented in the US-ASCII character set. File IdCoder3to4 (

4593)

Hierarchy

Pascal TIdEncoder3to4 = class(TIdEncoder); Description TIdEncoder3to4 is a TIdEncoder ( 653) descendant that provides encoding capabilities that represents arbitrary sequences of byte data in a form that need not be humanly readable. TIdEncoder3to4 is almost identical to the mechanism used in Privacy Enhanced Mail (PEM) applications, as defined in the Internet Standards document: RFC 1421 - Privacy Enhancement for Internet Electronic Mail, Part I: Message Encryption and Authentication Procedures TIdEncoder3to4 contains a coding table to represent the valid characters in the encoder alphabet. TIdEncoder3to4 represents 3-byte input values as 4 concatenated 6-bit groups, each of which is translated into a single valid character in the encoder coding table. Special processing is performed to ensure that data to be encoded is a multiple of 3-bytes. When fewer than 3 bytes are available, a user-definable fill character is used to pad input data to the required length. TIdEncoder3to4 does not specify the valid characters in the coding table. Application will generally use a descendant class, like TIdCoderMIME or TIdCoderUUE, where the alphabet is specified. See Also TIdEncoder (

653)

TIdEncoderMIME ( TIdEncoderUUE ( IndySupport (

664) 667)

15)

Internet Direct (Indy) Version 10.1.5

657

TIdEncoder3to4 Class

Classes

TIdEncoder3to4 Members The following tables list the members exposed by TIdEncoder3to4. Properties Property

Description

CodingTable ( FillChar (

660)

660)

Version (

Specifies the valid characters for the encoder alphabet. Character used to pad input values to the encoder.

269)

Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

Encode (

Constructor for the object instance.

658)

EncodeIdBytes ( GetVersion ( CType (

Implements the encoding algorithm used to represent arbitrary octet sequences in the 7-bit US-ASCII character set. 659)

269)

Performs the encoding algorithm for the encoder using the data specified in an array of bytes. Version (

269) number for Indy component suite.

267)

Encode (

654)

Create (

1274)

Legend Constructor virtual abstract Property read only

TIdEncoder3to4 Methods The Methods of the TIdEncoder3to4 class are listed here. Methods Method Encode (

Description 658)

EncodeIdBytes (

Implements the encoding algorithm used to represent arbitrary octet sequences in the 7-bit US-ASCII character set. 659)

Performs the encoding algorithm for the encoder using the data specified in an array of bytes.

Legend Method virtual

TIdEncoder3to4.Encode Method Implements the encoding algorithm used to represent arbitrary octet sequences in the 7-bit US-ASCII character set. Pascal function Encode( ASrcStream: TIdStream; const ABytes: Integer = MaxInt ): string; override; Parameters Parameters

Description

ASrcStream

Stream containing the values to be encoded.

ABytes

Number of bytes in the stream to be encoded. Default value is MaxInt.

658

Internet Direct (Indy) Version 10.1.5

Classes

TIdEncoder3to4 Class

Returns String - Encoded values for data in the input stream. Description Encode is an overridden String function in TIdEncoder3to4 ( 657) that reimplements the inherited method to provide the encoding algorithm used to represent arbitrary octet sequences in the 7-bit US-ASCII character set. ASrcStream represents the TIdStream (

3087) descendant that contains the values to be encoded.

ABytes is an Integer that represents the number of bytes in ASrcStream to be encoded. The default value for ABytes is MaxInt. Encode allocates an internal buffer with the size indicted in ABytes to read values from the input stream. If ABytes is larger than than the remaining contents in the stream, the smaller of the two values is used to determine the internal buffer size. Encode calls the ReadBytes method in TIdStreamHelper ( 3088) read the indicated number of bytes into the internal buffer. The EncodeIdBytes ( 659) method is called to execute the actual encoding algorithm using the internal buffer. The return value for the method is extracted from the encoded values using BytesToString ( 2728). Encode returns an empty string ('') when there is no remaining content in the stream as indicated by its' size and position methods. Please note that Encode does not reset the position of the stream in ASrcStream prior to or following the process of reading values from the stream. See Also TIdBytes (

3007)

TIdStreamHelper.ReadBytes EncodeIdBytes (

659)

BytesToString (

2728)

TIdEncoder3to4.EncodeIdBytes Method Performs the encoding algorithm for the encoder using the data specified in an array of bytes. Pascal function EncodeIdBytes( ABuffer: TIdBytes ): TIdBytes; Parameters Parameters

Description

ABuffer

Byte array with values to encode (

658) .

Returns TIdBytes (

3007) - Byte array with encoded values.

Description EncodeIdBytes is a TIdBytes ( ABuffer argument.

3007) function used to perform the encoding algorithm for the encoder using data specified in the

EncodeIdBytes determines the number of bytes required for the 3-byte to 4-byte encoding and pre-allocates the size of the TIdBytes ( 3007) data type used for the return value to the required size. EncodeIdBytes copies the bytes from ABuffer in 3-byte chunks and converts each chunk to 4-byte return value using the CodingTable ( 660) and the encoding algorithm. When there are not enough remaining bytes in ABuffer, the missing input bytes are given the value 0 (zero). Missing bytes are also indicated in the results for the method by adding the required number of the characters from the FillChar ( 660) property. EncodeIdBytes will raise EAssertionFailed exceptions under the following circumstances:

Internet Direct (Indy) Version 10.1.5

659

TIdEncoder3to4 Class

CodingTable (

Classes

660) has not been assigned for the encoder instance.

The required length of the byte array in the result value is larger than the pre-allocated length. The pre-allocated length of the byte array in the result value is larger than the actual number of bytes required. EncodeIdBytes is used in the implementation of the Encode (

658) method.

Exceptions Exceptions

Description

EAssertionFailed

Raised under conditions previously described.

See Also TIdBytes (

3007)

Encode (

658)

TIdEncoder3to4 Properties The Properties of the TIdEncoder3to4 class are listed here. Properties Property

Description

CodingTable ( FillChar (

660)

Specifies the valid characters for the encoder alphabet.

660)

Character used to pad input values to the encoder.

Legend Property read only

TIdEncoder3to4.CodingTable Property Specifies the valid characters for the encoder alphabet. Pascal property CodingTable: string; Description CodingTable is a read-only String property that identifies the valid characters in the alphabet for the encoder. TIdEncoder3to4 ( 657) does not specify the valid characters in CodingTable. Application will generally use a descendant class, like TIdCoderMIME or TIdCoderUUE, where the alphabet is specified. See Also TIdEncoderMIME (

664)

TIdEncoderUUE (

667)

TIdEncoder3to4.FillChar Property Character used to pad input values to the encoder. Pascal property FillChar: Char; Description FillChar is a Char property that identifiers the value to be used to pad the length of an input stream. FillChar is used in Encode ( encoding algorithm. 660

658) and EncodeIdBytes (

659) to pad the input stream to the required multiple of three for the

Internet Direct (Indy) Version 10.1.5

Classes

TIdEncoderBinHex4 Class

See Also Encode (

658)

EncodeIdBytes (

659)

TIdEncoderBinHex4 Class Implements an encoder for Apple BinHex 4.0 content. File IdCoderBinHex4 (

4593)

Hierarchy

Pascal TIdEncoderBinHex4 = class(TIdEncoder3to4); Description TIdEncoderBinHex4 is a TIdEncoder3to4 ( 657) descendant that implements an encoder for Apple BinHex 4.0 formatted content, as described in the Internet Standards document: RFC 1741 - MIME Content Type for BinHex Encoded Files TIdEncoderBinHex4 is a variant of a 4-byte-to-3-byte encoder, but it uses ASCII character 90 for sequences of repeating characters, allowing some compression, but thereby not allowing it to be mapped in as another 3-to-4 decoder. As per the RFC, BinHex encoded data must be encapsulated in a MIME part (it cannot be directly coded inline in an email "body"), the part is strictly defined to have a header entry (with the appropriate "myfile.ext"): Content-Type: application/mac-binhex40; name="myfile.ext" After the header, the part must start with the text (not indented): (This file must be converted with BinHex 4.0) This allows the option and the ambiguity of identifying it by either the Content-Type or by the initial text line. However, it is also stated that any text before the specified text line must be ignored, implying the line does not have to be the first - an apparent contradiction. The encoded file then follows, split with CRLFs (to avoid lines that are too long for emails) that must be discarded. The file starts with a colon (:), a header, followed by the file contents, and ending in another colon. There is also an interesting article on the web, "BinHex 4.0 Definition by Peter N Lewis, Aug 1991", which has very useful information on what is implemeted in practice, and seems to come with the good provenance of bitter experience. The BinHex format Here is a description of the Hqx7 (7 bit format as implemented in BinHex 4.0) formats for Macintosh Application and File transfers. The main features of the format are:

• Error checking even using ASCII download • Compression of repetitive characters • 7-bit encoding for ASCII download BinHex format is processed at three different levels:

• 8 bit encoding of the file:

Internet Direct (Indy) Version 10.1.5

661

TIdEncoderBinHex4 Class

Classes

Data Type

Description

Byte

Length of the FileName (1..63)

Bytes

FileName bytes (up to "Length" bytes)

Byte

Version (

Long

Type

Long

Creator

Word

Flags (And $F800)

Long

Length of Data Fork

Long

Length of Resource Fork

Word

CRC

Bytes

Data Fork ("Data Length" bytes)

Word

CRC

Bytes

Resource Fork ("Rsrc Length" bytes)

Word

CRC

269)

• Compression of repetitive characters. $90 is the marker, and encoding is made for 3-255 characters. 00 11 22 33 44 55 66 77 -> 00 11 22 33 44 55 66 77 11 22 22 22 22 22 22 33 -> 11 22 90 06 33 11 22 90 33 44 -> 11 22 90 00 33 44 The whole file is considered as a stream of bits. This stream will be divided in blocks of 6 bits and then converted to one of 64 characters contained in a table. The characters in this table have been chosen for maximum noise protection. The format will start with a ":" (first character on a line) and end with a ":". There will be a maximum of 64 characters on a line. It must be preceded, by this comment, starting in column 1 (it does not start in column 1 in this document): (This file must be converted with BinHex 4.0) Any text before this comment is to be ignored. Use GBinHex4CodeTable (

3209) to access the characters used in the encoded file format.

Implementation Notes There are older variants referred to in RFC 1741, but I have only come across encodings in current use as separate MIME parts, which this implementation is targetted at. When encoding into BinHex4, you do NOT have to implement the run-length encoding (the character 90 for sequences of repeating characters), and this encoder does not do it. The CRC values generated in the header have NOT been tested (because this decoder ignores them). The decoder has to allow for the run-length encoding. The decoder works irrespective of whether it is preceded by the identification string or not (GBinHex4IdentificationString ( 3210) below). The string to be decoded must include the starting and ending colons. It can deal with embedded CR ( 3174) and LFs. Unlike base64 and quoted-printable, we cannot decode line-by-line cleanly, because the lines do not contain a clean number of 4-byte blocks due to the first line starting with a colon, leaving 63 bytes on that line, plus you have the problem of dealing with the run-length encoding and stripping the header. If the attachment only has a data fork, it is saved; if only a resource fork, it is saved; if both, only the data fork is saved. The decoder does NOT check that the CRC values are correct. Indy units use the content-type to decide if the part is BinHex4: Content-Type: application/mac-binhex40; name="myfile.ext" WARNING: This code only implements BinHex4.0 when used as a part in a MIME-encoded email. To have a part encoded, set the value in the content transfer property for the message part: ContentTransfer := 'binhex40'.

662

Internet Direct (Indy) Version 10.1.5

Classes

TIdEncoderBinHex4 Class

See Also TIdEncoder3to4 (

657)

TIdEncoderBinHex4 Members The following tables list the members exposed by TIdEncoderBinHex4. Properties Property

Description

CodingTable ( FillChar (

660)

660)

Version (

Specifies the valid characters for the encoder alphabet. Character used to pad input values to the encoder.

269)

Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

Encode (

Constructor for the object instance.

658)

EncodeFile (

663)

EncodeIdBytes ( GetVersion ( CType (

Implements the encoding algorithm used to represent arbitrary octet sequences in the 7-bit US-ASCII character set. 659)

269)

Performs the encoding algorithm for the encoder using the data specified in an array of bytes. Version (

269) number for Indy component suite.

267)

Encode (

654)

Create (

1274)

Legend Constructor virtual abstract Property read only

TIdEncoderBinHex4 Methods The Methods of the TIdEncoderBinHex4 class are listed here. Methods Method EncodeFile (

Description 663)

Legend Method

TIdEncoderBinHex4.EncodeFile Method Pascal procedure EncodeFile( AFileName: string; ASrcStream: TIdStream; ADestStream: TIdStream ); Parameters Parameters

Description

AFileName

File name to include in the header for the encoded content.

ASrcStream

Stream with the un-encoded values for the operation.

ADestStream

Stream with the encoded values from the operation.

Internet Direct (Indy) Version 10.1.5

663

TIdEncoderMIME Class

Classes

Description EncodeFile is an overloaded method used to create ( 267) the BinHex 4.0-encoded format for data provided in ASrcStream. Encoded values are written to the stream indicated in ADestStream. AFilename indicates the file name to used in the BinHex 4.0 header, and should not exceed 255 bytes (the maximumn allowed in the encoding format). When AFilename exceeds 255 characters, extra character are truncated. EncodeFile does not implement optional run-length encoding for the BinHex format. EncodeFile writes the BinHex identification string in GBinHex4IdentificationString ( following data types:

Data Type

Description

Byte

Length of the FileName (1..63)

Bytes

FileName bytes (up to "Length" bytes)

Byte

Version (

Long

Type

Long

Creator

Word

Flags (And $F800)

Long

Length of Data Fork

Long

Length of Resource Fork

Word

Content CRC

Bytes

Data Fork ("Data Length" bytes)

Word

Data Fork CRC

Bytes

Resource Fork ("Rsrc Length" bytes)

Word

Resource Fork CRC

3210) and the BinHex Header that includes the

269)

The encoded content is written following the BinHex header information, with the Colon delimiter (ASCII Decimal 58) at both the beginning and end of the encoded data. Use the TIdDecoderBinHex4.Decode (

541) method to decode values created using EncodeFile.

See Also TIdDecoderBinHex4.Decode (

541)

TIdEncoderMIME Class Implements an encoder for MIME content using the Base64 encoding scheme. File IdCoderMIME (

4595)

Hierarchy

Pascal TIdEncoderMIME = class(TIdEncoder3to4); Description TIdEncoderMIME is a TIdEncoder3to4 ( 657) descendant that implements an encoder for MIME content encoded using the Base64 encoding algorithm. TIdEncoderMIME enhances the ancestor class by overriding the protected InitComponent method to 664

Internet Direct (Indy) Version 10.1.5

Classes

TIdEncoderQuotedPrintable Class

perform initalization that allow the encoder to utilize the Base64 alphabet identified in GBase64CodeTable ( padding character "=" in the FillChar ( 660) property.

3208) and the special

Example [Delphi] Encoding data in a string. var AEnc: TIdEncoderMime; sInput: String; sEncOutput: String; ... AEnc := TIdEncoderMIME.Create(Nil); sEncOutput := AEnc.Encode(sInput); AEnc.Free; [Delphi] Encoding stream-based data. var AEnc: TIdEncoderMime; AStream: TIdStream; sEncOutput: String; ... AEnc := TIdEncoderMIME.Create(Nil); sEncOutput := AEnc.Encode(AStream, AStream.Size); AEnc.Free; See Also TIdEncoder3to4 (

657)

TIdEncoder3to4.FillChar (

660)

TIdEncoder3to4.CodingTable ( GBase64CodeTable (

660)

3208)

TIdEncoderQuotedPrintable Class Implements an encoder for the Quoted-Printable encoding scheme. File IdCoderQuotedPrintable (

4596)

Hierarchy

Pascal TIdEncoderQuotedPrintable = class(TIdEncoder); Description TIdEncoderQuotedPrintable is a TIdEncoder ( 653) descendant that implements the encoding algorithm for the Quoted-Printable encoding scheme. TIdEncoderQuotedPrintable will convert values in the manner described in the Internet Standards document: RFC 2045 - Multipurpose Internet Mail Extensions (MIME), Part One: Format of Internet Message Bodies, Section 6.7 Quoted-Printable Content Transfer Encoding Use TIdDecoderQuotedPrintable (

545) to return Quoted-Printable values to their un-encoded state.

See Also TIdDecoderQuotedPrintable (

545)

Internet Direct (Indy) Version 10.1.5

665

TIdEncoderQuotedPrintable Class

Classes

TIdEncoderQuotedPrintable Members The following tables list the members exposed by TIdEncoderQuotedPrintable. Properties Property

Description

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method Create (

Description 267)

Encode ( GetVersion ( CType (

Constructor for the object instance.

666) 269)

Applies the Quoted-Printable encoding scheme to values in a stream. Version (

269) number for Indy component suite.

267)

Encode (

654)

Create (

1274)

Legend Constructor virtual abstract Property read only

TIdEncoderQuotedPrintable Methods The Methods of the TIdEncoderQuotedPrintable class are listed here. Methods Method Encode (

Description 666)

Applies the Quoted-Printable encoding scheme to values in a stream.

Legend Method virtual

TIdEncoderQuotedPrintable.Encode Method Applies the Quoted-Printable encoding scheme to values in a stream. Pascal function Encode( ASrcStream: TIdStream; const ABytes: integer = MaxInt ): string; override; Parameters Parameters

Description

ASrcStream

Stream contain byte values to be encoded.

ABytes

Number of bytes from the stream to be encoded. Default value is MaxInt.

Returns string - Values after applying the Quoted-Printable encoding. Description Encode is an overridden String function used to apply the Quoted-Printable encoding scheme to values in a stream. The Quoted-Printable encoding scheme is described in the Internet Standards document:

666

Internet Direct (Indy) Version 10.1.5

Classes

TIdEncoderUUE Class

RFC 2045, Multipurpose Internet Mail Extensions (MIME), Part One: Format of Internet Message Bodies, Section 6.7 Quoted-Printable Content Transfer Encoding . ASrcStream is the stream containing the un-encoded values to be used in the encoding operation. When ASrcStream has a size of 0, no operation is performed by the Encode method. ABytes indicates the number of bytes to read from the stream for use in the method. The default value is MaxInt, and indicates that all remaining byte values in the stream will receive the Quoted-Printable encoding. Please note that any value in ABytes is ignored in the current implementation. Encode uses values starting at the current position in the stream; no stream positioning is performed prior to reading the un-encoded values from ASrcStream. Encode reads data from the stream indicated by ASrcStream, and applies Quoted-Printable encoding for any characters not regarded as "Safe Characters" in the encoding scheme. The quoted-printable encoding algorithm does not perform any conversion for the following characters in the ranges 33-60 Decimal (inclusive) or 62-126 Decimal (inclusive). The Encode method encodes any '.' (Period)(Decimal 46) character that appears at the beginning of an encoded line to it's quoted-printable hexidecimal representation ("=2E"). Whitespace characters (Space and TAB ( 4393)) followed by an end-of-line character (CR ( to their quoted-printable hexidecimal representations.

3174) or LF (

4341)) are converted

The Encode method applies line folding for individual lines of data that exceed 72 encoded characters. When the maximum line length is reached, a line-end marker ("=" Decimal 61) is inserted in the output and encoding resumes on the following line. The Equal Sign ("=" Decimal 61) is reserved as the quoted-printable prefix marker and line-end marker. Any occurrences of this character found the AStream will be converted to the quoted-printable hexidecimal representation ("=3D"). Please note that Encode does not reset the position of the stream in ASrcStream after the encoding operation. The return value for the method contains the bytes read from ASrcStream and encoded using the Quoted-Printable encoding scheme. Use the Decode method in TIdDecoderQuotedPrintable (

545) to convert values to their un-encoded form.

See Also TIdDecoderQuotedPrintable.Decode ( TIdStream (

546)

3087)

TIdEncoderUUE Class Implements support for the UUENcode alphabet in the UUEncode algorithm. File IdCoderUUE (

4597)

Hierarchy

Pascal TIdEncoderUUE = class(TIdEncoder00E); Description TIdEncoderUUE is a TIdEncoder00E ( 655) descendant that extends the ancestor class by implementing support for the UUEncode alphabet in the UUEncoder algorithm. TIdEncoderUUE specifies the UUEncode alphabet using the constant GUUECodeTable (

Internet Direct (Indy) Version 10.1.5

3216).

667

TIdEntityHeaderInfo Class

Classes

See Also TIdEncoderUUEBase GUUECodeTable (

3216)

TIdEncoderXXE Class Implements support for the XXEncode alphabet and the XXEncode algorithm. File IdCoderXXE (

4599)

Hierarchy

Pascal TIdEncoderXXE = class(TIdEncoder00E); Description TIdEncoderXXE is a TIdEncoder00E ( 655) descendant that extends the ancestor class by implementing support for the XXEncode alphabet in the XXEncoder algorithm. TIdEncoderXXE specifies the XXEncode alphabet using the constant GXXECodeTable ( 3216). See Also TIdEncoderUUE (

667)

GXXECodeTable (

3216)

TIdEntityHeaderInfo Class Specifies entity and general headers used in the HTTP protocol. File IdHTTPHeaderInfo (

4663)

Hierarchy

Pascal TIdEntityHeaderInfo = class(TIdPersistent); Description TIdEntityHeaderInfo is a TPersistent descendant that represents message headers from a HTTP request or response, as described in the Internet Standards document: RFC 2616 - Hypertext Transfer Protocol version 1.1 [HTTP/1.1] TIdEntityHeaderInfo is the ancestor class that defines the common headers used in TIdRequestHeaderInfo ( 1857) and TIdResponseHeaderInfo ( 1865), and represents header fields that define metainformation about the entity body or, if no body is present, about a resource associated with a request. Some of this metainformation is optional; some headers might be required dependent on the HTTP protocol specification. Applications will normally create ( 670) instances of TIdRequestHeaderInfo ( implement the contextual semantic requirements for the HTTP protocol.

668

1857) or TIdResponseHeaderInfo (

1865), which

Internet Direct (Indy) Version 10.1.5

Classes

TIdEntityHeaderInfo Class

See Also TIdRequestHeaderInfo (

1857)

TIdResponseHeaderInfo (

1865)

TIdEntityHeaderInfo Members The following tables list the members exposed by TIdEntityHeaderInfo. Properties Property

Description

CacheControl ( Connection (

672)

Specifies the HTTP Cache-Control general message header directives.

673)

Indicates that the connection will be closed after a response.

ContentEncoding (

673)

Indicates transformations applied to the content of an entity.

ContentLanguage (

673)

Identifies the preferred language for the contents of an entity.

ContentLength (

674)

ContentRangeEnd (

Indicates the size of an entity body.

674)

ContentRangeInstanceLength ( ContentRangeStart ( ContentType (

675)

Indicates the type, subtype, and attribute parameters for data in an entity body.

676)

CustomHeaders (

Identifies the version tag associated with a server resource.

676)

Represents custom headers names and values for the HTTP message.

676)

Expires (

Indicates the origin date and time for an HTTP message.

677)

Represents the timestamp when an entity is considered stale.

HasContentLength (

677)

HasContentRange (

678)

HasContentRangeInstance ( LastModified ( Pragma (

Represents the entity size for a content range request. Identifies the beginning byte range in a partial request.

675)

ContentVersion ( Date (

Identifies the upper byte range in a partial request. 675)

Indicates if a value has been assigned to ContentLength ( 678)

678)

678)

RawHeaders (

674) in the entity headers.

Indicates the date and time a server resource was modified. Represents HTTP server directives in a client request.

679)

Contains message header names and values in their original form.

Methods Method Clear ( Create ( Destroy (

Description 670) 670) 671)

Resets properties to their default empty values. Constructor for the object instance. Frees the object instance.

Legend Method virtual Property read only

TIdEntityHeaderInfo Methods The Methods of the TIdEntityHeaderInfo class are listed here. Methods Method Clear ( Create ( Destroy (

Description 670) 670) 671)

Resets properties to their default empty values. Constructor for the object instance. Frees the object instance.

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

669

TIdEntityHeaderInfo Class

Classes

TIdEntityHeaderInfo.Clear Method Resets properties to their default empty values. Pascal procedure Clear; virtual; Description Clear is procedure that resets properties in the object instance to their default empty values, including:

Connection (

673)

ContentVersion (

676)

ContentEncoding (

673)

ContentLanguage (

673)

ContentType (

675)

ContentLength (

674)

ContentRangeStart (

675)

ContentRangeEnd ( Date (

674)

676)

LastModified ( Expires (

678)

677)

RawHeaders (

679)

Clears sets the default value for the ContentType ( content type.

675) property to an empty string ('') since HTTP requests have no default

See Also Connection (

673)

ContentVersion (

676)

ContentEncoding (

673)

ContentLanguage (

673)

ContentType (

675)

ContentLength (

674)

ContentRangeStart ( ContentRangeEnd ( Date (

675) 674)

676)

LastModified ( Expires (

678)

677)

CustomHeaders ( RawHeaders (

676)

679)

TIdEntityHeaderInfo.Create Constructor Constructor for the object instance.

670

Internet Direct (Indy) Version 10.1.5

Classes

TIdEntityHeaderInfo Class

Pascal constructor Create; virtual; Description Create is the constructor for the object instance. Create relies on the inherited constructor, and initializes the object properties CustomHeaders ( 676) and RawHeaders ( 679) prior to calling Clear ( 670). See Also CustomHeaders ( RawHeaders ( Clear (

676)

679)

670)

Destroy (

671)

TIdEntityHeaderInfo.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy frees the object properties CustomHeaders ( 679) prior to calling the inherited Destroy method.

676) and RawHeaders (

See Also CustomHeaders ( RawHeaders (

676)

679)

TIdEntityHeaderInfo Properties The Properties of the TIdEntityHeaderInfo class are listed here. Properties Property

Description

CacheControl ( Connection (

672)

Specifies the HTTP Cache-Control general message header directives.

673)

Indicates that the connection will be closed after a response.

ContentEncoding (

673)

Indicates transformations applied to the content of an entity.

ContentLanguage (

673)

Identifies the preferred language for the contents of an entity.

ContentLength (

674)

ContentRangeEnd (

Indicates the size of an entity body.

674)

ContentRangeInstanceLength ( ContentRangeStart ( ContentType (

675)

CustomHeaders (

Indicates the type, subtype, and attribute parameters for data in an entity body.

676)

Identifies the version tag associated with a server resource.

676)

Represents custom headers names and values for the HTTP message.

676)

Expires (

Indicates the origin date and time for an HTTP message.

677)

Represents the timestamp when an entity is considered stale.

HasContentLength (

677)

HasContentRange (

678)

HasContentRangeInstance ( LastModified ( Pragma (

Represents the entity size for a content range request. Identifies the beginning byte range in a partial request.

675)

ContentVersion ( Date (

Identifies the upper byte range in a partial request. 675)

Indicates if a value has been assigned to ContentLength ( 678)

678)

678)

RawHeaders (

674) in the entity headers.

Indicates the date and time a server resource was modified. Represents HTTP server directives in a client request.

679)

Internet Direct (Indy) Version 10.1.5

Contains message header names and values in their original form.

671

TIdEntityHeaderInfo Class

Classes

Legend Property read only

TIdEntityHeaderInfo.CacheControl Property Specifies the HTTP Cache-Control general message header directives. Pascal property CacheControl: String; Description CacheControl is a String property that contains HTTP Cache-Control general message header directives in an HTTP request or response. CacheControl indicates the behavior that prevents a cache from adversely interfering with the request or response, and generally override the default caching algorithms. Cache directives are unidirectional, and the presence of a directive in a HTTP request does not imply that the same directive will appear in a HTTP response. Some common values for CacheControl in a HTTP request include the following:

'no-cache' 'no-store' 'max-age=' [delta-seconds] 'max-stale=' [delta-seconds] 'min-fresh=' [delta-seconds] 'no-transform' 'only-if-cached' Some common values for CacheControl in a HTTP response include the following:

'public' 'private' 'no-cache' 'no-store' 'no-transform' 'must-revalidate' 'proxy-revalidate' 'max-age=' [delta-seconds] 's-maxage=' [delta-seconds] CacheControl is not normally implemented for HTTP/1.0, which might contain a header value for storage in the the Pragma (

678) property that

contains the value 'no-cache'. See Also CustomHeaders ( Pragma (

672

676)

678)

Internet Direct (Indy) Version 10.1.5

Classes

TIdEntityHeaderInfo Class

TIdEntityHeaderInfo.Connection Property Indicates that the connection will be closed after a response. Pascal property Connection: string; Description Connection is a String property that contains the value for the HTTP general message header that indicates the options desired for a particular connection. The Connection header value must not be forwarded by a proxy over further connections. For HTTP/1.1 applications, Connection may contain the value "close" to indicate that the connection will be closed after completion of the response. HTTP/1.1 applications that do not support persistent connections must include the "close" connection option in every message. See Also TIdProxyConnectionInfo (

1795)

TIdEntityHeaderInfo.ContentEncoding Property Indicates transformations applied to the content of an entity. Pascal property ContentEncoding: string; Description ContentEncoding is a String property used as an optional modifier to the ContentType ( 675) for an entity body. ContentEncoding indicates the additional content encoding performed on the entity body, and the decoding mechanisms needed to obtain the media-type referenced by ContentType ( 675). ContentEncoding must contain a value that is registered with the Internet Assigned Numbers Authority (IANA ( permitted the following values:

4762)), and initially

Value

Meaning

gzip

An encoding format produced by the file compression program "gzip" (GNU zip) as described in RFC 1952. This format is a Lempel-Ziv coding (LZ77) with a 32 bit CRC.

compress The encoding format produced by the common UNIX ( ( 2741) format is an adaptive Lempel-Ziv-Welch coding (LZW).

4539) file compression program "compress (

2741)". This

deflate ( 2765)

The "zlib" format defined in RFC 1950 in combination with the "deflate ( RFC 1951.

2765)" compression mechanism described in

identity

The default (identity) encoding; uses no transformation whatsoever. This content encoding is used only in the AcceptEncoding header in TIdRequestHeaderInfo ( 1857), and should not be used in the ContentEncoding header.

If multiple encodings have been applied to an entity, then ContentEncoding will list the encodings in the order in which they were applied. Additional information about encoding parameters may be provided by other entity header properties, or in ExtraHeaders. See Also TIdRequestHeaderInfo.AcceptEncoding ( CustomHeaders (

1861)

676)

TIdEntityHeaderInfo.ContentLanguage Property Identifies the preferred language for the contents of an entity.

Internet Direct (Indy) Version 10.1.5

673

TIdEntityHeaderInfo Class

Classes

Pascal property ContentLanguage: string; Description ContentLanguage is a String property that identifies the preferred language for the contents of an entity. If ContentLanguage not specified, then the content is intended for all language audiences or the default alnguage is unknown. Multiple languages may be listed for content that is intended for multiple audiences by using a comma-delimited list of language values. The syntax for values in ContentLanguage is defined in the Internet Standards document: RFC 1766 - Tags for the Identification of Languages

TIdEntityHeaderInfo.ContentLength Property Indicates the size of an entity body. Pascal property ContentLength: Int64; Description ContentLength is an Integer property that indicates the size of an entity body, as a number of octets. ContentLength reflects the transfer length of the content after any encodings specified in ContentEncoding ( 673). When ContentLength is given in a message where a message body is allowed, its field value must exactly match the number of octets in the message body. ContentLength should be avaiable whenever the message length can be determined prior to being transferred, unless this is prohibited by the HTTP protocol specification. For compatibility with HTTP/1.0 applications, HTTP/1.1 requests containing a message body must include a valid ContentLength header field unless the server is known to be HTTP/1.1 compliant. If a request contains a message body and ContentLength is not given, the server should respond with 400 (bad request) if it cannot determine the length of the message, or with 411 (length required) if it wishes to insist on receiving a valid ContentLength. All HTTP/1.1 applications that receive entities must accept "chunked" transfers that allow retrieval of HTP entities when the message length cannot be determined in advance. See Also ContentEncoding (

673)

CustomHeaders (

676)

TIdEntityHeaderInfo.ContentRangeEnd Property Identifies the upper byte range in a partial request. Pascal property ContentRangeEnd: Int64; Description ContentRangeEnd is an Int64 property that identifies the upper byte range requested for a partial entity resource. ContentRangeEnd is used with ContentRangeStart ( 675) and ContentRangeInstanceLength ( 675) to form the "Content-Range" message header value. All ContentRangeEnd values are expressed in bytes. Clients cannot depend on servers to send a "416 Requested range not satisfiable" response instead of a "200 (OK ( 4359))" response for an unsatisfiable request with ContentRangeStart ( 675) and ContentRangeEnd values, since not all servers implement this request-header. See Also ContentRangeStart (

674

675)

Internet Direct (Indy) Version 10.1.5

Classes

TIdEntityHeaderInfo Class

ContentRangeInstanceLength (

675)

TIdEntityHeaderInfo.ContentRangeInstanceLength Property Represents the entity size for a content range request. Pascal property ContentRangeInstanceLength: Int64; Description ContentRangeInstanceLength is an Int64 property that represents the size of an entity or the maximum number of bytes available in a "Content-Range" message header for a requested entity. ContentRangeInstanceLength is used with values in the ContentRangeStart ( identify the requested byte ranges and upper limit.

675) and ContentRangeEnd (

674) properties to

In the following example, ContentRangeInstanceLength is represented by the value 102400. content-range: bytes 1-65536/102400 content-range: bytes 1-65536/* When the entity size is not know, is or insignificant, the value zero is used to represent the '*' in the following example: content-range: bytes 1-65536/* See Also ContentRangeEnd ( ContentRangeStart (

674) 675)

TIdEntityHeaderInfo.ContentRangeStart Property Identifies the beginning byte range in a partial request. Pascal property ContentRangeStart: Int64; Description ContentRangeStart is an Int64 property that identifies the beginning byte range requested for a partial entity resource. ContentRangeStart is used with ContentRangeEnd ( 674) to form the "Content-Range" message header value. All ContentRangeStart values are expressed in bytes. Clients cannot depend on servers to send a "416 Requested range not satisfiable" response instead of a "200 (OK ( 4359))" response for an unsatisfiable request with ContentRangeStart and ContentRangeEnd ( 674) values, since not all servers implement this request-header. See Also ContentRangeEnd (

674)

TIdEntityHeaderInfo.ContentType Property Indicates the type, subtype, and attribute parameters for data in an entity body. Pascal property ContentType: string; Description ContentType is a String property that indicates the media type used to represent an entity body, and contains a registered Internet Assigned Number Authority (IANA ( 4762)) media type. HTTP uses ContentType to provide open and extensible data typing and type negotiation. ContentType contains type, subtype, and parameter attribute name components significant to the processing of a media-type. Internet Direct (Indy) Version 10.1.5

675

TIdEntityHeaderInfo Class

Classes

Any HTTP/1.1 message containing an entity body should include a ContentType value defining the media type of that body. The default value for media type should be "application/octet-stream".

TIdEntityHeaderInfo.ContentVersion Property Identifies the version tag associated with a server resource. Pascal property ContentVersion: string; Description ContentVersion is a String property that represents the version tag associated with a rendition of an entity. ContentVersion can be used with the "Derived-From" message header in RawHeaders ( 679) to allow access to multiple versions of the same server resource. See Also TIdEntityHeaderInfo.RawHeaders (

679)

TIdEntityHeaderInfo.CustomHeaders Property Represents custom headers names and values for the HTTP message. Pascal property CustomHeaders: TIdHeaderList; Description CustomHeaders is a TIdHeaderList ( 1024) property that contains header names and values that have been added to an HTTP message by the client application. CustomHeaders is used to stored header names and values that are not represented as properties in TIdEntityHeaderInfo ( 668) and descendant classes. CustomHeaders is initialized in the Create (

670) constructor, and freed in Destroy (

671).

CustomHeaders is used when TIdEntityHeaderInfo ( 668) builds the textual representation of header names and value for an HTTP message prior to transmission. When building the textual header values, headers represented as properties in TIdEntityHeaderInfo ( 668) are added to RawHeaders ( 679). Any values in CustomHeaders are appended to the text without any additional processsing. Use CustomHeaders to create ( 670) HTTP headers that are not represented as properties, since RawHeaders ( when generating headers for the HTTP message from properties and CustomHeaders.

679) is cleared

See Also RawHeaders (

679)

CustomHeasders TIdRequestHeaderInfo ( TIdResponseHeaderInfo (

1857) 1865)

TIdEntityHeaderInfo.Date Property Indicates the origin date and time for an HTTP message. Pascal property Date: TIdDateTime; Description Date is a TDateTime property that indicates the origin date and time for an HTTP message. Origin servers must include a Date value in all responses, except in the following cases:

676

Internet Direct (Indy) Version 10.1.5

Classes

TIdEntityHeaderInfo Class

Response

Conditions

100 (Continue)

Date is an optional header field.

101 Protocols)

(Switching Date is an optional header field.

500 (Internal Error) 503 Unavailable)

Server It is inconvenient or impossible to generate a valid Date. Server does not have a clock that can provide a reasonable approximation of the current time. (Service It is inconvenient or impossible to generate a valid Date. Server does not have a clock that can provide a reasonable approximation of the current time.

A received message without a Date header must have a Date header value constructed on the client after receipt. A message sent by a client can contain an optional Date header value if the message has an entity body, as in HTTP PUT and POST requests.

TIdEntityHeaderInfo.Expires Property Represents the timestamp when an entity is considered stale. Pascal property Expires: TIdDateTime; Description Expires is a TDateTime property that represents the date and time after which the content of an entity is considered stale. A stale cache entry may not normally be returned by a cache unless it is first validated with the origin server. The presence of an Expires field does not imply that the original resource will change or cease to exist at, before, or after the indicated timestamp value. Expires is read from the headers in an HTTP response, and may originally contain either an integer number of seconds for the expiration value or an actual date and time. When the header is expressed as an integer value, the Expires property will be given a value that corresponds to the current date and time plus the number of seconds in the header. A response that includes a CacheControl (

672) header with the max-age directive will override the Expires property.

See Also CacheControl (

672)

TIdEntityHeaderInfo.HasContentLength Property Indicates if a value has been assigned to ContentLength (

674) in the entity headers.

Pascal property HasContentLength: Boolean; Description HasContentLength is a read-only Boolean property that indicates if a value has been assigned to ContentLength ( entity headers.

674) in the

HasContentLength is updated when ProcessHeaders is called to set property values from the corresponding header values. HasContentLength is True when ContentLength ( 674) contains a non-zero positive integer value. Assigning a value to ContentLength (

674) will ensure that HasContentLength is also updated.

See Also ContentLength (

674)

Internet Direct (Indy) Version 10.1.5

677

TIdEntityHeaderInfo Class

Classes

TIdEntityHeaderInfo.HasContentRange Property Pascal property HasContentRange: Boolean; Description HasContentRange is a Public read-only Boolean property

TIdEntityHeaderInfo.HasContentRangeInstance Property Pascal property HasContentRangeInstance: Boolean; Description HasContentRangeInstance is a Public read-only Boolean property

TIdEntityHeaderInfo.LastModified Property Indicates the date and time a server resource was modified. Pascal property LastModified: TIdDateTime; Description LastModified is a TDateTime property that indicates the date and time when the origin server believes the most recent version of a resource was modified. An origin server must not send a LastModified date which is later than the server time of message origination in Date ( origin server should send LastModified whenever possible. LastModified is updated when RawHeaders (

676). An

679) contains a 'Last-Modified' response header with a non-zero value.

See Also TIdEntityHeaderInfo.Date (

676)

TIdEntityHeaderInfo.RawHeaders (

679)

TIdEntityHeaderInfo.Pragma Property Represents HTTP server directives in a client request. Pascal property Pragma: string; Description Pragma is a string property that contains HTTP server directives, and represent optional behavior for the HTTP protocol. Pragma normally contains the value "no-cache" and indicates that the HTTP request should be forwarded to the server even when the request can be satisfied from the server cache. Pragma is used in an HTTP client request, and has the same meaning as the CacheControl ( Pragma is defined to provide backward compatibility with HTTP/1.0.

672) property used in HTTP/1.1.

Pragma may also contain implementation-specific extension values which are defined in the HTTP protocol. Pragma directives must be passed by a proxy or gateway application, regardless of their significance to that application, since the directives might be applicable to all recipients along the request/response chain. It is not possible to specify Pragma for a specific client. Any Pragma directive not relevant to the client should be ignored. Use of Pragma in a HTTP response is not defined by the HTTP protocol, and does not provide a reliable replacement for CacheControl ( 672) in the response. 678

Internet Direct (Indy) Version 10.1.5

Classes

TIdEtherAddr Class

See Also TIdEntityHeaderInfo.CacheControl (

672)

TIdEntityHeaderInfo.RawHeaders Property Contains message header names and values in their original form. Pascal property RawHeaders: TIdHeaderList; Description RawHeaders is a read-only TIdHeaderList ( 1024) property that contains the message header names and values in their original form, as received in an HTTP request or response. RawHeaders are used as the origin for header values during processing and storage in their property representation. RawHeaders are used as the destination for property values when generating the headers for an HTTP protocol response. Use CustomHeaders ( 676) to create ( TIdEntityHeaderInfo ( 668) instance.

670) new header values that cannot be expressed as a property in the

See Also CustomHeaders ( TIdHeaderList (

676) 1024)

TIdRequestHeaderInfo (

1857)

TIdResponseHeaderInfo (

1865)

TIdEtherAddr Class File IdRawHeaders (

4701)

Hierarchy

Pascal TIdEtherAddr = class(TIdStruct); Description TIdEtherAddr is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdEtherAddr Members The following tables list the members exposed by TIdEtherAddr. Properties Property Data (

Description 682)

ether_addr_octet (

682)

Internet Direct (Indy) Version 10.1.5

679

TIdEtherAddr Class

Classes

Methods Method CopyFrom ( create (

Description 680) 680)

getether_addr_octet ( ReadStruct ( SetData (

681)

681)

681)

setether_addr_octet ( WriteStruct (

681)

682)

Legend Method virtual Property

TIdEtherAddr Methods The Methods of the TIdEtherAddr class are listed here. Methods Method CopyFrom ( create (

Description 680) 680)

getether_addr_octet ( ReadStruct ( SetData (

681)

681)

681)

setether_addr_octet ( WriteStruct (

681)

682)

Legend Method virtual

TIdEtherAddr.CopyFrom Method Pascal procedure CopyFrom( const ASource: TIdEtherAddr ); Parameters Parameters

Description

ASource

Scope is const. Type is TIdEtherAddr (

679).

Description CopyFrom is a method.

TIdEtherAddr.create Constructor Pascal constructor create; override; Description create is a overridden constructor for the object instance.

680

Internet Direct (Indy) Version 10.1.5

Classes

TIdEtherAddr Class

TIdEtherAddr.getether_addr_octet Method Pascal function getether_addr_octet( Index: Integer ): Byte; Parameters Parameters

Description

Index

Type is Integer.

Returns Byte Description getether_addr_octet is a method. getether_addr_octet returns a Byte value.

TIdEtherAddr.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description ReadStruct is a overridden method.

TIdEtherAddr.SetData Method Pascal procedure SetData( const Value: TIdBytes ); Parameters Parameters

Description

Value

Scope is const. Type is TIdBytes (

3007).

Description SetData is a method.

TIdEtherAddr.setether_addr_octet Method Pascal procedure setether_addr_octet( Index: Integer; const Value: Byte );

Internet Direct (Indy) Version 10.1.5

681

TIdEthernetHdr Class

Classes

Parameters Parameters

Description

Index

Type is Integer.

Value

Scope is const. Type is Byte.

Description setether_addr_octet is a method.

TIdEtherAddr.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdEtherAddr Properties The Properties of the TIdEtherAddr class are listed here. Properties Property Data (

Description 682)

ether_addr_octet (

682)

Legend Property

TIdEtherAddr.Data Property Pascal property Data: TIdBytes; Description Data is a Public TIdBytes (

3007) property. Write access for the property is implemented using SetData (

681).

TIdEtherAddr.ether_addr_octet Property Pascal property ether_addr_octet [Index:Integer]: Byte; Description ether_addr_octet is a Public Byte property. Write access for the property is implemented using setether_addr_octet (

682

681).

Internet Direct (Indy) Version 10.1.5

Classes

TIdEthernetHdr Class

TIdEthernetHdr Class File IdRawHeaders (

4701)

Hierarchy

Pascal TIdEthernetHdr = class(TIdStruct); Description TIdEthernetHdr is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdEthernetHdr Members The following tables list the members exposed by TIdEthernetHdr. Properties Property

Description

ether_dhost (

685)

ether_shost (

685)

ether_type (

685)

Methods Method CopyFrom ( create ( Destroy (

Description 684) 684) 684)

ReadStruct (

684)

WriteStruct (

684)

Legend Method virtual Property read only

TIdEthernetHdr Methods The Methods of the TIdEthernetHdr class are listed here. Methods Method CopyFrom ( create ( Destroy (

Description 684) 684) 684)

ReadStruct (

684)

WriteStruct (

684)

Internet Direct (Indy) Version 10.1.5

683

TIdEthernetHdr Class

Classes

Legend Method virtual

TIdEthernetHdr.CopyFrom Method Pascal procedure CopyFrom( const ASource: TIdEthernetHdr ); Parameters Parameters

Description

ASource

Scope is const. Type is TIdEthernetHdr (

683).

Description CopyFrom is a method.

TIdEthernetHdr.create Constructor Pascal constructor create; override; Description create is a overridden constructor for the object instance.

TIdEthernetHdr.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdEthernetHdr.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description ReadStruct is a overridden method.

TIdEthernetHdr.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer 684

Internet Direct (Indy) Version 10.1.5

Classes

TIdEventSocksServer Class

); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdEthernetHdr Properties The Properties of the TIdEthernetHdr class are listed here. Properties Property

Description

ether_dhost (

685)

ether_shost (

685)

ether_type (

685)

Legend Property read only

TIdEthernetHdr.ether_dhost Property Pascal property ether_dhost: TIdEtherAddr; Description ether_dhost is a Public read-only TIdEtherAddr (

679) property.

TIdEthernetHdr.ether_shost Property Pascal property ether_shost: TIdEtherAddr; Description ether_shost is a Public read-only TIdEtherAddr (

679) property.

TIdEthernetHdr.ether_type Property Pascal property ether_type: word; Description ether_type is a Public word property. Write access for the property is implemented using Fether_type.

TIdEventSocksServer Class File IdSocksServer (

4725)

Internet Direct (Indy) Version 10.1.5

685

TIdEventSocksServer Class

Classes

Hierarchy

Pascal TIdEventSocksServer = class(TIdCustomSocksServer); Description TIdEventSocksServer is a TIdCustomSocksServer (

450) descendant.

See Also TIdCustomSocksServer (

450)

TIdEventSocksServer Members The following tables list the members exposed by TIdEventSocksServer. Properties Property Active (

Description 458)

Indicates if the server is running and listening for client connections.

AllowSocks4 (

452)

AllowSocks5 (

452)

Bindings (

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

452)

DefaultPort (

462)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Identifies the default port number used to listen for new connections.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

Represents the IOHandler used by listener threads for the server.

465)

MaxConnections ( OnAfterBind (

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

Socks5NeedsAuthentication ( TerminateWaitTime ( Version (

Indicates the maximum numer of client connections allowed for the server.

466)

ReuseSocket ( Scheduler (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

468)

269)

WorkTarget (

452) Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

267)

Triggers the OnBeginWork event. Constructor for the object instance.

Destroy (

357)

Destroy (

451)

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Frees the object instance.

269)

Triggers the OnEndWork event handler. Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event OnAuthenticate ( OnBeforeBind (

686

Description 453) 453)

Internet Direct (Indy) Version 10.1.5

Classes

TIdExplicitTLSClient Class

OnBeforeConnect (

453)

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnCommandBind (

687)

469)

OnDisconnect ( OnException (

Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

Event handler for exceptions raised in a peer thread.

OnListenException ( OnStatus (

Event handler signalled prior to executing a listener thread.

687)

OnCommandConnect ( OnConnect (

Event handler signalled proper to establishing a client connection to the server.

468)

470)

Event handler for an exception in a listener thread.

359)

Represents the current connection status event handler.

Legend Event Method virtual Property read only

TIdEventSocksServer Events The Events of the TIdEventSocksServer class are listed here. Events Event

Description

OnCommandBind (

687)

OnCommandConnect (

687)

Legend Event

TIdEventSocksServer.OnCommandBind Event Pascal property OnCommandBind: TIdOnCommandBind; Description OnCommandBind is a Published TIdOnCommandBind ( implemented using fOnCommandBind.

3068) event handler property. Write access for the property is

TIdEventSocksServer.OnCommandConnect Event Pascal property OnCommandConnect: TIdOnCommandConnect; Description OnCommandConnect is a Published TIdOnCommandConnect ( implemented using fOnCommandConnect.

3069) event handler property. Write access for the property is

TIdExplicitTLSClient Class File IdExplicitTLSClientServerBase (

Internet Direct (Indy) Version 10.1.5

4626)

687

TIdExplicitTLSClient Class

Classes

Hierarchy

Pascal TIdExplicitTLSClient = class(TIdTCPClientCustom); Description TIdExplicitTLSClient is a TIdTCPClientCustom (

2340) descendant.

See Also TIdTCPClientCustom (

2340)

TIdExplicitTLSClient Members The following tables list the members exposed by TIdExplicitTLSClient. Properties Property

Description

BoundIP (

2345)

BoundPort (

Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

Capabilities (

690)

ConnectTimeout ( Greeting (

2347)

Millseconds to wait for successful completion of a connection attempt.

2364)

IOHandler (

Banner or welcome message for a connection to a protocol server.

2364)

The input / output mechanism for the connection.

LastCmdResult (

2367)

ManagedIOHandler ( OnAfterBind (

Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

2347)

2364) for the connection is maintained by the object instance.

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

2367)

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin ( OnWorkEnd (

Event handler signalled when completing a read or write operation.

2349)

Millseconds to wait for successful completion of a read attempt.

2369)

SupportsTLS ( Version (

Event handler signalled when beginning a read or write operation.

2369)

ReadTimeout ( Socket (

Event handler signalled for read and / or write operations. 2368)

Provides access to the TIdIOHandlerSocket (

269)

WorkTarget (

1331) for the connection.

690) Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( Connect ( Connected (

2344)

2353)

Constructor for the object instance.

CreateIOHandler (

2353)

2364) for the connection.

GetVersion (

269)

Disconnects the peer connection. Triggers the OnWork event handler.

358)

GetInternalResponse (

688

2356)

357)

EndWork (

CType (

Creates the IOHandler (

689)

DisconnectNotifyPeer ( DoWork (

Opens a connection and reads all data. Indicates if the peer connection has been opened.

267)

Destroy (

Determines if the peer has been gracefully disconnected.

689)

ConnectAndGetAll ( Create (

2351)

Triggers the OnEndWork event handler. 2356)

Reads response detail lines from a peer connection. Version (

269) number for Indy component suite.

267)

Internet Direct (Indy) Version 10.1.5

Classes

TIdExplicitTLSClient Class Create (

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

OnTLSHandShakeFailed ( OnTLSNegCmdFailed ( OnTLSNotAvailable (

690)

690) 691)

Legend Method virtual Property read only Event

TIdExplicitTLSClient Methods The Methods of the TIdExplicitTLSClient class are listed here. Methods Method

Description

Connect (

689)

Destroy (

689)

Legend Method virtual

TIdExplicitTLSClient.Connect Method Pascal procedure Connect; override; Description Connect is a overridden method.

TIdExplicitTLSClient.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdExplicitTLSClient Properties The Properties of the TIdExplicitTLSClient class are listed here. Internet Direct (Indy) Version 10.1.5

689

TIdExplicitTLSClient Class

Classes

Properties Property

Description

Capabilities (

690)

SupportsTLS (

690)

Legend Property read only

TIdExplicitTLSClient.Capabilities Property Pascal property Capabilities: TIdStrings; Description Capabilities is a Public read-only TIdStrings (

3089) property.

TIdExplicitTLSClient.SupportsTLS Property Pascal property SupportsTLS: boolean; Description SupportsTLS is a Public read-only boolean property.

TIdExplicitTLSClient Events The Events of the TIdExplicitTLSClient class are listed here. Events Event

Description

OnTLSHandShakeFailed ( OnTLSNegCmdFailed ( OnTLSNotAvailable (

690)

690) 691)

Legend Event

TIdExplicitTLSClient.OnTLSHandShakeFailed Event Pascal property OnTLSHandShakeFailed: TIdOnTLSNegotiationFailure; Description OnTLSHandShakeFailed is a Public TIdOnTLSNegotiationFailure ( implemented using FOnTLSHandShakeFailed.

3072) event handler property. Write access for the property is

TIdExplicitTLSClient.OnTLSNegCmdFailed Event Pascal property OnTLSNegCmdFailed: TIdOnTLSNegotiationFailure; Description OnTLSNegCmdFailed is a Public TIdOnTLSNegotiationFailure ( implemented using FOnTLSNegCmdFailed. 690

3072) event handler property. Write access for the property is

Internet Direct (Indy) Version 10.1.5

Classes

TIdFinger Class

TIdExplicitTLSClient.OnTLSNotAvailable Event Pascal property OnTLSNotAvailable: TIdOnTLSNegotiationFailure; Description OnTLSNotAvailable is a Public TIdOnTLSNegotiationFailure ( implemented using FOnTLSNotAvailable.

3072) event handler property. Write access for the property is

TIdExplicitTLSServer Class File IdExplicitTLSClientServerBase (

4626)

Hierarchy

Pascal TIdExplicitTLSServer = class(TIdCmdTCPServer); Description TIdExplicitTLSServer is a TIdCmdTCPServer (

326) descendant.

See Also TIdCmdTCPServer (

326)

TIdExtList Class Represents an array of pointers for VCL versions prior to VCL6. File IdGlobal (

4650)

Hierarchy

Pascal TIdExtList = class(TIdList); Description TIdExtList is a TIdList ( 3055) descendant that represents an array of pointers for VCL versions prior to VCL6. TIdExtList can be used to maintain lists of objects using properties and methods. TIdExtList is declared in the Indy library because TList has no Assign method in VCL versions prior to VCL6. Notes Do NOT add data members to TIdExtList in descendant classes.

Internet Direct (Indy) Version 10.1.5

691

TIdFinger Class

Classes

TIdFinger Class Implements a Finger (

696) protocol client.

File IdFinger (

4627)

Hierarchy

Pascal TIdFinger = class(TIdTCPClientCustom); Description The TIdFinger is a TIdTCPClientCustom ( 2340) descendant that implements a TCP-based variant of the Finger ( Information Protocol or Finger ( 696) client, as described in the Internet Standards document:

696) User

RFC 1288 - The Finger User Information Protocol Overview of the Finger (

696) Protocol

The Finger ( 696) protocol is an interface for a database of information about users on a remote system. The Finger ( 696) protocol can include information such as if a user is logged in to the system, when the user last read their E-Mail, or optional information the user wishes to make available publicly (.plan file). Finger ( 696) is based on the Transmission Control Protocol, using TCP port 79 decimal (117 octal). The local host opens a TCP connection to a remote host on the Finger ( 696) port. The local host sends a one line query based upon the Finger ( 696) query specification, and waits for the responce. The Finger (

696) server receives and processes the query, returns an answer, then initiates the close of the connection.

The local host receives the answer and the close signal, then proceeds closing its end of the connection. Data format Any data transferred MUST be in ASCII format, with no parity, and with lines ending in CRLF (ASCII 13 followed by ASCII 10). This excludes other character formats such as EBCDIC, etc. This also means that any characters between ASCII 128 and ASCII 255 should truly be international data, not 7-bit ASCII with the parity bit set. Finger (

696) Query (

The Finger (

698) Specifications

696) query specification is defined using the following tokens and productions:

{Q1}

::= [{W}|{W}{S}{U}]{C}

{Q2}

::= [{W}{S}][{U}]{H}{C}

{U}

::= username

{H}

::= @hostname | @hostname{H}

{W}

::= /W

{S}

::= | {S}

{C}

::=

{H} is recursive, and means that there is no arbitrary limit on the number of @hostname tokens in the query. In examples of the {Q2} request specification, the number of @hostname tokens is limited to two, simply for brevity. Be aware that {Q1} and {Q2} do not refer to a user typing "finger ( 696) user@host" from an operating system prompt. It refers to the data actually received by the handler for the finger ( 696) request on the remote server. So, if a user types "finger ( 696) user@host", the RUIP on the remote host receives "user", which corresponds to {Q1}. 692

Internet Direct (Indy) Version 10.1.5

Classes

TIdFinger Class

As with anything in the IP protocol suite, "be liberal in what you accept". Expected Finger (

696) Responses

For the most part, the output of a Finger ( 696) query doesn't follow a strict specification, since it is designed to be read by people instead of programs. It should mainly strive to be informative. Output of ANY query is subject to the security restrictions that apply the connection to the Finger ( {C} Query (

696) server.

698)

A query of {C} is a request for a list of all online users. The remote server must either answer or actively refuse the query. If it answers, then it MUST provide at least the user's full name. The system administrator SHOULD be allowed to include other useful information, such as:

• terminal location • office location • office phone number • job name • idle time (number of minutes since last typed input, or since last job activity). {U}{C} Query (

698)

A query of {U}{C} is a request for in-depth status of a specified user {U}. If you really want to refuse this service, you probably don't want to be running Finger ( 696) in the first place. An answer MUST include at least the full name of the user. If the user is logged in, at least the same amount of information returned by {C} for that user MUST also be returned by {U}{C}. Since this is a query for information on a specific user, the system administrator SHOULD be allowed to choose to return additional useful information, such as:

• office location • office phone number • home phone number • status of login (not logged in, logout time, etc) • user information file A user information file is a feature wherein a user may leave a short message that will be included in the response to Finger ( 696) requests. (This is sometimes called a "plan" file.) This is easily implemented by (for example) having the program look for a specially named text file in the user's home directory or some common area; the exact method is left to the implementor. The system administrator SHOULD be allowed to specifically turn this feature on and off. There MAY be a way for the user to run a program in response to a Finger ( administrator SHOULD be allowed to specifically turn it on and off.

696) query. If this feature exists, the system

{U} Ambiguity Allowable "names" in the command line MUST include "user names" or "login names" as defined by the system. If a name is ambiguous, the system administrator SHOULD be allowed to choose whether or not all possible derivations should be returned in some fashion. /W query token The token /W in the {Q1} or {Q2} query types SHOULD at best be interpreted at the last RUIP to signify a higher level of verbosity in the user information output, or at worst be ignored. Vending machines Vending machines SHOULD respond to a {C} request with a list of all items currently available for purchase and possible consumption. Vending machines SHOULD respond to a {U}{C} request with a detailed count or list of the particular product or Internet Direct (Indy) Version 10.1.5

693

TIdFinger Class

Classes

product slot. Vending machines should NEVER NEVER EVER eat money. Implementation Security Sound implementation of Finger ( 696) is of the utmost importance. Implementations should be tested against various forms of attack. In particular, an server SHOULD protect itself against malformed inputs. Vendors providing Finger ( 696) with the operating system or network software should subject their implementations to penetration testing. Finger ( 696) is one of the avenues for direct penetration, as the Morris worm pointed out quite vividly. Like Telnet, FTP and SMTP, Finger ( 696) is one of the protocols at the security perimeter of a host. Accordingly, the soundness of the implementation is paramount. The implementation should receive just as much security scrutiny during design, implementation, and testing as Telnet, FTP, or SMTP. RUIP security Warning!! Finger ( 696) discloses information about users; moreover, such information may be considered sensitive. Security administrators should make explicit decisions about whether to run Finger ( 696) and what information should be provided in responses. One existing implementation provides the time the user last logged in, the time he last read mail, whether unread mail was waiting for him, and who the most recent unread mail was from! This makes it possible to track conversations in progress and see where someone's attention was focused. Sites that are information-security conscious should not run Finger ( 696) without an explicit understanding of how much information it is giving away. Atomic Discharge All implementations of Finger ( 696) SHOULD allow individual system administrators to tailor what atoms of information are returned to a query. For example:

• Administrator A should be allowed to specifically choose to return office location, office phone number, home phone number, and logged in/logout time.

• Administrator B should be allowed to specifically choose to return only office location, and office phone number.

• Administrator C should be allowed to specifically choose to return the minimum amount of required information, which is the person's full name. User Information Files Allowing an RUIP to return information out of a user-modifiable file should be seen as equivalent to allowing any information about your system to be freely distributed. That is, it is potentially the same as turning on all specifiable options. This information security breach can be done in a number of ways, some cleverly, others straightforwardly. This should disturb the sleep of system administrators who wish to control the returned information. Execution of User Programs Allowing an RUIP to run a user program in response to a Finger ( 696) query is potentially dangerous. BE CAREFUL!! -- the RUIP MUST NOT allow system security to be compromised by that program. Implementing this feature may be more trouble than it is worth, since there are always bugs in operating systems, which could be exploited via this type of mechanism. {U} ambiguity Be aware that a malicious user's clever and/or persistent use of this feature can result in a list of most of the usernames on a system. Refusal of {U} ambiguity should be considered in the same vein as refusal of {C} requests. Audit trails Implementations SHOULD allow system administrators to log Finger (

696) queries.

Client security It is expected that there will normally be some client program that the user runs to query the initial RUIP. By default, this program SHOULD filter any unprintable data, leaving only printable 7-bit characters (ASCII 32 through ASCII 126), tabs (ASCII 9), and CRLFs.

694

Internet Direct (Indy) Version 10.1.5

Classes

TIdFinger Class

This is to protect against people playing with terminal escape codes, changing other peoples' X window names, or committing other dastardly or confusing deeds. Two separate user options SHOULD be considered to modify this behavior, so that users may choose to view international or control characters:

• one to allow all characters less than ASCII 32 • another to allow all characters greater than ASCII 126 For environments that live and breathe international data, the system administrator SHOULD be given a mechanism to enable the latter option by default for all users on a particular system. This can be done via a global environment variable or similar mechanism. See Also IndySupport (

15)

TIdFinger Members The following tables list the members exposed by TIdFinger. Properties Property

Description

BoundIP (

2345)

BoundPort (

Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

CompleteQuery (

697)

ConnectTimeout ( Greeting ( Host (

Identifies the query for the Finger (

2347)

2364)

Banner or welcome message for a connection to a protocol server.

698)

IOHandler (

696) protocol.

Millseconds to wait for successful completion of a connection attempt. IP address of host name for the Finger (

2364)

LastCmdResult (

2367)

ManagedIOHandler ( OnAfterBind (

696) server.

The input / output mechanism for the connection. Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

2347)

2364) for the connection is maintained by the object instance.

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

OnWorkEnd ( Query (

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin ( Port (

2367)

Event handler signalled for read and / or write operations. 2368)

Event handler signalled when beginning a read or write operation.

2369)

Event handler signalled when completing a read or write operation.

698)

Port number for the Finger (

698)

ReadTimeout ( Socket (

2349)

Provides access to the TIdIOHandlerSocket (

699)

1331) for the connection.

Instructs the server to provide detailed output.

269)

WorkTarget (

696) method.

Millseconds to wait for successful completion of a read attempt.

2369)

VerboseOutput ( Version (

696) server.

Specifies the query for the Finger (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ConnectAndGetAll ( Connected ( Create (

2351)

2344)

2353)

Constructor for the object instance.

CreateIOHandler ( Destroy (

357)

Destroy (

2354)

2353)

DisconnectNotifyPeer ( EndWork (

Opens a connection and reads all data. Indicates if the peer connection has been opened.

267)

DoWork (

Determines if the peer has been gracefully disconnected.

Creates the IOHandler (

2364) for the connection.

Frees the object instance. Frees the object instance. 2356)

357) 358)

Internet Direct (Indy) Version 10.1.5

Disconnects the peer connection. Triggers the OnWork event handler. Triggers the OnEndWork event handler.

695

TIdFinger Class Finger (

Classes

696)

Perfoms a Finger query and retrieves the results.

GetInternalResponse ( GetVersion ( CType (

2356)

Reads response detail lines from a peer connection.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdFinger Methods The Methods of the TIdFinger class are listed here. Methods Method Finger (

Description 696)

Perfoms a Finger query and retrieves the results.

Legend Method

TIdFinger.Finger Method Perfoms a Finger query and retrieves the results. Pascal function Finger: String; Returns String - Response from the Finger query. Description Finger is a String function used to send the Query ( 698) to the specified Host ( 698) and Port ( 698), and to receive the response from the finger server. Assign the IP address or host name for the server using Host ( 698) or CompleteQurey before calling the Finger method. Assign a value to VerboseOutput ( 699) to indicate if the server should send a detailed response for the Finger query. When VerboseOutput ( 699) is True, the '/W' token is added to the query for the Finger server. Finger calls Connect (

2342) to establish both the connection and the IOHandler (

2364) for the client.

Finger uses the IOHandler ( 2364) for the connection to write the Finger query, and attempts to read all query response data. The return value for the method is the Finger query response data read from the server. Finger calls Disconnect ( 696

2355) to close both the connection and the IOHandler (

2364) for the client. Internet Direct (Indy) Version 10.1.5

Classes

TIdFinger Class

See Also TIdFinger.Host (

698)

TIdFinger.Port (

698)

TIdFinger.Query (

698)

TIdFinger.CompleteQuery (

697)

TIdFinger.VerboseOutput (

699)

TIdFinger Properties The Properties of the TIdFinger class are listed here. Properties Property

Description

CompleteQuery (

697)

Identifies the query for the Finger (

696) protocol.

Host (

698)

IP address of host name for the Finger (

Port (

698)

Port number for the Finger (

Query (

698)

VerboseOutput (

Specifies the query for the Finger ( 699)

696) server.

696) server. 696) method.

Instructs the server to provide detailed output.

Legend Property

TIdFinger.CompleteQuery Property Identifies the query for the Finger (

696) protocol.

Pascal property CompleteQuery: String; Description CompleteQuery is a String property that represents the the entire Finger ( 696) query, such as "user@host", to be sent in the Finger ( 696) method. The CompleteQuery property is provided as a convenience for programs which prompt for a query in this form. CompleteQuery may contain values that permit recursive finger ( 696) queries on servers that permit this capability, such as: [email protected]@example.com Reading the value in CompleteQuery returns the concatenated values in Query (

698) and Host (

698) in the form:

query@host Writing a value to CompleteQuery forces the right-most host name to be parsed and stored in the Host ( 698) property. If no host name is present, or recursive hosts are used in the query, the remainder of the new value is copied to the Query ( 698) property. Use VerboseOutput ( method.

699) to indicate if the server should provide detailed output in the response returned by the Finger (

696)

Example // var AFingerL TIdFinger; AFinger.Host := 'myisp.net'; AFinger.CompleteQuery := '/W [email protected]@example.com'; // Query contains '/W [email protected]' // Host contains 'example.com' AFinger.Host := 'myisp.net'; AFinger.CompleteQuery := 'myaccount'; // Query contains 'myaccount' // Host contains 'myisp.net'

Internet Direct (Indy) Version 10.1.5

697

TIdFinger Class

Classes

See Also TIdFinger.Query (

698)

TIdFinger.Host (

698)

TIdFinger.VerboseOutput (

699)

TIdFinger.Host Property IP address of host name for the Finger (

696) server.

Pascal property Host; Description Host is a published String property that represents the IP address or host name for the connection to the Finger ( Host is also updated when one or more host names are included when assigning a value to CompleteQuery ( Host is used when establishing the client connection to the remote server in Finger (

696) server.

697).

696).

See Also TIdFinger.Port (

698)

TIdFinger.CompleteQuery (

697)

TIdFinger.Port Property Port number for the Finger (

696) server.

Pascal property Port; Description Port is a published TIdPort (

3076) property that represents the port number for the connection to the Finger (

The default value for Port is IdPORT_FINGER ( Host (

3995), as assigned in the Create (

698) and Port are used when establishing the client connection to the Finger (

696) server.

267) method. 696) server in the Finger (

696) method.

See Also IdPORT_FINGER ( TIdFinger.Host ( TIdFinger.Finger (

3995)

698) 696)

TIdFinger.Query Property Specifies the query for the Finger (

696) method.

Pascal property Query: String; Description Query is a String property that represents the text for the query sent to the server when using the Finger ( 696) method. Values in Query consist of Finger ( 696) query tokens excluding the final host name in a multiple host query created using CompleteQuery ( 697). For example: jblogs 698

Internet Direct (Indy) Version 10.1.5

Classes

TIdFingerServer Class

/W jblogs [email protected] /W [email protected] Use CompleteQuery (

697) to get the query string including the final host in a multi-host query.

See Also Finger (

696)

CompleteQuery (

697)

TIdFinger.VerboseOutput Property Instructs the server to provide detailed output. Pascal property VerboseOutput: Boolean; Description VerboseOutput indicates to the server that it should give more detailed information than with a regular finger (

696) query.

VerboseOutput is used in the Finger ( 696) method, and causes the '/W' token to be added to the Query ( connection and transmission to the Finger ( 696) server. The default value for VerboseOutput is False, as assigned in the Create ( Verbose output may not be supported on some finger ( by the server.

698) prior to

267) method.

696) server implementations, and may result in the query being rejected

See Also TIdFinger.Query (

698)

TIdFinger.Finger (

696)

TIdFinger. Create (

267)

TIdFingerServer Class Implements a Finger protocol server. File IdFingerServer (

4628)

Hierarchy

Pascal TIdFingerServer = class(TIdCustomTCPServer); Description TIdFingerServer is a TIdTCPServer ( 2375) descendant that implements a server supporting the Finger User Information Protocol, as described in the Internet Standards document: RFC 1288 - The Finger User Information Protocol Overview of the Finger Protocol The Finger protocol is an interface for a database of information about users on a remote system. The Finger protocol can include information such as if a user is logged in to the system, when the user last read their E-Mail, or optional information the user wishes to make available publicly (.plan file).

Internet Direct (Indy) Version 10.1.5

699

TIdFingerServer Class

Classes

Finger is based on the Transmission Control Protocol, using TCP port 79 decimal (117 octal). The local host opens a TCP connection to a remote host on the Finger port. The local host sends a one line query based upon the Finger query specification, and waits for the responce. The Finger server receives and processes the query, returns an answer, then initiates the close of the connection. The local host receives the answer and the close signal, then proceeds closing its end of the connection. Data format Any data transferred MUST be in ASCII format, with no parity, and with lines ending in CRLF (ASCII 13 followed by ASCII 10). This excludes other character formats such as EBCDIC, etc. This also means that any characters between ASCII 128 and ASCII 255 should truly be international data, not 7-bit ASCII with the parity bit set. Finger Query Specifications The Finger query specification is defined using the following tokens and productions: {Q1}

::= [{W}|{W}{S}{U}]{C}

{Q2}

::= [{W}{S}][{U}]{H}{C}

{U}

::= username

{H}

::= @hostname | @hostname{H}

{W}

::= /W

{S}

::= | {S}

{C}

::=

{H} is recursive, and means that there is no arbitrary limit on the number of @hostname tokens in the query. In examples of the {Q2} request specification, the number of @hostname tokens is limited to two, simply for brevity. Be aware that {Q1} and {Q2} do not refer to a user typing "finger user@host" from an operating system prompt. It refers to the data actually received by the handler for the finger request on the remote server. So, if a user types "finger user@host", the RUIP on the remote host receives "user", which corresponds to {Q1}. As with anything in the IP protocol suite, "be liberal in what you accept". Expected Finger Responses For the most part, the output of a Finger query doesn't follow a strict specification, since it is designed to be read by people instead of programs. It should mainly strive to be informative. Output of ANY query is subject to the security restrictions that apply the connection to the Finger server. {C} Query A query of {C} is a request for a list of all online users. The remote server must either answer or actively refuse the query. If it answers, then it MUST provide at least the user's full name. The system administrator SHOULD be allowed to include other useful information, such as:

• terminal location • office location • office phone number • job name • idle time (number of minutes since last typed input, or since last job activity). {U}{C} Query A query of {U}{C} is a request for in-depth status of a specified user {U}. If you really want to refuse this service, you probably don't want to be running Finger in the first place.

700

Internet Direct (Indy) Version 10.1.5

Classes

TIdFingerServer Class

An answer MUST include at least the full name of the user. If the user is logged in, at least the same amount of information returned by {C} for that user MUST also be returned by {U}{C}. Since this is a query for information on a specific user, the system administrator SHOULD be allowed to choose to return additional useful information, such as:

• office location • office phone number • home phone number • status of login (not logged in, logout time, etc) • user information file A user information file is a feature wherein a user may leave a short message that will be included in the response to Finger requests. (This is sometimes called a "plan" file.) This is easily implemented by (for example) having the program look for a specially named text file in the user's home directory or some common area; the exact method is left to the implementor. The system administrator SHOULD be allowed to specifically turn this feature on and off. There MAY be a way for the user to run a program in response to a Finger query. If this feature exists, the system administrator SHOULD be allowed to specifically turn it on and off. {U} Ambiguity Allowable "names" in the command line MUST include "user names" or "login names" as defined by the system. If a name is ambiguous, the system administrator SHOULD be allowed to choose whether or not all possible derivations should be returned in some fashion. /W query token The token /W in the {Q1} or {Q2} query types SHOULD at best be interpreted at the last RUIP to signify a higher level of verbosity in the user information output, or at worst be ignored. Vending machines Vending machines SHOULD respond to a {C} request with a list of all items currently available for purchase and possible consumption. Vending machines SHOULD respond to a {U}{C} request with a detailed count or list of the particular product or product slot. Vending machines should NEVER NEVER EVER eat money. Implementation Security Sound implementation of Finger is of the utmost importance. Implementations should be tested against various forms of attack. In particular, an server SHOULD protect itself against malformed inputs. Vendors providing Finger with the operating system or network software should subject their implementations to penetration testing. Finger is one of the avenues for direct penetration, as the Morris worm pointed out quite vividly. Like Telnet, FTP and SMTP, Finger is one of the protocols at the security perimeter of a host. Accordingly, the soundness of the implementation is paramount. The implementation should receive just as much security scrutiny during design, implementation, and testing as Telnet, FTP, or SMTP. RUIP security Warning!! Finger discloses information about users; moreover, such information may be considered sensitive. Security administrators should make explicit decisions about whether to run Finger and what information should be provided in responses. One existing implementation provides the time the user last logged in, the time he last read mail, whether unread mail was waiting for him, and who the most recent unread mail was from! This makes it possible to track conversations in progress and see where someone's attention was focused. Sites that are information-security conscious should not run Finger without an explicit understanding of how much information it is giving away. Atomic Discharge All implementations of Finger SHOULD allow individual system administrators to tailor what atoms of information are returned to a query. For example:

Internet Direct (Indy) Version 10.1.5

701

TIdFingerServer Class

Classes

• Administrator A should be allowed to specifically choose to return office location, office phone number, home phone number, and logged in/logout time.

• Administrator B should be allowed to specifically choose to return only office location, and office phone number.

• Administrator C should be allowed to specifically choose to return the minimum amount of required information, which is the person's full name. User Information Files Allowing an RUIP to return information out of a user-modifiable file should be seen as equivalent to allowing any information about your system to be freely distributed. That is, it is potentially the same as turning on all specifiable options. This information security breach can be done in a number of ways, some cleverly, others straightforwardly. This should disturb the sleep of system administrators who wish to control the returned information. Execution of User Programs Allowing an RUIP to run a user program in response to a Finger query is potentially dangerous. BE CAREFUL!! -- the RUIP MUST NOT allow system security to be compromised by that program. Implementing this feature may be more trouble than it is worth, since there are always bugs in operating systems, which could be exploited via this type of mechanism. {U} ambiguity Be aware that a malicious user's clever and/or persistent use of this feature can result in a list of most of the usernames on a system. Refusal of {U} ambiguity should be considered in the same vein as refusal of {C} requests. Audit trails Implementations SHOULD allow system administrators to log Finger queries. Client security It is expected that there will normally be some client program that the user runs to query the initial RUIP. By default, this program SHOULD filter any unprintable data, leaving only printable 7-bit characters (ASCII 32 through ASCII 126), tabs (ASCII 9), and CRLFs. This is to protect against people playing with terminal escape codes, changing other peoples' X window names, or committing other dastardly or confusing deeds. Two separate user options SHOULD be considered to modify this behavior, so that users may choose to view international or control characters:

• one to allow all characters less than ASCII 32 • another to allow all characters greater than ASCII 126 For environments that live and breathe international data, the system administrator SHOULD be given a mechanism to enable the latter option by default for all users on a particular system. This can be done via a global environment variable or similar mechanism. See Also TIdTCPServer ( IndySupport (

2375) 15)

TIdFingerServer Members The following tables list the members exposed by TIdFingerServer. Properties Property Active ( Bindings (

Description 458)

ContextClass (

702

Indicates if the server is running and listening for client connections.

461)

Container for socket handles allocated by the server. 461)

Class reference used to create (

267) new executable tasks for client connections to the server.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFingerServer Class Contexts (

462)

DefaultPort (

704)

Executable tasks for client connections to the server. Default port number for the server.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

MaxConnections ( OnAfterBind (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

Indicates the maximum numer of client connections allowed for the server.

466)

ReuseSocket ( Scheduler (

Represents the IOHandler used by listener threads for the server.

465)

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

Specifies the time a server should wait while terminating executable tasks for client connections.

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnCommandFinger (

Event handler for resolving Finger requests. 704)

469)

OnDisconnect ( OnException (

Represents the event handler for resolving verbose Finger requests. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnStatus (

Event handler signalled prior to executing a listener thread.

704)

OnCommandVerboseFinger ( OnConnect (

Event handler signalled proper to establishing a client connection to the server.

468)

Event handler for exceptions raised in a peer thread. 470)

359)

Event handler for an exception in a listener thread. Represents the current connection status event handler.

Legend Property read only Event Method virtual

TIdFingerServer Properties The Properties of the TIdFingerServer class are listed here. Properties Property DefaultPort (

Description 704)

Default port number for the server.

Legend Property

Internet Direct (Indy) Version 10.1.5

703

TIdFingerServer Class

Classes

TIdFingerServer.DefaultPort Property Default port number for the server. Pascal property DefaultPort: TIdPort; Description DefaultPort is a published property in TIdFingerServer ( the Finger User Information Protocol specification.

699) that identifies the default port number for the server, as described in

DefaultPort indicates the port number used for listening for client connections during execution of the IdTCPServer decendant class. The default value for DefaultPort is IdPORT_FINGER (

3995), as assigned during initialization of the component.

See Also IdPORT_FINGER (

3995)

TIdFingerServer Events The Events of the TIdFingerServer class are listed here. Events Event

Description

OnCommandFinger (

704)

OnCommandVerboseFinger (

Event handler for resolving Finger requests. 704)

Represents the event handler for resolving verbose Finger requests.

Legend Event

TIdFingerServer.OnCommandFinger Event Event handler for resolving Finger requests. Pascal property OnCommandFinger: TIdFingerGetEvent; Description OnCommandFinger is a TIdFingerGetEvent ( connection makes a Finger request.

3026) property that represents the event handler triggered when a threaded client

OnCommandFinger expects an AUserName argument that is the query the client is making. This event does not occur in the main program thread but in the content specified for the client connection. OnCommandFinger is used during execution of the threaded client, and allows the server to implement resolution of the Finger query. Applications must assign a procedure to the event handler to allow responding to the event notification. The event handler should be used to locate user information for the Finger query, and write any reponse or error messages to the client connection in AThread. Use OnCommandVerboseFinger (

704) to resolve Finger queries that require verbose output.

See Also TIdFingerGetEvent (

3026) OnCommandVerboseFinger (

704) TIdContext (

376)

TIdFingerServer.OnCommandVerboseFinger Event Represents the event handler for resolving verbose Finger requests.

704

Internet Direct (Indy) Version 10.1.5

Classes

TIdFormDataField Class

Pascal property OnCommandVerboseFinger: TIdFingerGetEvent; Description OnCommandVerboseFinger is a TIdFingerGetEvent ( client connection makes a verbose Finger request.

3026) property that represents the event handler triggered when a threaded

OnCommandVerboseFinger expects an AUserName argument that is the query the client is making. This event does not occur in the main program thread but in the specified context for the client connection. OnCommandVerboseFinger is used during execution of the threaded client, and allows the server to implement resolution of the Finger query using verbose output. Applications must assign a procedure to the event handler to allow responding to the event notification. The event handler should be used to locate user information for the Finger query, and write any reponse or error messages to the client connection context. When OnCommandVerboseFinger is unassigned, OnCommandFinger (

704) will be used to resolve the Finger query.

See Also TIdFingerGetEvent (

3026) OnCommandFinger (

704) TIdContext (

376)

TIdFormDataField Class Represents a form data field in a multipart form data stream. File IdMultipartFormData (

4691)

Hierarchy

Pascal TIdFormDataField = class(TIdCollectionItem); Description TIdFormDataField is a TCollectionItem descendant that represents a form data field added to a TIdFormDataFields ( 710) collection. TIdFormDataField provides access to data fields defined on a multipart form and read from a TIdMultiPartFormDataStream ( 1657) object instance. TIdFormDataField implements properties that allow access to the data field name and value, the file name and TStream for inputs that represent file types, and the size of the data field. See Also TIdFormDataFields (

710)

TIdMultiPartFormDataStream ( IndySupport (

1657)

15)

TIdFormDataField Members The following tables list the members exposed by TIdFormDataField. Properties Property ContentType (

Description 708)

MIME content type header for the form data field.

FieldName (

708)

Name associated with the contents of the form data field.

FieldObject (

708)

An optional object reference with content for the form data field.

Internet Direct (Indy) Version 10.1.5

705

TIdFormDataField Class

Classes

FieldSize (

709)

Size of the form data field in the multipart stream including HTTP headers.

FieldStream (

709)

TStream associated with the contents of the form data field.

FieldStrings (

709)

FieldValue ( FileName (

710)

Content values for the named form data field.

710)

File name used to load content for the form data field.

Methods Method Create (

Description 706)

Destroy (

Constructor for the object instance.

707)

FormatField (

Frees the object instance.

707)

Legend Constructor virtual Property read only

TIdFormDataField Methods The Methods of the TIdFormDataField class are listed here. Methods Method Create (

Description 706)

Destroy (

Constructor for the object instance.

707)

FormatField (

Frees the object instance.

707)

Legend Constructor virtual

TIdFormDataField.Create Constructor Constructor for the object instance. Pascal constructor Create( Collection: TIdCollection ); override; Parameters Parameters

Description

Collection

Collection that owns the form data field.

Description Create is the overridden constructor for the object instance. Create calls the inherited constructor using Collection as the owner of the` form data field. Create assigns the default blank values for string properties in the object instance, including FileName ( 710), FieldName ( 708), and ContentType ( 708). Create assigns Nil to the FieldObject ( 708) property for the form data field, and clears the internal flag indicating the field object has been assigned. Use Destroy (

707) to free the collection item.

Do not use Create to add items to a collection. Use the Add method in the TIdFormDataFields ( items for the collection.

710) collection to create new

See Also TIdFormDataField.FileName ( 706

710) Internet Direct (Indy) Version 10.1.5

Classes

TIdFormDataField Class

TIdFormDataField.FieldName (

708)

TIdFormDataField.ContentType ( TIdFormDataField.Destroy ( TIdFormDataFields.Add (

708)

707)

711)

TIdFormDataField.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy checks for an assigned object instance in FieldObject ( and release the object instance when the internal flag is set that indicates it is managed by the collection item.

708), and will free

Destroy calls the inherited destructor prior to exiting from the method. An object reference created and assigned to FieldObject ( must handle that task.

708) by an application are not freed in the destructor. The application

See Also TIdFormDataField.Create (

706)

TIdFormDataField.FieldObject (

708)

TIdFormDataField.FormatField Method Pascal function FormatField: string; Returns string Description FormatField returns string

TIdFormDataField Properties The Properties of the TIdFormDataField class are listed here. Properties Property

Description

ContentType (

708)

MIME content type header for the form data field.

FieldName (

708)

Name associated with the contents of the form data field.

FieldObject (

708)

An optional object reference with content for the form data field.

FieldSize (

709)

Size of the form data field in the multipart stream including HTTP headers.

FieldStream (

709)

TStream associated with the contents of the form data field.

FieldStrings (

709)

FieldValue ( FileName (

710) 710)

Content values for the named form data field. File name used to load content for the form data field.

Legend Property read only

Internet Direct (Indy) Version 10.1.5

707

TIdFormDataField Class

Classes

TIdFormDataField.ContentType Property MIME content type header for the form data field. Pascal property ContentType: string; Description ContentType is a string property that represents the MIME content type for the contents of the form data field. ContentType is used when the multipart form data stream generates the formatted content for the stream including Boundary markers, content disposition, file names, and other header values. Changing the value in ContentType cause the form data field to calculate and update the value in FieldSize (

709).

See Also TIdFormDataField.FieldSize (

709)

TIdFormDataField.FieldName Property Name associated with the contents of the form data field. Pascal property FieldName: string; Description FieldName is a string property that represents the name to associate with values stored in the form data field. FieldName is equivalent to the HTML ID or NAME attributes that identify an input field found in an HTML form. Changing the value in FieldName causes the value in FieldSize (

709) to be calculated and updated.

FieldName is used when the multipart form data stream generates the formatted values (including headers) for use in an HTTP GET or POST request. Use FieldValue (

710) to specify the content to be associated with the named form data field.

See Also TIdFormDataField.FieldSize ( TIdFormDataField.FieldValue (

709) 710)

TIdFormDataField.FieldObject Property An optional object reference with content for the form data field. Pascal property FieldObject: TObject; Description FieldObject is a TObject property that optionally contains an object reference with content values for the form data field. FieldObject normally contains a TStream descendant reflecting the contents of FileName ( 710), or a TStrings descendant with generic textual content. Assigning a TObject reference other than TStream or TStrings to the FieldObject property will raise an EIdInvalidObjectType ( 110) exception. FieldObject is used when methods of TIdMultiPartFromDataStream, like AddObject and AddFile, are used to create ( 706) form data fields. If AddObject is used (with an existing object reference), it is the applications responsibility for freeing the object reference. Use FieldStream ( data stream.

708

709) to access the TStream created for a form data field that represents a file to include in the miultipart form

Internet Direct (Indy) Version 10.1.5

Classes

TIdFormDataField Class

See Also TIdFormDataField.FieldStream (

709)

TIdFormDataField.FieldSize Property Size of the form data field in the multipart stream including HTTP headers. Pascal property FieldSize: LongInt; Description FieldSize is a LongInt property that indicates the size of the form data field in a multipart form data stream. FieldSize includes the MIME boundary marker from the multipart form data stream, and other HTTP headers needed to reflect the content type and disposition for an HTTP GET or POST request. When FieldObject ( 708) has been assigned, FieldSize includes the length of any content assigned to the TStream buffer or TStrings lines with an additional CR ( 3174)+LF ( 4341) sequence to separate content values. See Also TIdFormDataField.ContentType ( TIdFormDataField.FileName (

708)

710)

TIdFormDataField.FieldObject (

708)

TIdMultiPartFormDataStream.Boundary (

1663)

TIdMultiPartFormDataStream.RequestContentType (

1663)

TIdFormDataField.FieldStream Property TStream associated with the contents of the form data field. Pascal property FieldStream: TIdStream; Description FieldStream is a TStream property that represents an optional stream to use for the contents of the form data field. FieldStream accesses the object reference in FieldObject ( 708). Reading the value in FieldStream is valid only for TStream descendants stored in the FieldObject ( 708). Accessing a TStrings instance using FieldStream will raise an EIdInvalidObjectType ( 110) exception. When FieldObject ( 708) is unassigned, the value in FieldStream is Nil. Writing a value to FieldStream will store the TStream object reference in the FieldObject (

708) property.

See Also TIdFormDataField.FieldObject ( EIdInvalidObjectType (

708)

110)

TIdFormDataField.FieldStrings Property Pascal property FieldStrings: TIdStrings; Description FieldStrings is a Public TStrings property

Internet Direct (Indy) Version 10.1.5

709

TIdFormDataFields Class

Classes

TIdFormDataField.FieldValue Property Content values for the named form data field. Pascal property FieldValue: string; Description FieldValue is a string property that represents the value for the form data field identified in FieldName ( in FieldValue causes the FieldSize ( 709) property to be calculated and updated. Use FieldName (

708) to get the HTML ID or NAME assiociated with the form data field.

Use FieldObject (

708) or FieldStream (

Use ContentType (

708). Changing the value

709) to access object references with content for the form data field.

708) to specify the MIME content type for values in the form data field.

See Also TIdFormDataField.FieldName (

708)

TIdFormDataField.FieldObject (

708)

TIdFormDataField.FieldStream ( TIdFormDataField.ContentType (

709) 708)

TIdFormDataField.FileName Property File name used to load content for the form data field. Pascal property FileName: string; Description FileName is a string property that indicates the file name to use as the source of form data field contents that represent file to be uploaded in an HTTP GET or POST request. Changing the value in FileName causes the FieldSize ( 709) property to be recalculated and updated. FileName is used when TIdMultiPartFomDataStream.AddFile is called to create (

706) a new form data field.

See Also TIdFormDataField.FileSize TIdFormDataField.FileStream TIdMultiPartFomDataStream.AddFile

TIdFormDataFields Class Represents the multipart form data stream that owns the collection. File IdMultipartFormData (

4691)

Hierarchy

Pascal TIdFormDataFields = class(TIdCollection); 710

Internet Direct (Indy) Version 10.1.5

Classes

TIdFormDataFields Class

Description MultipartFormDataStream ( 713) is a read-only TIdMultiPartFormDataStream ( 1657) property that provides access to the multipart form data stream that owns any items added to the collection. The value for MultipartFormDataStream ( 713) is provided as an argument to the Create ( 712) constructor. MultipartFormDataStream ( 713) is used to get access to properties of the owner stream, like Boundary. It is also used when formatting and calculating the size of items in the collection See Also TIdMultiPartFormDataStream (

1657)

TIdMultiPartFormDataStream.Boundary ( TIdFormDataField.FieldSize (

1663)

709)

TIdFormDataFields Members The following tables list the members exposed by TIdFormDataFields. Properties Property

Description

Items (

712)

Provides indexed access to items in the collection.

MultipartFormDataStream (

713)

Represents the multipart form data stream that owns the collection.

Methods Method Add (

Description 711)

Create (

Adds a new form data field to the collection.

712)

Legend Method Property read only

TIdFormDataFields Methods The Methods of the TIdFormDataFields class are listed here. Methods Method Add (

Description 711)

Create (

Adds a new form data field to the collection.

712)

Legend Method

TIdFormDataFields.Add Method Adds a new form data field to the collection. Pascal function Add: TIdFormDataField; Returns TIdFormDataField (

705) - The new form data field for the collection.

Description Add is a TIdFormDataField (

705) function used to add a new form data field to the collection. Add calls the inherited Add method,

Internet Direct (Indy) Version 10.1.5

711

TIdFormDataFields Class

Classes

and ensures that the return value is cast to the TIdFormDataField ( Add is called from TIdMultiPartFormDataStream (

705) type maintained by the collection.

1657) methods like AddObject, AddFormField, and AddFile.

See Also TIdFormDataField (

705)

TIdMultiPartFormDataStream.AddFile (

1659)

TIdMultiPartFormDataStream.AddFormField ( TIdMultiPartFormDataStream.AddObject (

1660)

1661)

TIdFormDataFields.Create Constructor Pascal constructor Create( AMPStream: TIdMultiPartFormDataStream ); Parameters Parameters

Description

AMPStream

Description Create

TIdFormDataFields Properties The Properties of the TIdFormDataFields class are listed here. Properties Property Items (

Description 712)

MultipartFormDataStream (

Provides indexed access to items in the collection. 713)

Represents the multipart form data stream that owns the collection.

Legend Property read only

TIdFormDataFields.Items Property Provides indexed access to items in the collection. Pascal property Items [AIndex: Integer]: TIdFormDataField; Parameters Parameters

Description

AIndex

Ordinal position of an item in the collection.

Description Items is an indexed TIdFormDataField ( 705) property that provides access to the form data field instances in the collection. Use AIndex to access an item in the collection by it's ordinal position in the collection. Index positions in the collection start at 0, and will not exceed the length of the collection minus 1. When reading the value of an object instance in the collection using AIndex, the Item is cast to a TIdFormDataField ( instance. Items is a read-only property in TIdFormDataFields ( 712

710), Use Add (

711) to create (

705) object

712) a new form data field for the Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

collection. See Also TIdFormDataField (

705)

TIdFormDataFields.MultipartFormDataStream Property Represents the multipart form data stream that owns the collection. Pascal property MultipartFormDataStream: TIdMultiPartFormDataStream; Description MultipartFormDataStream is a read-only TIdMultiPartFormDataStream ( 1657) property that provides access to the multipart form data stream that owns any items added to the collection. The value for MultipartFormDataStream is provided as an argument to the Create ( 712) constructor. MultipartFormDataStream is used to get access to properties of the owner stream, like Boundary. It is also used when formatting and calculating the size of items in the collection See Also TIdMultiPartFormDataStream (

1657)

TIdMultiPartFormDataStream.Boundary ( TIdFormDataField.FieldSize (

1663)

709)

TIdFSP Class Implements a File Service Protocol (FSP) version (

729) 2 client.

File IdFSP (

4628)

Hierarchy

Pascal TIdFSP = class(TIdUDPClient); Description TIdFSP is a TIdUDPClient ( the specification document:

2509) descendant that implements the File Service Protocol (FSP) version (

729) 2, as described in

File Service Protocol (FSP) version 2 The File Service Protocol is also referred to using the following names:

File Sharing Protocol File Slurping Protocol File Sucking Protocol Flaky Stream Protocol FTPs' Sexier Partner There is no official RFC for the FSP protocol, and FSP is not recognized as an Internet Standard protocol. The protocol is not Internet Direct (Indy) Version 10.1.5

713

TIdFSP Class

Classes

copyrighted and has been placed into the public domain.

FSP Protocol Design FSP protocol was not designed to transfer data in a secure fashion. It was designed as an alternative protocol for providing lightweight access to a collection of public files. FSP has the same user-level security as an anonymous FTP file server. FSP has better network-level security than anonymous FTP, because it was designed to resist various denial-of-service attacks. FSP protocol v3 will be designed to be fully secure. FSP3 will not be backward compatible with FSP2.

Passwords Recently, password support was added to the FSP protocol. Passwords, however, are transmited in clear text over the network which makes them a weak protection for a determined intruder.

Transport FSP uses UDP datagrams as its' transport medium. The minimum UDP packet size (not including the size of UDP, IP and link-layer headers) is 12 bytes. The maximum UDP packet size is 1024 bytes + 12 bytes for the FSP packet header.

FSP Packet format Each FSP packet contains storage for header, data, and optional extra data that indicate the operation to perform and data to transfer using the FSP protocol. The FSP packet information is represented in TIdFSP using the TIdFSPPacket ( 749) class, and conforms to the requirements outlined in the specification document.

FSP Protocol Commands The FSP protocol defines several commands - some of which are required in an FSP client implementation, while others are optional. Commands are indicated in TIdFSPPacket ( 749) using the numeric value defined in the FSP protocol specification, and include the following:

Command CC_BYE (

3139)

CC_DEL_DIR (

3142)

CC_DEL_FILE ( CC_ERR (

3143)

3145)

CC_GET_DIR (

3146)

Description

Method

Terminate an FSP session.

Disconnect (

720)

Delete (

719) a directory.

RemoveDir (

728)

Delete (

719) a file.

Delete (

719)

Sending an error message back to client.

SendCmd

Directory listings.

List (

724) 720)

CC_GET_FILE (

3148)

File transfer.

Get (

CC_GET_PRO (

3149)

Information about directory flags.

GetDirInfo (

Close and install file open file.

Put (

Create (

MakeDir (

725)

Rename (

728)

CC_INSTALL (

3155)

CC_MAKE_DIR ( CC_RENAME ( CC_STAT (

3158) 3159)

3162)

267) a directory.

Rename (

728) file or directory.

723)

726)

File status.

GetStatInfo ( Put (

CC_UP_LOAD (

3165)

Open a file for writing.

CC_VERSION (

3167)

Get (

720) server version (

729) and setup string.

723)

726)

Version

The current FSP client implementation in TIdFSP does not implement the following FSP commands: 714

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

Command

Description

CC_INFO (

3153)

CC_SET_PRO (

Return server's extended info block.

3161)

CC_GRAB_FILE (

Set directory protection.

3152)

CC_GRAB_DONE ( CC_CH_PASSW (

3151) 3140)

Atomic get (

720)+delete (

719) a file.

Atomic get (

720)+delete (

719) a file done.

Change password.

CC_LIMIT (

3156)

Reserved for FSP 3.

CC_TEST (

3164)

Reserved for testing of new header.

TIdFSP Client Configuration The default port number used in the FSP client is IdPORT_FSP ( 3998) as indicated in the Port ( 734) property. Any change required to the Port ( 734) property must be performed prior to callin Connect ( 718) to establish an FSP session. Use ClientMaxPacketSize ( 730) to read or write the maximum client packet size to support in exchanges using the FSP client commands. Use ServerMaxPacketSize ( 734) to determine the maximum packet size supported in exchanges with the FSP server. Both values are used in determining the optimal payload packet size and the maximum buffer size used in FSP protocol exchanges. Use ServerMaxThruPut ( FSP server. Use ThruputControl (

734) to determine the maximum server thoughput (in bytes per second) allowed for connections to the

738) to determine if throughput control is supported for the FSP server connection.

Details about the FSP server implmentation for the current connection read using the Version ( the following properties:

Property

729) method can be accesses in

Description

SystemDesc (

736)

Description of the server.

SystemServerLogs ( SystemReadOnly (

737)

Server performs logging.

736)

Server is read-only.

SystemReverseLookupRequired ( SystemPrivateMode (

736)

SystemAcceptsExtraData (

737)

Reverse lookups are required. Server is in private mode.

735)

Server accepts extra data.

Using TIdFSP Client One of the key features implemented in TIdFSP is its' ability to parse and store structured directory and status listings returned in the List ( 724), GetDirInfo ( 723), and GetStatInfo ( 723) methods. While similiar to the features implemented in TIdFTP ( 759), the content available in directory and status information is well defined in the FSP protocol. Use the following properties to access collections containing the structured return values:

DirectoryListing ( DirInfo ( StatInfo (

731)

731) 735)

Use the following methods to perform file, directory, and status operations as defined in the FSP protocol: Internet Direct (Indy) Version 10.1.5

715

TIdFSP Class

Classes

AbortCmd (

718)

Connect ( Delete (

718) 719)

Disconnect ( Get (

720)

720)

GetDirInfo (

723)

GetStatInfo ( List (

724)

MakeDir ( Put (

723)

725)

726)

RemoveDir ( Rename (

728)

728)

Version Use the following event handlers to respond to client notifications occurring when FSP packets and/or files are sent and received:

OnWork (

732)

OnWorkBegin ( OnWorkEnd (

732) 733)

OnRecv (

738)

OnSend (

739)

See Also TIdUDPClient (

2509)

TIdFSPListItems (

745)

TIdFSPListItem (

744)

TIdFSPStatInfo (

756)

TIdFSPDirInfo (

739)

TIdFSPPacket (

749)

TIdFSPLogEvent (

3027)

TIdFSP Members The following tables list the members exposed by TIdFSP. Properties Property Active (

Description 2507)

Binding (

Indicates that the socket binding has been allocated for the UDP client.

2508)

BroadcastEnabled ( BufferSize (

Socket handle for the read or write transaction. 2508)

2508)

DirInfo ( Host (

716

731)

2520)

2500) transmissions.

Specifies the largest UDP packet size.

ClientMaxPacketSize ( DirectoryListing (

Indicates that the socket binding can perform broadcast (

730)

731)

Represents the maximum size for client packets in FSP protocol exchanges. Structured directory listing for files and directories on the FSP host. Provides access to action and permission flags for a directory on the remote FSP host. Identifies the address of the remote computer system.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

IPVersion (

2509)

Identifies the IP address family supported for the UDP protocol client.

IPVersion (

2521)

Identifies the IP address family supported for the UDP protocol client.

OnConnected (

2521)

OnDisconnected ( OnWork (

Event handler signalled when closing the UDP client session.

732)

OnWorkBegin (

Event handler signalled when FSP packets containing file data are received. 732)

OnWorkEnd ( Port (

Event handler signalled when establishing the UDP client session.

2521)

Event handler signalled prior to processing packets in an FSP protocol exchange.

733)

Event handler signalled after processing packets in an FSP protocol exchange.

734)

Port number used in FSP protocol exchanges.

ReceiveTimeout (

2509)

ReceiveTimeout (

2522)

Indicates the timeout while waiting for a readable socket handle. Indicates the timeout while waiting for a readable socket handle.

ServerMaxPacketSize ( ServerMaxThruPut ( StatInfo (

734)

Represents the maximum size for packets from the server in FSP protocol exchanges.

734)

Maximum server thoughput (in bytes per second) allowed for connections to the FSP server.

735)

Stores status and statistical information about a file or directory on the remote FSP host.

SystemAcceptsExtraData ( SystemDesc (

735)

Description of the remote FSP host.

SystemPrivateMode ( SystemReadOnly (

736)

SystemServerLogs ( ThruputControl ( TransparentProxy (

Indicates if the remote FSP host is operating in Private mode.

736)

SystemReverseLookupRequired (

WorkTarget (

Indicates if the remote FSP host accepts Extra Data values in packets for FSP protocol exchanges.

736)

737)

Indicates if the remote FSP host is operating in Read-Only mode. 737)

Indicates if a reverse-lookup is required for connections to the remote FSP host. Indicates if the remote FSP host performs logging operations.

738)

Indicates if the remote FSP host implements throughput control.

2522)

Implements a transparent proxy connection for the UDP client.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

AbortCmd (

718)

BeginWork ( Broadcast (

Halts an executing command in the FSP client.

356)

2500)

CloseProxy (

Send (

2505) data to all computers on the network.

2511)

Closes the socket handle for a proxied connection for the client.

718)

Initializes an FSP client session.

2512)

Indicates if the socket handle for the UDP client has been allocated.

Connect ( Connected (

Triggers the OnBeginWork event.

Create (

267)

Constructor for the object instance.

Delete (

719)

Deletes a specified file on the remote FSP host.

Destroy (

719)

Disconnect ( DoWork (

Frees the object instance.

720)

357)

EndWork (

Closes an existing existing FSP session. Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

GetStatInfo (

723)

Gets status and statistical information for a file or directory.

GetVersion (

269)

Version (

MakeDir (

725)

269) number for Indy component suite.

Creates a new directory on the remote FSP host.

OpenProxy (

2514)

Ensures the optional transparent proxy is enabled for the client.

RemoveDir (

728)

Removes a directory on the remote FSP host.

Rename (

728)

Renames an existing file on the remote FSP host.

Send (

2505)

Transmits a datagram to a specified host and port number.

Send (

2517)

Transmits a datagram to the host and port number for the client.

CType ( Get (

267)

720)

GetDirInfo (

722)

List (

724)

Put (

726)

Create (

1274)

ReceiveBuffer (

2501)

ReceiveString (

2504)

SendBuffer (

2506)

ReceiveBuffer ( SendBuffer ( Version (

2514)

2518)

729)

Internet Direct (Indy) Version 10.1.5

Captures and stores information about the configuration of the remote FSP host for the session.

717

TIdFSP Class

Classes

Events Event

Description

OnRecv (

738)

Event handler signalled when an FSP packet is received.

OnSend (

739)

Event handler signalled when an FSP packet is sent.

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdFSP Methods The Methods of the TIdFSP class are listed here. Methods Method

Description

AbortCmd (

718)

Connect ( Delete (

718)

719)

Destroy (

Frees the object instance. Closes an existing existing FSP session.

722)

GetStatInfo (

723)

Gets status and statistical information for a file or directory.

724)

MakeDir ( Put (

720)

720)

GetDirInfo ( List (

Initializes an FSP client session. Deletes a specified file on the remote FSP host.

719)

Disconnect ( Get (

Halts an executing command in the FSP client.

725)

Creates a new directory on the remote FSP host.

726)

RemoveDir ( Rename ( Version (

728)

728) 729)

Removes a directory on the remote FSP host. Renames an existing file on the remote FSP host. Captures and stores information about the configuration of the remote FSP host for the session.

Legend Method virtual

TIdFSP.AbortCmd Method Halts an executing command in the FSP client. Pascal procedure AbortCmd; Description AbortCmd is a procedure that implements a thread-safe mechanism used to halt an executing command in the FSP client. AbortCmd sets a thread-safe internal flag that is examined in SendCmd, and allows an executing FSP command to be aborted without raising an exception in a worker thread. See Also SendCmd

TIdFSP.Connect Method Initializes an FSP client session.

718

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

Pascal procedure Connect; override; Description Connect is an overidden procedure used initialize a session on the FSP client. The Connect method name is a bit of a misnomer; FSP is connectionless protocol using the UDP transport. Connect does not establish a physical connection to remote host, but sets the default values for internal member variables used during FSP protocol exchanges. Connect sets the value of the ServerMaxPacketSize ( Use the Version (

734) property to the value DEF_MAXSIZE (

3190).

729) method determine the capabilities implemented on the remote FSP connection.

Use the Disconnect ( 720) method to free any buffer space allocated for the FSP client, and to send ( 3139) command used in the FSP protocol.

2517) the CC_BYE (

Connect calls the inherited Connect method prior to exiting from the method. See Also ServerMaxPacketSize ( DEF_MAXSIZE ( CC_BYE (

3190)

3139)

Disconnect ( Version (

734)

720)

729)

TIdFSP.Delete Method Deletes a specified file on the remote FSP host. Pascal procedure Delete( const AFilename: string ); Parameters Parameters

Description

AFilename

File name to delete on the remote FSP host.

Description Delete is a procedure used to delete the file specified in AFilename on the remote FSP host. Delete calls the SendCmd method using the FSP CC_DEL_FILE ( 3143) command and the null-terminated value in AFilename. Delete can raise a EIdFSPProtException ( the remote FSP host.

87) exception if the file in AFilename does not represent a valid exisitng file name on

Use Get (

720) to retrieve a fileon the FSP host.

Use Put (

726) to store a file on the FSP host.

See Also SendCmd Get (

720)

Put (

726)

TIdFSP.Destroy Destructor Frees the object instance.

Internet Direct (Indy) Version 10.1.5

719

TIdFSP Class

Classes

Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy calls Disconnect ( 720) to free any buffer space allocated in the FSP client, and frees resources allocated to properties and members in the object instance. Destroy calls the inherited destructor prior to exiting from the method. See Also DirInfo (

731)

DirectoryListing ( StatInfo (

731)

735)

TIdFSP.Disconnect Method Closes an existing existing FSP session. Pascal procedure Disconnect; override; Description Disconnect is an overridden procedure used to close an existing FSP session. Since FSP is a connection-less protocol based on UDP datagrams, there is no physical connection to a remote system that needs to be closed. The FSP client does, however, maintain an internal boolean flag that indicates if an FSP session has been initialized by calling the Connect ( 718) method. If a previous FSP session has been established, Disconnect send ( 2517) the FSP CC_BYE ( intention to the remote FSP host. Disconnect calls the inherited Disconnect method.

3139) command to signal its'

Disconnect clears the internal flag indicating that an FSP session has been established. Use Connect (

718) to establish a new FSP session for a specified remote FSP host.

See Also Connect (

718)

Destroy (

719)

TIdFSP.Get Method Overload List Method

Description

TIdFSP.Get (string, string, boolean, Retrieves a file from the remote FSP host. Boolean) ( 721) TIdFSP.Get Boolean) ( 720)

(string,

TIdStream, Retrieves a file from the remote FSP host.

TIdFSP.Get Method (string, TIdStream, Boolean) Retrieves a file from the remote FSP host. Pascal procedure Get( const ASourceFile: string; ADest: TIdStream; AResume: Boolean = false 720

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

); overload; Parameters Parameters

Description

ASourceFile

File name on the remote FSP host.

ADest

Stream used to store the contents of the retrieved file.

AResume

The operation can be resumed from its current position.

Description Get is an overloaded procedure used to retreive the file specified in ASourceFile from the remote FSP host. ADest is a TIdStream ( 3087) descendant used to store the contents of the retrieved file on the local file system. The stream may be a TFileCreateStream ( 212) instance when file content is overwritten and not resumed. The stream may be a TAppendFileStream ( 188) instance when file content is not overwritten and resumed from its current position. AResume indicates if the retrieval operation can be resumed from its current position in the stream (based on the exisiting contents of the local file in ADestFile). When AResume contains True, the current stream position is included in the packet for the FSP request. When AResume contains False, the file position in the packet for the FSP request is set to 0 (zero). Get constructs the TIdFSPPacket ( 749) instance required in the FSP protocol request using the optimal buffer size indicated by the ClientMaxPacketSize ( 730) and ServerMaxPacketSize ( 734) properties (including the required 12-byte header). Get iteratively calls SendCmd using the packet for the FSP request, and captures the packet from the FSP response. If the FSP response packet contains data for the file, it is written to the stream specified in ADest. The process is repeated until all data is read for the requested file. Gets signals the OnWorkBegin ( 732), OnWork ( 732), and OnWorkEnd ( 733) event handlers during processing of response packets in the FSP protocol exchange. OnWork ( 732) is signalled with the number of bytes from an FSP response packet that represent actual data stored in ADest. Use OnSend ( Use Put (

739) and OnRecv (

738) to perform actions required when FSP protocol packets are sent or received.

726) to store a file found on the local file system to a specific path on the remote FSP host.

See Also Get Put (

726)

TIdStream (

3087)

TFileCreateStream (

212)

TAppendFileStream ( TIdFSPPacket ( OnWork (

188)

749)

732)

OnWorkBegin ( OnWorkEnd (

732) 733)

OnSend (

739)

OnRecv (

738)

TIdFSP.Get Method (string, string, boolean, Boolean) Retrieves a file from the remote FSP host. Pascal procedure const const const

Get( ASourceFile: string; ADestFile: string; ACanOverwrite: boolean = false;

Internet Direct (Indy) Version 10.1.5

721

TIdFSP Class

Classes

AResume: Boolean = false ); overload; Parameters Parameters

Description

ASourceFile

File name on the remote FSP host.

ADestFile

File name on the local file system.

ACanOverwrite

File can be overwritten on the local file system. The default value is false.

AResume

The operation can be resumed from its current position. The default value is false.

Description Get is an overloaded procedure used to retreive the file specified in ASourceFile from the remote FSP host. ADestFile indicates the path and file name to use when storing the file on the local file system. ACanOverwrite indicates if the file can be overwritten on the local file system. The default value is false. AResume indicates if the retrieval operation can be resumed from its current position (based on the exisiting contents of the local file in ADestFile). The default value is false. Values in ACanOverwrite and AResume determine if an existing file with the name specififed in ADestFile is deleted prior to retriveing the specified file. Get constructs the TIdFSPPacket ( 749) instance required in the FSP protocol request using the maximum buffer size indicated by the ClientMaxPacketSize ( 730) and ServerMaxPacketSize ( 734) properties (including the required 12-byte header). Get creates an instance of a TIdStream ( 3087) descendant used internally to capture the content retrieved for the requested file. The stream will be a TFileCreateStream ( 212) instance when file content is overwritten and not resumed. The stream will be a TAppendFileStream ( 188) instance when file content is not overwritten and resumed from its current position. Get can raise an EIdFSPFileAlreadyExists (

86) exception ACanOverwrite and AResume both contain the value True.

Get calls the overloaded variant of the Get method using the internal TIdStream ( prior to exiting from the method. Use Put (

3087) instance. The stream instance is freed

726) to store a file found on the local file system to a specific path on the remote FSP host.

Exceptions Exceptions

Description

EIdFSPFileAlreadyExists (

86)

Raised with the message RSDestinationFileAlreadyExists.

See Also Get Put (

726)

TIdStream (

3087)

TFileCreateStream ( TAppendFileStream (

212) 188)

EIdFSPFileAlreadyExists (

86)

RSDestinationFileAlreadyExists

TIdFSP.GetDirInfo Method Overload List Method TIdFSP.GetDirInfo (String) ( TIdFSP.GetDirInfo TIdFSPDirInfo) ( 723)

722

Description 723)

Retrieves directory and file permissions for the specified directory.

(String, Retrieves directory and file permissions for the specified directory.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

TIdFSP.GetDirInfo Method (String) Retrieves directory and file permissions for the specified directory. Pascal procedure GetDirInfo( const ADIR: String ); overload; Parameters Parameters

Description

ADIR

Directory name of the remote FSP host.

Description GetDirInfo is an overloaded method used to get ( name specified in ADir.

720) directory and file permissions on the remote FSP host for the directory

GetDirInfo calls the overloaded GetDirInfo method usind the TIdFSPDirInfo (

739) instance assigned to the FSP client.

See Also GetDirInfo TIdFSPDirInfo (

739)

TIdFSP.GetDirInfo Method (String, TIdFSPDirInfo) Retrieves directory and file permissions for the specified directory. Pascal procedure GetDirInfo( const ADIR: String; ADirInfo: TIdFSPDirInfo ); overload; Parameters Parameters

Description

ADIR

Directory name of the remote FSP host.

ADirInfo

Storage for the directory permission flags.

Description GetDirInfo is an overloaded method used to access and store directory and file permissions on the remote FSP host for the directory name specified in ADir. ADirInfo is the TIdFSPDirInfo (

739) instance to use for storing the permission flags retrieve in the FSP protocol exchange.

GetDirInfo calls SendCmd using the FSP CC_GET_PRO ( 3149) command, and parses the contents of the FSP response packet to capture the values for the TIdFSPDirInfo ( 739) instance. Please note that, at the current time, the FSP client does not implement setting directory permission flags for directories owned by the client. See Also GetDirInfo TIdFSPDirInfo (

739)

SendCmd

TIdFSP.GetStatInfo Method Gets status and statistical information for a file or directory.

Internet Direct (Indy) Version 10.1.5

723

TIdFSP Class

Classes

Pascal procedure GetStatInfo( const APath: String ); Parameters Parameters

Description

APath

File name or directory path on the remote FSP host.

Description GetStatInfo is a procedure used to get (

720) status and statistical information about the file or directory specified in APath.

GetStatInfo calls SendCmd using the FSP CC_STAT ( 3162) command, and parses data from the FSP response packet into the StatInfo ( 735) property for the FSP client. StatInfo ( 735) will contain information about the type of item requested (file or directory), and optionally the file size and file modification date (in local and UTC timezones). GetStatInfo can raise an EIdFSPFileNotFound ( host. Use GetDirInfo (

723) and DirInfo (

86) exception when APath represents a file that does not exist on the remote FSP

731) to access file and directory permissions on the remote FSP host.

Exceptions Exceptions

Description

EIdFSPFileNotFound (

86)

Raised with the message RSFSPNotFound when the requested file does not exist on the remote FSP host.

See Also SendCmd TIdFSPPacket ( StatInfo (

749)

735)

EIdFSPFileNotFound (

86)

RSFSPNotFound

TIdFSP.List Method Overload List Method TIdFSP.List () (

Description 724)

TIdFSP.List (string) (

Retrieves a directory listing from the remote FSP host. 725)

Retrieves a directory listing for a specific directory from the remote FSP host.

TIdFSP.List Method () Retrieves a directory listing from the remote FSP host. Pascal procedure List; overload; Description List is an overloaded method used to retrieve a directory listing from the remote FSP host. List calls an overloaded variant if the method using the root directory ('/') for the directory name. Use the DirectoryListing ( response packet.

731) property to access the container with the structured directory listing created from values in the FSP

See Also List DirectoryListing ( 724

731) Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

TIdFSP.List Method (string) Retrieves a directory listing for a specific directory from the remote FSP host. Pascal procedure List( const ASpecifier: string ); overload; Parameters Parameters

Description

ASpecifier

Directory specifier on the remote FSP host.

Description List is an overloaded method used to retrieve a directory listing from the remote FSP host for the directory specified in ASpecifier. ASpecifier can contain a relative path that uses UNIX ( 4539)-style path delimiters, such as:

/

(Root directory)

/pub When ASpecifier contains an empty string (''), a default value is used that represents the root directory ('/'). List creates the TIdFSPPacket ( 749) instance representing the packet for FSP protocol request using the maximum packet size and preferred packet payload size indicated in ClientMaxPacketSize ( 730) and ServerMaxPacketSize ( 734). List calls SendCmd using the TIdFSPPacket (

749) instance for the FSP CC_GET_DIR (

List clears any existing entries in the DirectoryListing ( FSP protocol responses.

731) property prior to and capturing and parsing one or more packets from

List calls the ParseEntries method for the TIdFSPListItems ( in the FSP repponse packet. Use the DirectoryListing ( response packet. Use StatInfo (

3146) command.

745) collection in DirectoryListing (

731) to perform parsing of data

731) property to access the container with the structured directory listing created from values in the FSP

735) to access status and statisical information that may be present in the FSP response packet.

See Also List DirectoryListing ( StatInfo (

731)

735)

TIdFSPPacket (

749)

ClientMaxPacketSize ( ServerMaxPacketSize (

730) 734)

SendCmd TIdFSPListItems ( TIdFSPListItem (

745) 744)

TIdFSP.MakeDir Method Creates a new directory on the remote FSP host. Pascal procedure MakeDir( Internet Direct (Indy) Version 10.1.5

725

TIdFSP Class

Classes

const ADirName: string ); Parameters Parameters

Description

ADirName

Directory name to create (

267) on the remote FSP host.

Description MakeDir is a procedure used to create (

267) a new directory with the name specified in ADirName on the remote FSP host.

MakeDir calls SendCmd using the FSP CC_MAKE_DIR ( 3158) command and the argument specified in ADirName. MakeDir parses directory information in the FSP response packet, and stores the values in the DirInfo ( 731) property. Use DirInfo (

731) to access directory metadata populated using values in the FSP protocol response.

Please note that the remote FSP must include directory creation privileges for the specified directory or an EIdFSPProtException ( 87) will be raised. Use RemoveDir (

728) to remove a directory on the remote FSP host.

Exceptions Exceptions EIdFSPProtException (

Description 87)

Raised with the data from the FSP response packet.

See Also Send (

2517)

EIdProtocolResponseError

TIdFSP.Put Method Overload List Method TIdFSP.Put (string, string) (

Description 727)

TIdFSP.Put (TIdStream, TIdDateTime) ( 726)

Stores a copy of a file from the local file system on the remote FSP host. string, Stores a copy of a file from the local file system on the remote FSP host.

TIdFSP.Put Method (TIdStream, string, TIdDateTime) Stores a copy of a file from the local file system on the remote FSP host. Pascal procedure Put( const ASource: TIdStream; const ADestFile: string; const AGMTTime: TIdDateTime = 0 ); overload; Parameters Parameters

Description

ASource

Stream with the contents of a file on the local file system.

ADestFile

Relative path and file name where the file will be stored on the remote FSP host.

AGMTTime

Last modification timestamp in GMT for the file on the local file system. The default value is 0.

Description Put is an overloaded method used to store a copy of a file from the local file system on the remote FSP host. ASource is a TIdStream ( 3087) descendant with the contents of a file on the local file system. Applications must create ( stream instance to pass an as argument when using the stream-based variant of the method.

267) a

ADestFile contains the relative path and file name where the file will be stored on the remote FSP host.

726

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

AGMTTime contains the last modification timestamp in GMT for the file on the local file system. The default value is 0, and indicates that the last modification timestamp is ignored. Put constructs FSP protocol packets required for the request using the maximum buffer and preferred payload sizes indicated in the ClientMaxPacketSize ( 730) and ServerMaxPacketSize ( 734) properties. Put iteratively calls the SendCmd method using the FSP CC_UP_LOAD ( 3165) command and values read from the stream indicated in ASource until all data in the stream has been sent to the remote host. After passing the content of the file, Put calls SendCmd using the FSP CC_INSTALL ( 3155) command with the values in ADestFile and AGMTTime to make the uploaded file available on the remote FSP host. Calling Put can result in an EIdFSPProtException ( the remote FSP host. Use Get (

87) exception being raised if the file specified in ADestFile already exists on

720) to retreive a file stored on the remote FSP host.

Exceptions Exceptions

Description

EIdFSPProtException (

87)

Raised with the contents of the FSP packet response when the file already exists on the remote host.

See Also Put SendCmd ClientMaxPacketSize (

730)

ServerMaxPacketSize (

734)

EIdFSPProtException (

87)

TIdFSPPacket ( TIdStream (

749)

3087)

TIdFSP.Put Method (string, string) Stores a copy of a file from the local file system on the remote FSP host. Pascal procedure Put( const ASourceFile: string; const ADestFile: string = '' ); overload; Parameters Parameters

Description

ASourceFile

Local file path and name to store on the remote FSP host.

ADestFile

Relative path and file name where the file will be stored on the remote FSP host.

Description Put is an overloaded method used to store a copy of a file from the local file system on the remote FSP host. ASourceFile indicates the name of the file on the local file system, and may include drive and directory information in the file name. ADestFile is the name of file to use when storing the content on the remote FSP host, and may include a relative path in the file name specification. When ADestFile is omitted (or contains an empty string), the file name without drive or directory information is used as the value for ADestFile. To store a file using a specific relative path, the value in ADestFile must be passed as an explicit argument. Put creates a TReadFileNonExclusiveStream ( 2677) instance using the value in ASourceFile that reads the file content on the local file system. Put calls the overloaded method using the stream instance and the file modification timestamp (expressed in the GMT timezone) to store the file on the remote FSP host. The TReadFileNonExclusiveStream ( 2677) instance is freed prior to exiting frm the method. Calling Put can result in an EIdFSPProtException ( the remote FSP host. Internet Direct (Indy) Version 10.1.5

87) exception being raised if the file specified in ADestFile already exists on

727

TIdFSP Class Use Get (

Classes 720) to retreive a file stored on the remote FSP host.

Exceptions Exceptions

Description

EIdFSPProtException (

87)

Raised with the contents of the FSP packet response when the file already exists on the remote host.

See Also Get (

720)

Put EIdFSPProtException (

87)

TReadFileNonExclusiveStream (

2677)

TIdFSP.RemoveDir Method Removes a directory on the remote FSP host. Pascal procedure RemoveDir( const ADirName: string ); Parameters Parameters

Description

ADirName

Directory to delete (

719) on the remote FSP host.

Description RemoveDir is a procedure used to delete ( 719) or remove the directory specified in ADirName on the remote FSP host. RemoveDir calls the SendCmd method using the FSP CC_DEL_DIR ( 3142) command and the value specified in ADirName to peform the request. Calling RemoveDir can result in an EIdFSPProtException ( 87) exception being raised if the specified directory does not exist on the remote FSP host, or when the user does not have permissions to remove the directory. Exceptions Exceptions

Description

EIdFSPProtException (

87)

Raised with the contents of the FSP packet response when the directory does not exist, or the user does not have directory removal permissions. Use MakeDir ( 725) to create ( 267) a directory on the remote FSP host.

See Also EIdFSPProtException (

87)

SendCmd MakeDir (

725)

TIdFSP.Rename Method Renames an existing file on the remote FSP host. Pascal procedure Rename( const ASourceFile: string; const ADestFile: string ); Parameters Parameters

Description

ASourceFile

The existing file name on the remote FSP host.

ADestFile

The new file name on the remote FSP host.

728

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

Description Rename is a procedure used to rename an existing file on the remote FSP host. ASourceFile contains the existing file name on the remote FSP host. ADestFile indicates the new file name to use on the remote FSP host. Rename calls the SendCmd method using the FSP CC_RENAME ( ASourceFile and ADestFile.

3159) command and the file name arguments specified in

Calling Rename can result in an EIdFSPProtException ( 87) exception being raised if the rename operation using the specified file names would result in an error; either ASourceFile does not exist on the remote FSP host, or ADestFile already exists. The exception may also be raised if the user does not have permissions to renames files in the remote directory. Use Delete ( Use Put (

719) to remove a file on the remote FSP host.

726) or Get (

720) to send (

2517) or receive files between the local file system and the remote FSP host.

Exceptions Exceptions

Description

EIdFSPProtException (

87)

Raised when the file names are invcalid for the operation, or the user not have permissions to renames files in the remote directory.

See Also EIdFSPProtException (

87)

SendCmd Delete (

719)

Put (

726)

Get (

720)

TIdFSP.Version Method Captures and stores information about the configuration of the remote FSP host for the session. Pascal procedure Version; Description Version is a procedure used to capture and store information about the configuration of the remote FSP host for the session. Use the Version method after calling Connect ( 718). Please note that some FSP do not respond to the CC_VERSION ( some servers do not wishes to be detected.

3167) command; this command is used by FSP scanners and

Version captures and stores values from the FSP protocol response packet in properties for the client, including:

SystemDesc (

736)

SystemServerLogs ( SystemReadOnly (

737) 736)

SystemReverseLookupRequired ( SystemPrivateMode ( ThruputControl (

737)

736)

738)

SystemAcceptsExtraData ( ServerMaxThruPut (

735)

734)

ServerMaxPacketSize (

734)

Internet Direct (Indy) Version 10.1.5

729

TIdFSP Class

Classes

See Also Connect (

718)

SystemDesc (

736)

SystemServerLogs ( SystemReadOnly (

737) 736)

SystemReverseLookupRequired ( SystemPrivateMode ( ThruputControl (

737)

736)

738)

SystemAcceptsExtraData ( ServerMaxThruPut (

735)

734)

ServerMaxPacketSize (

734)

TIdFSP Properties The Properties of the TIdFSP class are listed here. Properties Property

Description

ClientMaxPacketSize ( DirectoryListing ( DirInfo ( OnWork (

Represents the maximum size for client packets in FSP protocol exchanges.

731)

Structured directory listing for files and directories on the FSP host.

731)

Provides access to action and permission flags for a directory on the remote FSP host.

732)

OnWorkBegin ( OnWorkEnd ( Port (

730)

Event handler signalled when FSP packets containing file data are received. 732)

Event handler signalled prior to processing packets in an FSP protocol exchange.

733)

Event handler signalled after processing packets in an FSP protocol exchange.

734)

Port number used in FSP protocol exchanges.

ServerMaxPacketSize ( ServerMaxThruPut ( StatInfo (

734)

Represents the maximum size for packets from the server in FSP protocol exchanges.

734)

Maximum server thoughput (in bytes per second) allowed for connections to the FSP server.

735)

Stores status and statistical information about a file or directory on the remote FSP host.

SystemAcceptsExtraData ( SystemDesc (

735)

Description of the remote FSP host.

SystemPrivateMode ( SystemReadOnly (

736)

Indicates if the remote FSP host is operating in Private mode.

736)

SystemReverseLookupRequired ( SystemServerLogs ( ThruputControl (

Indicates if the remote FSP host accepts Extra Data values in packets for FSP protocol exchanges.

736)

737)

738)

Indicates if the remote FSP host is operating in Read-Only mode. 737)

Indicates if a reverse-lookup is required for connections to the remote FSP host. Indicates if the remote FSP host performs logging operations. Indicates if the remote FSP host implements throughput control.

Legend Property read only

TIdFSP.ClientMaxPacketSize Property Represents the maximum size for client packets in FSP protocol exchanges. Pascal property ClientMaxPacketSize: Word; Description ClientMaxPacketSize is a Word property that represents the maximum packet size on the client to support in FSP protocol exchanges. ClientMaxPacketSize is used in conjunction with ServerMaxPacketSize ( packets exchanged in methods implementing the various FSP commands. 730

734) to determine the buffer size allocated for UDP

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

ClientMaxPacketSize is also used to determine the amount of space available for the payload (non-header values) contained in FSP packets. The default value for ClientMaxPacketSize is DEF_MAXSIZE ( 3190), as assigned during initialization of the component. Changing the value in ClientMaxPacketSize can result in an EIdFSPPacketTooSmall ( 87) being raised when the new property value is smaller than 512 bytes; 500 bytes is the minimum pack set size for the client and 12 additional bytes are required for the FSP header. Exceptions Exceptions

Description

EIdFSPPacketTooSmall (

87)

Raised with the message RSFSPPacketTooSmall when changing the property to a value smaller than 512 bytes.

See Also ServerMaxPacketSize ( DEF_MAXSIZE (

734)

3190)

EIdFSPPacketTooSmall (

87)

TIdFSP.DirectoryListing Property Structured directory listing for files and directories on the FSP host. Pascal property DirectoryListing: TIdFSPListItems; Description DirectoryListing is a read-only TIdFSPListItems ( 745) property used to store a structured directory listing for files on the remote FSP host. DirectoryListing provides access to existing files on the FSP host using the indexed Items property in the collection. The contents of the DirectoryListing property are maintained and parsed when the FSP client receives an FSP protocol response in the List ( 724) method. Use DirInfo (

731) to access directory metadata populated using GetDirInfo (

Use StatInfo (

723).

735) to access file and directory statisical information populated using GetStatInfo (

723).

See Also TIdFSPListItems (

745)

TIdFSPListItem (

744)

List (

724)

DirInfo (

731)

GetDirInfo ( StatInfo (

723)

735)

GetStatInfo (

723)

TIdFSP.DirInfo Property Provides access to action and permission flags for a directory on the remote FSP host. Pascal property DirInfo: TIdFSPDirInfo; Description DirInfo is a read-only TIdFSPDirInfo ( 739) property used to access information about a directory on the remote FSP connection. DirInfo contains boolean flags that indicate actions and access permissions allowed for a specific directory, including:

Internet Direct (Indy) Version 10.1.5

731

TIdFSP Class

Classes

Flag

Description

OwnsDir

Client owns the directory

CanDeleteFiles

Files can be deleted from this directory

CanAddFiles

Files can be added to this directory

CanMakeDir

New subdirectories can be created

OnlyOwnerCanReadFiles

Files are NOT readable by non-owners

HasReadMe

Directory contain a readme file

CanBeListed

Directory can be listed

CanRenameFiles

Files can be renamed in this directory

Values in DirInfo are updated when the application calls one of the overloaded GetDirInfo ( 723) methods. Data returned in the response packet for the FSP CC_GET_PRO ( 3149) command is parsed and stored in the DirInfo object instance. Please note that, at the present time, TIdFSP ( FSP CC_SET_PRO ( 3161) command.

713) does not implement setting DirInfo values on the remote FSP host using the

See Also TIdFSPDirInfo ( GetDirInfo (

739)

723)

TIdFSP.OnWork Event Event handler signalled when FSP packets containing file data are received. Pascal property OnWork; Description OnWork is a published TWorkEvent ( 3121) property that represents the event handler signalled when FSP packets containing file data are received. OnWork is signalled when the values from an FSP packet are written to the stream used for a file in the Get ( 720) method. Use OnWorkBegin ( 732) and OnWorkEnd ( 733) to respond to events triggered both before and after processing of packets in the FSP protocol responses received in the Get ( 720) method. Applications must assign procedures to the OnWorkBegin ( responding to the event notifications.

732), OnWork, and OnWorkEnd (

733) event handlers to allow

See Also Get (

720)

OnWorkBegin (

732)

OnWorkEnd (

733)

TWorkEvent (

3121)

TIdFSP.OnWorkBegin Event Event handler signalled prior to processing packets in an FSP protocol exchange. Pascal property OnWorkBegin;

732

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

Description OnWorkBegin is a published TWorkBeginEvent ( packets in an FSP protocol exchange.

3120) property that represents the event handler signalled prior to processing

Arguments passed to the event handler identify the FSP client and the TWorkMode ( OnWorkBegin, OnWork ( 732), and OnWorkEnd ( method containing file data. Use OnWorkEnd (

2990) for the event notification.

733) are signalled during processing of FSP packets in the Get (

720)

733) to respond to the event notification following processing of packets in an FSP protocol exchange.

Use OnSend ( 739) and OnRecv ( using the FSP client.

738) to respond to events triggered when raw unprocessed FSP packets are sent or received

See Also OnWorkBegin OnWork (

732)

OnWorkEnd (

733)

OnSend (

739)

OnRecv (

738)

Get (

720)

TWorkBeginEvent ( TWorkMode (

3120)

2990)

TIdFSP.OnWorkEnd Event Event handler signalled after processing packets in an FSP protocol exchange. Pascal property OnWorkEnd; Description OnWorkEnd is a published TWorkEndEvent ( in an FSP protocol exchange.

3121) property that represents the event handler signalled after processing packets

Arguments passed to the event handler identify the FSP client and the TWorkMode (

2990) for the event notification.

OnWorkBegin ( 732), OnWork ( 732), and OnWorkEnd are signalled during processing of FSP packets in the Get ( method when the response packets contain file data.

720)

Use OnWorkEnd to respond to the event notification following processing of packets in an FSP protocol exchange. Use OnSend ( 739) and OnRecv ( using the FSP client.

738) to respond to events triggered when raw unprocessed FSP packets are sent or received

See Also OnWorkBegin ( OnWork (

732)

732)

OnWorkEnd OnSend (

739)

OnRecv (

738)

TWorkBeginEvent ( TWorkMode ( Get (

3120)

2990)

720)

Internet Direct (Indy) Version 10.1.5

733

TIdFSP Class

Classes

TIdFSP.Port Property Port number used in FSP protocol exchanges. Pascal property Port; Description Port is a published property that represents the port number used in FSP protocol transmissions. The default value for Port is IdPORT_FSP ( 3998), as assigned during initialization of the component. Application can change the value in Port proper to calling Connect ( 718) to establish the FSP session. See Also IdPORT_FSP (

3998)

Port

TIdFSP.ServerMaxPacketSize Property Represents the maximum size for packets from the server in FSP protocol exchanges. Pascal property ServerMaxPacketSize: Word; Description ServerMaxPacketSize is a read-only Word property that represents the maximum packet size to expect from the server in FSP protocol exchanges. ServerMaxPacketSize is used in conjunction with ClientMaxPacketSize ( packets exchanged in methods implementing the various FSP commands.

730) to determine the buffer size allocated for UDP

ClientMaxPacketSize ( 730) and ServerMaxPacketSize are also used to determine the amount of space available for the payload (non-header values) contained in FSP packets. The default value for ServerMaxPacketSize is DEF_MAXSIZE ( 3190), as assigned when establishing the FSP session in the Connect ( 718) method. The value in ServerMaxPacketSize is updated using a value in the FSP protocol response returned in the Version ( 729) method when ThruputControl ( 738) is enabled for the server implementation. See Also ClientMaxPacketSize (

730)

SendCmd ThruputControl (

738)

DEF_MAXSIZE (

3190)

TIdFSP.ServerMaxThruPut Property Maximum server thoughput (in bytes per second) allowed for connections to the FSP server. Pascal property ServerMaxThruPut: Cardinal; Description ServerMaxThruPut is a read-only Cardinal property that indicates the maximum server thoughput (in bytes per second) allowed for connections to the FSP server. ServerMaxThruPut is updated after calling the Version ( 729) method using a value returned in an FSP protocol response. Both ServerMaxThruPut and ServerMaxPacketSize ( 734) are updated when ThruputControl ( 738) is enabled on the remote FSP 734

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

server. Please note that the current FSP client implementation does implement bandwidth throttling using the value in ServerMaxThruPut, but it can be used for informational purposes. See Also ServerMaxPacketSize (

734)

TIdFSP.StatInfo Property Stores status and statistical information about a file or directory on the remote FSP host. Pascal property StatInfo: TIdFSPStatInfo; Description StatInfo is a read-only TIdFSPStatInfo ( the remote FSP host.

756) property used to store status and statistical information about a file or directory on

StatInfo is populated using values returned in the FSP protocol response generated by calling the GetStatInfo ( 723) method. StatInfo will contain information about the type of item requested (directory), and optionally the file size and file modification date (in local and UTC timezones). Use GetDirInfo (

723) and DirInfo (

731) to access file and directory permissions on the remote FSP host.

See Also TIdFSPStatInfo ( GetStatInfo ( DirInfo (

756)

723)

731)

GetDirInfo (

723)

TIdFSP.SystemAcceptsExtraData Property Indicates if the remote FSP host accepts Extra Data values in packets for FSP protocol exchanges. Pascal property SystemAcceptsExtraData: Boolean; Description SystemAcceptsExtraData is a read-only Boolean property that indicates if the remote FSP host accepts Extra Data values in packets for FSP protocol exchanges. SystemAcceptsExtraData is updated in the Version (

729) method to reflect the current FSP host configuration.

See Also Version (

729)

SystemDesc (

736)

SystemServerLogs ( SystemReadOnly (

737) 736)

SystemReverseLookupRequired ( SystemPrivateMode (

737)

736)

SystemAcceptsExtraData

Internet Direct (Indy) Version 10.1.5

735

TIdFSP Class

Classes

TIdFSP.SystemDesc Property Description of the remote FSP host. Pascal property SystemDesc: string; Description SystemDesc is a read-only string property that represents the description of the remote FSP host. SystemDesc generally contains the FSP host name and version ( 729) information about the protocol and server software. SystemDesc is updated in the Version (

729) method to reflect the current FSP host configuration.

See Also Version (

729)

SystemDesc SystemServerLogs ( SystemReadOnly (

737) 736)

SystemReverseLookupRequired ( SystemPrivateMode (

737)

736)

SystemAcceptsExtraData (

735)

TIdFSP.SystemPrivateMode Property Indicates if the remote FSP host is operating in Private mode. Pascal property SystemPrivateMode: Boolean; Description SystemPrivateMode is a read-only Boolean property that indicates if the remote FSP host is operating in the Private mode for the FSP protocol. SystemPrivateMode is updated in the Version (

729) method to reflect the current FSP host configuration.

See Also Version (

729)

SystemDesc (

736)

SystemServerLogs ( SystemReadOnly (

737) 736)

SystemReverseLookupRequired (

737)

SystemPrivateMode SystemAcceptsExtraData (

735)

TIdFSP.SystemReadOnly Property Indicates if the remote FSP host is operating in Read-Only mode. Pascal property SystemReadOnly: Boolean;

736

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSP Class

Description SystemReadOnly is a read-only Boolean property that indicates if the remote FSP host is operating in Read-Only mode. SystemReadOnly is updated in the Version (

729) method to reflect the current FSP host configuration.

See Also Version (

729)

SystemDesc (

736)

SystemServerLogs (

737)

SystemReadOnly SystemReverseLookupRequired ( SystemPrivateMode (

737)

736)

SystemAcceptsExtraData (

735)

TIdFSP.SystemReverseLookupRequired Property Indicates if a reverse-lookup is required for connections to the remote FSP host. Pascal property SystemReverseLookupRequired: Boolean; Description SystemReverseLookupRequired is a read-only Boolean property that indicates if a reverse-lookup is required for connections to the remote FSP host. SystemReverseLookupRequired is updated in the Version (

729) method to reflect the current FSP host configuration.

See Also Version (

729)

SystemDesc (

736)

SystemServerLogs ( SystemReadOnly (

737) 736)

SystemReverseLookupRequired SystemPrivateMode (

736)

SystemAcceptsExtraData (

735)

TIdFSP.SystemServerLogs Property Indicates if the remote FSP host performs logging operations. Pascal property SystemServerLogs: Boolean; Description SystemServerLogs is a read-only Boolean property that indicates if the remote FSP host performs logging operations. SystemServerLogs is updated in the Version (

729) method to reflect the current FSP host configuration.

See Also Version (

729)

SystemDesc (

736)

Internet Direct (Indy) Version 10.1.5

737

TIdFSP Class

Classes

SystemServerLogs SystemReadOnly (

736)

SystemReverseLookupRequired ( SystemPrivateMode (

737)

736)

SystemAcceptsExtraData (

735)

TIdFSP.ThruputControl Property Indicates if the remote FSP host implements throughput control. Pascal property ThruputControl: Boolean; Description ThruputControl is a read-only Boolean property that indicates if the remote FSP host implements throughput control. ThruputControl is updated in the Version ( 729) method to reflect the current FSP host configuration. When ThruputControl contains True, values in the ServerMaxThruPut ( 734) and ServerMaxPacketSize ( 734) properties will reflect the values from the remote FSP host. See Also Version (

729)

SystemDesc (

736)

SystemServerLogs ( SystemReadOnly (

737) 736)

SystemReverseLookupRequired ( SystemPrivateMode (

736)

SystemAcceptsExtraData ( ServerMaxThruPut (

737)

735)

734)

ServerMaxPacketSize (

734)

TIdFSP Events The Events of the TIdFSP class are listed here. Events Event

Description

OnRecv (

738)

Event handler signalled when an FSP packet is received.

OnSend (

739)

Event handler signalled when an FSP packet is sent.

Legend Event

TIdFSP.OnRecv Event Event handler signalled when an FSP packet is received. Pascal property OnRecv: TIdFSPLogEvent;

738

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPDirInfo Class

Description OnRecv is a TIdFSPLogEvent ( 3027) property that represents the event handler signalled when a valid FSP packet is received after sending a command in an FSP protocol exchange. Arguments to the OnRecv event handler indicate the object instance for the notification and the TIdFSPPacket ( read during the FSP protocol exchange. Use the OnWork ( 732), OnWorkBegin ( 732), and OnWorkEnd ( retrieving the content of a file using the Get ( 720) method.

749) instance

733) event handlers to respond to events signalled when

See Also TIdFSPLogEvent ( TIdFSPPacket ( OnWork (

749)

732)

OnWorkBegin ( OnWorkEnd ( Get (

3027)

732) 733)

720)

TIdFSP.OnSend Event Event handler signalled when an FSP packet is sent. Pascal property OnSend: TIdFSPLogEvent; Description OnSend is a TIdFSPLogEvent ( 3027) property that represents the event handler signalled after an FSP packet is sent. OnSend is signalled when methods in the client that implement the commands in an FSP protocol exchange are called. Arguments to the OnSend event handler indicate the object instance for the notification and the TIdFSPPacket ( written during the FSP protocol exchange. Use the OnWork ( 732), OnWorkBegin ( 732), and OnWorkEnd ( retrieving the content of a file using the Get ( 720) method.

749) instance

733) event handlers to respond to events signalled when

See Also TIdFSPLogEvent ( TIdFSPPacket ( OnWork (

749)

732)

OnWorkBegin ( OnWorkEnd ( Get (

3027)

732) 733)

720)

TIdFSPDirInfo Class Represents permissions and capabilities for a directory on the remote FSP host. File IdFSP (

4628)

Internet Direct (Indy) Version 10.1.5

739

TIdFSPDirInfo Class

Classes

Hierarchy

Pascal TIdFSPDirInfo = class(TObject); Description TIdFSPDirInfo is a TObject descendant that represents information about a directory on the remote FSP host. TIdFSPDirInfo includes properties that indicate permissions and capabilities for the directory, including:

OwnsDir (

743)

CanAddFiles (

741)

CanDeleteFiles (

741)

CanRenameFiles ( CanMakeDir (

742)

742)

OnlyOwnerCanReadFiles ( CanBeListed (

741)

HasReadMe (

742)

ReadMe (

743)

743)

Please note that FSP protocol server implementations prior to version 2.8.1b6 do not uses bits 6 and 7 returned in the FSP protocol response. This allows the directory to be listable even it do not have 6th bit set. Properties in TIdFSPDirInfo are updated when the FSP client performs commands that retrieve information for a specific directory, or when the directory is create by the FSP client. TIdFSPDirInfo is the type used to represent the DirInfo property in TIdFSP (

713).

See Also TIdFSP (

713)

TIdFSPStatInfo (

756)

TIdFSPDirInfo Members The following tables list the members exposed by TIdFSPDirInfo. Properties Property

Description

CanAddFiles (

741)

Indicates if files can be added to the directory on the remote FSP host.

CanBeListed (

741)

Indicates if files in the directory can be include in a directory listing.

CanDeleteFiles ( CanMakeDir (

741)

CanRenameFiles ( HasReadMe (

Indicates if files in the directory on the remote FSP host can be deleted.

742)

Indicates if new child directories can be created in the current directory on the remote FSP host. 742)

Indicates if files can be renamed in the directory on the remote FSP host.

742)

OnlyOwnerCanReadFiles (

Indicates if the directory on the remote FSP host contains a README description. 743)

OwnsDir (

743)

Indicates if the FSP client owns the directory on the remote FSP host.

ReadMe (

743)

Contains descriptive information provided about a directory on the remote FSP host.

Legend Property

740

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPDirInfo Class

TIdFSPDirInfo Properties The Properties of the TIdFSPDirInfo class are listed here. Properties Property

Description

CanAddFiles (

741)

Indicates if files can be added to the directory on the remote FSP host.

CanBeListed (

741)

Indicates if files in the directory can be include in a directory listing.

CanDeleteFiles ( CanMakeDir (

741)

CanRenameFiles ( HasReadMe (

Indicates if files in the directory on the remote FSP host can be deleted.

742)

Indicates if new child directories can be created in the current directory on the remote FSP host. 742)

Indicates if files can be renamed in the directory on the remote FSP host.

742)

Indicates if the directory on the remote FSP host contains a README description.

OnlyOwnerCanReadFiles (

743)

OwnsDir (

743)

Indicates if the FSP client owns the directory on the remote FSP host.

ReadMe (

743)

Contains descriptive information provided about a directory on the remote FSP host.

Legend Property

TIdFSPDirInfo.CanAddFiles Property Indicates if files can be added to the directory on the remote FSP host. Pascal property CanAddFiles: Boolean; Description CanAddFiles is a Boolean property that indicates if files can be added to the directory on the remote FSP host. Use CanDeleteFiles ( remote FSP host. Use CanMakeDir (

741) and CanRenameFiles (

742) to determine if files can be deleted or renamed in the directory on the

742) to determine if new child directories can be created in the specified directory on the remote FSP host.

See Also CanDeleteFiles (

741)

CanRenameFiles ( CanMakeDir (

742)

742)

TIdFSPDirInfo.CanBeListed Property Indicates if files in the directory can be include in a directory listing. Pascal property CanBeListed: Boolean; Description CanBeListed is a Boolean property that indicates if files in the directory on the remote FSP host can be include in a directory listing. When can be liste contains False, FSP clients will not be able to see any files in the directory.

TIdFSPDirInfo.CanDeleteFiles Property Indicates if files in the directory on the remote FSP host can be deleted. Pascal property CanDeleteFiles: Boolean;

Internet Direct (Indy) Version 10.1.5

741

TIdFSPDirInfo Class

Classes

Description CanDeleteFiles is a Boolean property that indicates if files in the directory on the remote FSP host can be deleted. Use CanAddFiles ( remote FSP host. Use CanMakeDir ( Use OwnsDir (

741) and CanRenameFiles (

742) to determine if files can be added or renamed in the directory on the

742) to determine if new child directories can be created in the specified directory on the remote FSP host.

743) to determine if the directory on the remote FSP host is owned by the client.

See Also CanAddFiles (

741)

CanRenameFiles ( CanMakeDir ( OwnsDir (

742)

742)

743)

TIdFSPDirInfo.CanMakeDir Property Indicates if new child directories can be created in the current directory on the remote FSP host. Pascal property CanMakeDir: Boolean; Description CanMakeDir is a Boolean property that indicates if new child directories can be created in the current directory on the remote FSP host. Use OwnsDir ( the FSP host.

743) to determine the client owns the directory on the remote FSP host, and can remove it from the file system on

See Also OwnsDir (

743)

TIdFSPDirInfo.CanRenameFiles Property Indicates if files can be renamed in the directory on the remote FSP host. Pascal property CanRenameFiles: Boolean; Description CanRenameFiles is a Boolean property that indicates if files can be renamed in the directory on the remote FSP host. Use CanAddFiles ( FSP host.

741) and CanDeleteFiles (

741) to determine if files can be added or deleted in the directory on the remote

See Also CanAddFiles (

741)

CanDeleteFiles (

741)

TIdFSPDirInfo.HasReadMe Property Indicates if the directory on the remote FSP host contains a README description. Pascal property HasReadMe: Boolean;

742

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPListItem Class

Description HasReadMe is a Boolean property that indicates if the directory on the remote FSP host contains a README description. By common convention, a readme is used to present helpful information about the contents of the directory. Use the ReadMe ( 743) property to access the content of the description. See Also ReadMe (

743)

TIdFSPDirInfo.OnlyOwnerCanReadFiles Property Pascal property OnlyOwnerCanReadFiles: Boolean; Description OnlyOwnerCanReadFiles is a Boolean property that indicates if files in the directory on the remote haost can be accessed by users other than the owner of the directory. When OnlyOwnerCanReadFiles contains True, and OwnDir contains false, the FSP client will not be able to access the content of files in the directory. See Also OwnDir

TIdFSPDirInfo.OwnsDir Property Indicates if the FSP client owns the directory on the remote FSP host. Pascal property OwnsDir: Boolean; Description OwnsDir is a Boolean property that indicates if the FSP client owns the directory on the remote FSP host. OwnsDir is used to detemine file access permissions and directory removal permissions. When OnlyOwnerCanReadFiles ( content of files in the directory.

743) contains True, and OwnDir contains false, the FSP client will not be able to access the

When OwnDir contains false, the FSP client will not be able to remove the directory from the file system on the remote FSP host. See Also OnlyOwnerCanReadFiles (

743)

TIdFSPDirInfo.ReadMe Property Contains descriptive information provided about a directory on the remote FSP host. Pascal property ReadMe: String; Description ReadMe is a String property that represents the descriptive information provided about a directory on the remote FSP host. ReadMe shopuld have a value when the HasReadMe (

Internet Direct (Indy) Version 10.1.5

742) property contains True.

743

TIdFSPListItem Class

Classes

TIdFSPListItem Class Collection item for files added to the structured directory listing in the FSP client. File IdFSP (

4628)

Hierarchy

Pascal TIdFSPListItem = class(TIdFSPStatInfo); Description TIdFSPListItem is a TIdFSPStatInfo ( directory listing in the FSP client.

756) descendant that implements a collection item used for files added to the structured

TIdFSPListItem extends the ancestor class by adding the FileName (

744) property to the file size and modification information.

TIdFSPListItem is the type returned when creating or accessing entries maintained in the TIdFSPListItems (

745) collection.

See Also TIdFSPStatInfo (

756)

TIdFSPListItem.FileName (

744)

TIdFSPListItem Members The following tables list the members exposed by TIdFSPListItem. Properties Property

Description

FileName (

744)

Name of a file in the structured directory listing for a remote FSP host.

ItemType (

757)

Indicates the type of directory entry represented by the collection item.

ModifiedDate (

758)

ModifiedDateGMT ( Size (

759)

Represents the last modification timestamp for the collection item. 758)

Represents the last modification timestamp for the collection item. Indicates the file size for the collection item.

Legend Property

TIdFSPListItem Properties The Properties of the TIdFSPListItem class are listed here. Properties Property FileName (

Description 744)

Name of a file in the structured directory listing for a remote FSP host.

Legend Property

TIdFSPListItem.FileName Property Name of a file in the structured directory listing for a remote FSP host. 744

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPListItems Class

Pascal property FileName: string; Description FileName is a string property that represents a file name in the structured directory listing for a remote FSP host. Use properties in the ancestor class to access the item type, size, and modification timestamp for an entry in the TIdFSPListItems ( 745) collection that contains the structured directory listing. See Also TIdFSPStatInfo ( TIdFSPListItems (

756) 745)

TIdFSPListItems Class Implements a container for items that make up the structured directory listing in an FSP client. File IdFSP (

4628)

Hierarchy

Pascal TIdFSPListItems = class(TIdCollection); Description TIdFSPListItems is a TIdCollection ( listing in an FSP client.

3011) descendant that implements a container for items that make up the structured directory

TIdFSPListItems provides indexed access to Items ( 748) in the collection returned as TIdFSPListItem ( 744) instances. Additional methods are implmentetd to create ( 747) new collection Items ( 748) (Add ( 746)) and to locate a specific TIdFSPListItem ( 744) in the collection (IndexOf ( 747)). TIdFSPListItems also provides protected methods that implement read and write access to the Items ( Finally, TIdFSPListItems implements the ParseEntries ( values received in an FSP protocol response packet.

747) method used to create (

TIdFSPListItems is the type used to represent the DirectoryListing property in the TIdFSP (

748) in the collection.

747) a new collection item entry using 713) client.

See Also TIdCollection (

3011)

TIdFSPListItem (

744)

TIdFSP.DirectoryListing (

731)

TIdFSPListItems Members The following tables list the members exposed by TIdFSPListItems. Properties Property Items (

Description 748)

Internet Direct (Indy) Version 10.1.5

Provides read and write access to items in the collection by their ordinal position.

745

TIdFSPListItems Class

Classes

Methods Method Add (

Description 746)

Create (

Creates and stores a new entry in the collection.

747)

IndexOf (

Constructor for the collection.

747)

ParseEntries (

Locates a specific collection item object instance in the collection. 747)

Create (

747) and stores items in the collection using values received in an FSP protocol response.

Legend Method Property

TIdFSPListItems Methods The Methods of the TIdFSPListItems class are listed here. Methods Method Add (

Description 746)

Create (

Creates and stores a new entry in the collection.

747)

IndexOf (

Constructor for the collection.

747)

ParseEntries (

Locates a specific collection item object instance in the collection. 747)

Create (

747) and stores items in the collection using values received in an FSP protocol response.

Legend Method

TIdFSPListItems.Add Method Creates and stores a new entry in the collection. Pascal function Add: TIdFSPListItem; Returns TIdFSPListItem (

744) - Item added to the collection.

Description Add is a TIdFSPListItem (

744) function used to create (

747) and store a new entry in the collection.

Add calls the inherited Add method, and ensures that the return value is cast to the TIdFSPListItem ( Items ( 748) in the collection.

744) data type used for

Assign values for properties in the collection item after calling Add. Use the ParseEntries ( 747) method to create ( an FSP protocol reponse. Use IndexOf ( Use Items (

747) and store one ore more items in the collection using the content returned in

747) to determine the ordinal position of a specific item in the collection.

748) to access items in the collection by their ordinal position.

See Also TIdFSPListItem ( ParseEntries ( IndexOf ( Items (

746

744) 747)

747)

748)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPListItems Class

TIdFSPListItems.Create Constructor Constructor for the collection. Pascal constructor Create; reintroduce; Description Create is the reintroduced constructor for the collection. Create calls the inherited constructor using TIdFSPListItem ( class reference for items added to the collection.

744) as the

See Also TIdFSPListItem (

744)

TIdFSPListItems.IndexOf Method Locates a specific collection item object instance in the collection. Pascal function IndexOf( AItem: TIdFSPListItem ): Integer; Parameters Parameters

Description

AItem

Item to locate in the collection.

Returns Integer - Ordinal position of the object instance in the collection. Description IndexOf is an Integer function used to locate a specific TIdFSPListItem ( collection.

744) object instance in the Items (

748) for the

AItem is the collection item to locate in the container. The return value for the method is the zero-based ordinal position of the collection item, or -1 when AItem does not exist in the Items ( 748) for the collection. The return value is determined by iterating over all of the Items ( 748) in the collection until a match is found. Use Items (

748) to access the entries in the collection by their ordinal position.

See Also Items (

748)

TIdFSPListItem (

744)

TIdFSPListItems.ParseEntries Method Create (

747) and stores items in the collection using values received in an FSP protocol response.

Pascal function ParseEntries( const AData: TIdBytes; const ADataLen: Cardinal ): Boolean; Parameters Parameters

Description

AData

Bytes received in an FSP protocol response.

Internet Direct (Indy) Version 10.1.5

747

TIdFSPListItems Class

Classes

ADataLen

Length of the bytes received in the protocol response.

Returns Boolean - True when the collection entries are successfully parsed from the protocol response. Description ParseEntries is a Boolean function used to create ( response.

747) and store items in the collection using values received in an FSP protocol

AData is an arrayof bytes that contains values received in the FSP response. AData can contain one or more occurrances of file or directory information returned from the remote FSP host. ParseEntries calls the Add ( AData.

746) method to create (

747) a new item in the collection for each file or directory encountered in

When a file entry is detected in AData, the ItemType property in the TIdFSPListItem ( 744) instance is set to the value ditFile. When a directory entry is detected in AData, the ItemType property in the TIdFSPListItem ( 744) instance is set to the value ditDirectory. Other property values in the TIdListItem instance are parsed from AData, including the modification timestamp, file size, and file name (when present). ParseEntries returns True if all file and directory information in the FSP protocol response is successfully processed in the method. ParseEntries is used in the List method for the FSP client to prepare the contents of its' structured DirectoryListing property. See Also TIdFSPListItem ( Add (

744)

746)

TIdBytes (

3007)

ditFile dirDirectory TIdFSP.List (

724)

TIdFSP.DirectoryListing (

731)

TIdFSPListItems Properties The Properties of the TIdFSPListItems class are listed here. Properties Property Items (

Description 748)

Provides read and write access to items in the collection by their ordinal position.

Legend Property

TIdFSPListItems.Items Property Provides read and write access to items in the collection by their ordinal position. Pascal property Items [AIndex: Integer]: TIdFSPListItem; Description Items is an indexed TIdFSPListItem ( position in the container.

744) property that provides access to items in the collection by their zero-based ordinal

Items allows read and write access to the TIdFSPListItem (

748

744) instances in the collection.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPPacket Class

Items is the default property for the collection. See Also TIdFSPListItem (

744)

TIdFSPPacket Class Represents packets sent and received in FSP protocol exchanges. File IdFSP (

4628)

Hierarchy

Pascal TIdFSPPacket = class(TObject); Description TIdFSPPacket is a TObject descendant that represents packets sent and received in FSP protocol exchanges. TIdFSPPacket includes properties that represent the command, identifier, and packet sequence for an FSP packet. Additional propertiesrepresent the data, file position, byte count, and extra data for files sent or received using the FSP protocol. TIdFSPPacket also includes methods need to read and write the binary values that make up an FSP packet. Instances of TIdFSPPacket are created and used in methods in the TIdFSP ( commands.

713) client that implement the various FSP protocol

See Also TIdBytes (

3007)

TIdFSPPacket Members The following tables list the members exposed by TIdFSPPacket. Properties Property

Description

Cmd (

752)

Command in the FSP packet.

Data (

754)

Binary contents of a packet used in an FSP protocol exchange.

DataLen (

754)

ExtraData (

754)

FilePosition ( Key (

755)

755)

Sequence ( Valid (

Length of the binary contents of the packet. Represents the binary content for extra data used in FSP protocol exchanges. Indicates the current offset into a data stream represented by the Data (

754) in the packet.

The unique identifier for the protocol response packet. 756)

756)

Indicates the processing order for a packet in a multi-packet FSP protocol exchange. Indicates if Data (

754) in the packet is in the format required for the FSP protocol.

Methods Method Create (

Description 750)

Constructor for the object instance.

ReadPacket (

750)

Reads property values from the binary content of a packet.

WritePacket (

751)

Forms the binary content for a packet used in an FSP protocol exchange.

Legend Constructor Property read only

Internet Direct (Indy) Version 10.1.5

749

TIdFSPPacket Class

Classes

TIdFSPPacket Methods The Methods of the TIdFSPPacket class are listed here. Methods Method

Description

Create (

750)

Constructor for the object instance.

ReadPacket (

750)

Reads property values from the binary content of a packet.

WritePacket (

751)

Forms the binary content for a packet used in an FSP protocol exchange.

Legend Constructor

TIdFSPPacket.Create Constructor Constructor for the object instance. Pascal constructor Create; Description Create is the constructor for the object instance. Create calls the inherited constructor, and sets the default values for the properties in the object instance.

TIdFSPPacket.ReadPacket Method Reads property values from the binary content of a packet. Pascal procedure ReadPacket( const AData: TIdBytes; const ALen: Cardinal ); Parameters Parameters

Description

AData

Binary contents of the packet.

ALen

Length of the binary contents of the packet.

Description ReadPacket is a procedure used to extract values from the binary content of a packet in an FSP protocol exchange, and to store the values in the properties for the object instance. AData is the array of bytes that contain the Binary content for the packet. ALen indicates the number of bytes to allocate for the buffer required to process the binary contents of the packet. ReadPacket creates an internal TIdBuffer ( 279) instance used to process the binary packet content specified in AData. Processing performed includes extracting values from AData that are assigned to the following properties:

Valid (

756)

DataLen ( Cmd ( Key (

754)

752) 755)

Sequence ( FilePosition ( 750

756) 755) Internet Direct (Indy) Version 10.1.5

Classes

Data (

TIdFSPPacket Class

754)

ExtraData (

754)

ReadPacket sets the value of the Valid ( 756) property to True when ALen is large enough to store the amount of Data ( 754) indicated in the DataLen ( 754) from the packet, and the calculated checksum for values received in AData match the checksum stored in the packet contents. ReadPacket sets the length of the Data ( Use WritePacket (

754) property to match the value read for the DataLen (

754) proprty.

751) to format the binary contents of the packet written to a remote FSP host.

See Also Valid (

756)

DataLen ( Cmd ( Key (

754)

752) 755)

Sequence (

756)

FilePosition ( Data (

755)

754)

ExtraData (

754)

WritePacket (

751)

TIdFSPPacket.WritePacket Method Forms the binary content for a packet used in an FSP protocol exchange. Pascal function WritePacket: TIdBytes; Returns TIdBytes (

3007) - Binary content of the packet formed using properties in the object instance.

Description WritePacket is a TIdBytes (

3007) function used to form the binary content for a packet used in an FSP protocol exchange.

WritePacket creates an internal TIdBuffer ( content top the return value for the method.

279) instance used to capture the binary content in the packet, and to assign the

WritePacket ensures that the values in ExtraDataLen is updated to reflect the actual length of the ExtraData ( to creating the binary content for the packet.

754) property prior

WritePacket copies the byte values for the following properties into the internal buffer for the method:

Cmd ( Key (

752) 755)

Sequence (

756)

FilePosition ( DataLen ( Data (

755)

754)

754)

ExtraDataLen ExtraData (

754)

Internet Direct (Indy) Version 10.1.5

751

TIdFSPPacket Class

Classes

WritePacket calculates a checksum value for the contents of the Data ( result in the binary content for the packet.

754) and ExtraData (

754) properties and includes the

The bytes accumulated in the internal buffer are stored in the return value for the method, and the TIdBuffer ( freed. Use ReadPacket (

279) instance is

750) to extract property values from the binary content for a packet.

See Also Cmd (

752)

Key (

755)

Sequence (

756)

FilePosition ( DataLen ( Data (

755)

754)

754)

ExtraDataLen ExtraData (

754)

ReadPacket (

750)

TIdFSPPacket Properties The Properties of the TIdFSPPacket class are listed here. Properties Property

Description

Cmd (

752)

Command in the FSP packet.

Data (

754)

Binary contents of a packet used in an FSP protocol exchange.

DataLen (

754)

ExtraData ( FilePosition ( Key (

Length of the binary contents of the packet.

754)

Represents the binary content for extra data used in FSP protocol exchanges.

755)

Indicates the current offset into a data stream represented by the Data (

755)

Sequence ( Valid (

754) in the packet.

The unique identifier for the protocol response packet. 756)

Indicates the processing order for a packet in a multi-packet FSP protocol exchange.

756)

Indicates if Data (

754) in the packet is in the format required for the FSP protocol.

Legend Property read only

TIdFSPPacket.Cmd Property Command in the FSP packet. Pascal property Cmd: Byte; Description Cmd is a Byte property that specifies the FSP command represented in the contents of a packet used in an FSP protocol exchange. Cmd contains one of the values defined in the FSP protocol, and represented in the Indy library using the following:

Constant CC_VERSION ( CC_INFO ( 752

3167)

3153)

Value

Meaning

$10

Get server version string and setup

$11

Return server's extended info block Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPPacket Class

CC_ERR (

3145)

CC_GET_DIR (

3146)

$40

Error response from server

$41

Get a directory listing

CC_GET_FILE (

3148)

$42

Get a file

CC_UP_LOAD (

3165)

$43

Open a file for writing

$44

Close and install file opened for writing

$45

Delete a file

$46

Delete a directory

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

$47

Get directory protection

CC_SET_PRO (

3161)

$48

Set directory protection

$49

Create (

$4A

Finish a session

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

750) a directory

CC_GRAB_FILE (

3152)

$4B

Atomic get+delete a file

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done

$4D

Get information about file/directory

$4E

Rename file or directory

$4F

Change password

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW (

3140)

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header

Values in the Cmd property are assigned when the FSP client constructs the packet required for the methods that implement the various protocol commands. See Also TIdFSP (

713)

CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE ( CC_GRAB_DONE ( CC_STAT (

3152) 3151)

3162)

CC_RENAME (

3159)

Internet Direct (Indy) Version 10.1.5

753

TIdFSPPacket Class

Classes

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3140)

TIdFSPPacket.Data Property Binary contents of a packet used in an FSP protocol exchange. Pascal property Data: TIdBytes; Description Data is a TIdBytes (

3007) property that represents the binary content of the packet exchanged using the FSP protocol.

Values in Data are updated in methods in the FSP client that implement the various FSP commands using the formats specified in the FSP protocol. These values are converted from properties to byte form when the WritePacket ( 751) method is called during execution of the command on the FSP client. Use ReadPacket ( instance.

750) to convert byte values read in an FSP protocol response to their representation as properties in the object

See Also TIdFSP.Get (

720)

TIdFSP.Put (

726)

TIdFSP.List (

724)

TIdFSP.SendCmd WritePacket (

751)

ReadPacket (

750)

TIdFSPPacket.DataLen Property Length of the binary contents of the packet. Pascal property DataLen: Word; Description DataLen is a Cardinal property that represents the length of the binary content stored in the Data (

754) property.

The value in DataLen is updated in methods in the FSP client that implement the various FSP commands using the formats specified in the FSP protocol. The value in DataLen is also used when WritePacket ( host.

751) is called to send the binary content of the packet to the remote FSP

See Also Data (

754)

WritePacket (

751)

TIdFSPPacket.ExtraData Property Represents the binary content for extra data used in FSP protocol exchanges. Pascal property ExtraData: TIdBytes; 754

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPPacket Class

Description ExtraData is a TIdBytes ( 3007) property that represents the binary content for extra data used in FSP protocol exchanges. ExtraData generally represents values for the file size and last modification timestamp transmitted with commands that retrieve or store files on the file system for the remote FSP host. Values in ExtraData are used and updated in the SendCmd method on the FSP client. Please note that ExtraData will not contains values when the remote FSP host does not implement ExtraData headers. Use the Version method and the SystemAcceptsExtraData property in TIdFSP ( 713) to determine if values are included in the packets exchanged with the remote FSP host. See Also TIdFSP.SendCmd TIdFSP.SendCmdOnce TIdFSP.Version (

729)

TIdFSP.SystemAcceptsExtraData (

735)

TIdFSPPacket.FilePosition Property Indicates the current offset into a data stream represented by the Data (

754) in the packet.

Pascal property FilePosition: Cardinal; Description FilePosition is a Cardinal property that indicates the current offset for the Data (

754) in the packet.

In the FSP protocol, small packet sizes are used when sending or receiving data in the FSP protocol exchange. As a result, several packets may be required to fully transfer the content for CC_GET_FILE ( 3148), CC_GET_DIR ( 3146), CC_PUT_FILE, and other FSP commands. FilePosition indicates the current offset into the complete data stream represented by the Data ( 754) in the packet. FilePosition is used in the WritePacket ( their binary representations.

751) and ReadPacket (

750) methods when property values are converted to / from

FilePosition is updated during execution of methods that implement the various commands using the logic specified in the FSP protocol. See Also WritePacket ( ReadPacket (

751) 750)

TIdFSPPacket.Key Property The unique identifier for the protocol response packet. Pascal property Key: Word; Description Key is a Word property that represents the unique identifier for the packet. Packets sent from a remote FSP host include a vlaue in Key to prevent duplicate processing of packets in the FSP protocol exchange. The value in Key is read from the binary contents of the packet in the ReadPacket ( the binary contents of the packet in the WritePacket ( 751) method.

Internet Direct (Indy) Version 10.1.5

750) method. The value in Key is written to

755

TIdFSPStatInfo Class Use Sequence (

Classes

756) to determine the order for a packet having the specified Key received in response to an FSP command.

See Also Cmd (

752)

Sequence (

756)

TIdFSPPacket.Sequence Property Indicates the processing order for a packet in a multi-packet FSP protocol exchange. Pascal property Sequence: Word; Description Sequence is a Word property that indicate the processing order for a packet in a multi-packet FSP protocol exchange. Sequence values originate with the value 1 (One) and increment by 1 (one) until all packets in the protocol request or response have been transmitted. Sequence is used to ensure that packets are received and processed in the correct order. Use Key (

755) to determine the unique identifier for a FSP protocol request or response.

See Also Key (

755)

TIdFSPPacket.Valid Property Indicates if Data (

754) in the packet is in the format required for the FSP protocol.

Pascal property Valid: Boolean; Description Valid is a read-only Boolean property that indicates if Data ( matches the values tranmitted to/from the remote FSP host.

754) in the packet is in the format required for the FSP protocol and

Valid contains True when the buffer used to process the packet is large enough to accomodate the DataLen ( 754) for the packet, and when the calculated checksum for values received in Data ( 754) match the checksum stored in the packet contents. The value in Valid is updated in the ReadPacket (

750) method.

See Also ReadPacket ( Data (

750)

754)

DataLen (

754)

TIdFSPStatInfo Class Implements the ancestor class for items maintained in the structured directory listing for the FSP client. File IdFSP (

4628)

Hierarchy

756

Internet Direct (Indy) Version 10.1.5

Classes

TIdFSPStatInfo Class

Pascal TIdFSPStatInfo = class(TIdCollectionItem); Description TIdFSPStatInfo is a TIdCollectionItem ( 3011) descendant that implements the ancestor class for items maintained in the structured directory listing for the FSP client. TIdFSPStatInfo includes properties that indicate the type of entry (file or directory), and the size and last modification timestamp for the directory entry. TIdFSPStatInfo is the ancestor for the TIdFSPListItem (

744) class used in the TIdFSPListItems (

745) collection.

See Also TIdCollectionItem ( TIdFSPListItem (

3011) 744)

TIdFSPListItems (

745)

TIdDirItemType (

2948)

TIdDateTime (

4733)

TIdFSP.DirectoryListing (

731)

TIdFSPStatInfo Members The following tables list the members exposed by TIdFSPStatInfo. Properties Property

Description

ItemType (

757)

ModifiedDate (

ModifiedDateGMT ( Size (

Indicates the type of directory entry represented by the collection item.

758)

Represents the last modification timestamp for the collection item. 758)

759)

Represents the last modification timestamp for the collection item. Indicates the file size for the collection item.

Legend Property

TIdFSPStatInfo Properties The Properties of the TIdFSPStatInfo class are listed here. Properties Property

Description

ItemType (

757)

ModifiedDate (

ModifiedDateGMT ( Size (

Indicates the type of directory entry represented by the collection item.

758)

Represents the last modification timestamp for the collection item. 758)

759)

Represents the last modification timestamp for the collection item. Indicates the file size for the collection item.

Legend Property

TIdFSPStatInfo.ItemType Property Indicates the type of directory entry represented by the collection item. Pascal property ItemType: TIdDirItemType;

Internet Direct (Indy) Version 10.1.5

757

TIdFSPStatInfo Class

Classes

Description ItemType is a TIdDirItemType (

2948) property that indicates the type of directory entry represented by the collection item.

ItemType will contains one of the following enumeration values:

Value

Meaning

dirDirectory

Represents a directory entry

ditFile

Represents a file entry

Values in the ItemType property are updated when maintaining the structured directory listing in the FSP client following execution of the GetStatInfo or List methods. See Also TIdDirItemType (

2948)

TIdFSP.DirectoryListing ( TIdFSP.GetStatInfo ( TIdFSP.List (

731)

723)

724)

TIdFSPListItems.ParseEntries (

747)

TIdFSPStatInfo.ModifiedDate Property Represents the last modification timestamp for the collection item. Pascal property ModifiedDate: TIdDateTime; Description ModifiedDate is a TIdDateTime (

4733) property that represents the last modification timestamp for the collection item.

Values in the ModifiedDate property are updated when maintaining the structured directory listing in the FSP client following execution of the GetStatInfo or List methods. ModifiedDate is expressed in the local timezone for the client. Use ModifiedDateGMT (

758) to access the the last modification timestamp for the collection item expressed in the GMT timezone.

See Also ModifiedDateGMT (

758)

TIdFSP.DirectoryListing ( TIdFSP.GetStatInfo ( TIdFSP.List (

731)

723)

724)

TIdFSPListItems.ParseEntries (

747)

TIdFSPStatInfo.ModifiedDateGMT Property Represents the last modification timestamp for the collection item. Pascal property ModifiedDateGMT: TIdDateTime; Description ModifiedDateGMT is a TIdDateTime (

758

4733) property that represents the last modification timestamp for the collection item.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Values in the ModifiedDateGMT property are updated when maintaining the structured directory listing in the FSP client following execution of the GetStatInfo or List methods. ModifiedDateGMT is expressed in the GMT timezone. Use ModifiedDate ( the FSP client.

758) to access the the last modification timestamp for the collection item expressed in the local timezone for

See Also ModifiedDate (

758)

TIdFSP.DirectoryListing ( TIdFSP.GetStatInfo ( TIdFSP.List (

731)

723)

724)

TIdFSPListItems.ParseEntries (

747)

TIdFSPStatInfo.Size Property Indicates the file size for the collection item. Pascal property Size: Int64; Description Size is an Int64 property that indicates the file size for the collection item. Values in the Size property are updated when maintaining the structured directory listing in the FSP client following execution of the GetStatInfo or List methods. Please note that Size is declared as an Int64 value in anticipation of FSP version 3; value passed in FSP version 2.X cannot exceed 4GB.

TIdFTP Class Implements a File Transfer Protocol (FTP) client. File IdFTP (

4629)

Hierarchy

Pascal TIdFTP = class(TIdExplicitTLSClient); Description TIdFTP is a TIdExplicitTLSClient ( Internet Standards documents:

687) descendant that implements a File Transfer Protocol (FTP) client, as described in the

RFC 959 - File Transfer Protocol [FTP] RFC 2228 - FTP Security Extensions RFC 2389 - Feature negotiation mechanism for the File Transfer Protocol RFC 2428 - FTP Extensions for IPv6 and NATs RFC 2640 - FTP Internalization

Internet Direct (Indy) Version 10.1.5

759

TIdFTP Class

Classes

IETF Draft Extensions to FTP Deflate transmission mode for FTP Securing FTP with TLS FTP is a protocol that promotes sharing files, efficiently uploading and downloading files, as well as isolating differences in the file systems for remote host computers. TIdFTP provides an encapsulation of the FTP protocol interpreter that acts as the control channel or communication path for the exchange of FTP commands and their specific FTP replies. Several key properties and methods are used to establish the control channel for the FTP session, including:

Host (

820)

Port (

826)

Username (

833)

Password (

826)

ClientInfo (

814)

ProxySettings ( UseTLS (

833)

AutoLogin ( Connect ( Login ( Quit (

827)

813) 771)

792) 797)

After creating the control channel connection using Connect ( 771) or Login ( examine the content of FTP replies and settings detected during the process:

Greeting (

2364)

LoginMsg (

822)

SystemDesc ( TZInfo (

792), the following properties can be used to

829)

831)

UsingSFTP (

834)

LastCmdResult (

2367)

LangsSupported (

820)

TIdFTP uses properties and methods to implement the FTP Access Control Commands, as described in RFC 959 and other related Internet Standards documents.

FTP Command

Method or Properties

USER

Username (

833) property supplied in the Login (

792) method

PASS

Password (

826) property supplied in the Login (

792) method

ACCT

Account (

CWD

ChangeDir (

CDUP

ChangeDirUp (

SMNT

StructureMount (

REIN

Reinitialize (

760

812) method 769) method 770) method 808) method

798) method

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

QUIT

Quit (

797) method

Internally, TIdFTP handles the interactions required for establishing and maintaining the data channel over which data is transferred using the specified structure, mode and type. All file transfer functions are performed using the internal data channel. The data channel connection can use the default port number for the FTP client, or may negotiate a non-default port number using the FTP PORT command. Data transfer commands and arguments are implemented in TIdFTP using the following properties and methods:

FTP Method or Properties Command PORT

Uses the value in DataPort (

816) when the data channel is opened in the Get (

783) and Put (

795) methods.

PASV

Uses the Passive (

825) property when the data channel is opened in the Get (

783) and Put (

795) methods.

TYPE

Uses the TransferType (

STRU

FileStructure (

MODE

TransferMode (

829) property in Login (

792) or when the property value is changed.

782) method. 808) method.

TIdFTP also implements support for compression of data using the "deflate ( 2765)" transmission mode, as described in the Internet Draft "Deflate transmission mode for FTP". In deflate ( 2765) transmission mode, data is compressed and transmitted as a stream of octets (8 bit bytes). The sender and receiver rely on a compression engine to perform compression operations (deflate ( 2765)/inflate ( 2834)) and maintain state. The compression engine generates a unique data stream using the ZLIB compressed data format specified in RFC 1950. The deflate (

2765) extension modifies the MODE command by adding the parameter "Z".

TIdFTP also supports the FTP FEAT and OPTS commands as specified in RFC 2389 to discover optional commands supported on the FTP server. Use the Capabilities ( 690) property to examine features supported on the server. Use the SetCMDOpt ( 800) method to send the FTP OPTS command that specifies the desired behavior of the FTP server process when a subsequent FTP command is issued. TIdFTP implements the common FTP Service Commands that define the file transfer or the file system function requested by the client. FTP service commands are issued on the control channel for the client session. Data transferred in response to an FTP service commands is always be sent over the data channel connection. TIdFTP implements the following FTP service commands using the indicated properties and methods:

FTP Command

Method or Properties

RETR

Get (

STOR

Uses the Put (

795) method and the Append argument.

STOU

StoreUnique (

806) method.

APPE

Used in the Put (

ALLO

Allocate (

REST

Sent in the Put (

RNFR

Used in the Rename (

799) method.

RNTO

Used in the Rename (

799) method.

ABOR

Abort (

DELE

Delete (

RMD

RemoveDir (

MKD

MakeDir (

PWD

RetrieveCurrentDir (

783) method.

795) method and the Append argument.

769) method. 795) and Append methods, or when the ResumeSupported (

799) property is updated.

768) method. 773) method. 798) method.

794) method.

Internet Direct (Indy) Version 10.1.5

800) method. 761

TIdFTP Class

LIST

Classes

List (

NLST (

4358) List (

789) method. 789) method using the ADetails argument.

SITE

Site (

803) method or the Connect (

SYST

Used in the Connect (

STAT

Status (

HELP

Help (

NOOP

Noop (

771) method when SITE ZONE is supported.

771) method to update the SystemDesc (

829) property.

806) method. 787) method. 794) method.

Secure FTP using TLS TIdFTP also supports the mechanism that can be used by FTP clients and servers to implement security and authentication using the TLS protocol defined in RFC 2246, and the extensions to the FTP protocol defined by RFC 2228. When the FTP session control channel is established, the client requests TLS using the value in the UseTLS ( 833) property. Data channel connections may be secured using the Passive ( 825) and UseTLS ( 833) properties. Should the FTP client wish to make the control connection revert back into plaintext (once the authentication phase is completed), set the value in UseCCC ( 831). Use of TLS for control and/or data channel connections requires the use of TIdSSLIOHandlerSocketBase ( the OpenSSL (or compatible) library for the operating system or platform hosting the Indy application.

2134), and access to

FTP Protocol Replies Replies to File Transfer Protocol commands are devised to ensure the synchronization of requests and actions in the process of file transfer, and to guarantee that the user process always knows the state of the Server. Every command must generate at least one reply, although there may be more than one; in the latter case, the multiple replies must be easily distinguished. In addition, some commands occur in sequential groups, such as USER, PASS and ACCT, or RNFR and RNTO. The replies show the existence of an intermediate state if all preceding commands have been successful. A failure at any point in the sequence necessitates the repetition of the entire sequence from the beginning. FTP reply values can be accessed using the LastCmdResult ( 2367) property, and consists of a 3-digit numeric response number followed by some arbitrary text. The response number is intended for use by automata to determine what state to enter next; the text is intended for the human user. It is intended that the three digits contain enough encoded information that the control channel will not need to examine the text and may either discard it or pass it on to the user, as appropriate. In particular, the text may be server-dependent, so there are likely to be varying texts for each reply code. The three digits of the reply each have a special significance. This is intended to allow a range of very simple to very sophisticated responses by the user-process. The first digit denotes whether the response is good, bad or incomplete. The FTP client can determine its next course of action by simply examining this first digit in the numeric response. For more detailed information about a numeric response code, the FTP client may examine the second digit, reserving the third digit for the finest gradation of information (e.g., RNTO command without a preceding RNFR). There are five values for the first digit of the reply code:

Code Meaning 1xx

Positive Preliminary reply. The requested action is being initiated, but expect another reply before proceeding with a new command.

2xx

Positive Completion reply. The requested action has been successfully completed. A new request may be initiated.

3xx

Positive Intermediate reply. The command has been accepted, but the requested action is being held in abeyance, pending receipt of further information. The user should send another command specifying this information.

4xx

Transient Negative Completion reply. The command was not accepted and the requested action did not take place, but the error condition is temporary and the action may be requested again.

762

Internet Direct (Indy) Version 10.1.5

Classes

5xx

TIdFTP Class

Permanent Negative Completion reply. The command was not accepted and the requested action did not take place. The client is discouraged from repeating the exact request (in the same sequence).

The second digit in a numeric response code encodes the following functional groupings:

Code Meaning x0x

Syntax. These replies refer to syntax errors, syntactically correct commands that don't fit any functional category, unimplemented or superfluous commands.

x1x

Information. These are replies to requests for information, such as status (

x2x

Connections. Replies referring to the control and data connections.

x3x

Authentication and accounting. Replies for the login (

x4x

Unspecified as yet. x5x File system. These replies indicate the status ( file transfer or other file system action.

806) or help (

787).

792) process and accounting procedures. 806) of the Server file system for the requested

The third digit in the numeric response code provides the finest gradation of meaning in each of the function categories. The text associated with each reply is recommended, rather than mandatory, and may even change according to the command with which it is associated. The reply codes, on the other hand, must strictly follow the specifications in the last section; that is, Server implementations should not invent new codes for situations that are only slightly different from the ones described here, but rather should adapt codes already defined. The following list ( implementation:

789) indicates the numeric FTP reply codes and their suggested textual content for a typical FTP server

Code

Message

110

MARK yyyy = mmmm

120

Service ready in nnn minutes.

125

Data connection already open; transfer starting.

150

File status (

200

Command okay.

202

Command not implemented, superfluous at this site (

211

System status (

212

Directory status (

213

File status (

214

Help (

215

NAME system type.

220

Service ready for new user.

221

Service closing control connection.

225

Data connection open; no transfer in progress.

226

Closing data connection.

227

Entering Passive (

230

User logged in, proceed.

250

Requested file action okay, completed.

257

"PATHNAME" created.

331

User name okay, need password.

332

Need account for login (

350

Requested file action pending further information.

806) okay; about to open data connection.

806), or system help (

803).

787) reply.

806).

806).

787) message.

Internet Direct (Indy) Version 10.1.5

825) Mode (h1,h2,h3,h4,p1,p2).

792).

763

TIdFTP Class

Classes

421

Service not available, closing control connection.

425

Can't open data connection.

426

Connection closed; transfer aborted.

450

Requested file action not taken.

451

Requested action aborted: local error in processing.

452

Requested action not taken.

500

Syntax error, command unrecognized.

501

Syntax error in parameters or arguments.

502

Command not implemented.

503

Bad sequence of commands.

504

Command not implemented for that parameter.

530

Not logged in.

532

Need account for storing files.

550

Requested action not taken.

551

Requested action aborted: page type unknown.

552

Requested file action aborted.

553

Requested action not taken.

Directory Listings Using TIdFTP One of the key features of the FTP protocol is the ability to access a list ( 789) of files found in a directory on the remote host using the FTP LIST or NLST ( 4358) commands. TIdFTP implements this feature, and captures the list ( 789) of file names and optional file details in the ListResult ( 821) property. The FTP protocol (by design) isolated the FTP client from the nuances of host-specific file systems. In obeyance of this design goal, it also did not specify a standard representation for the contents of a directory listing. Instead, FTP clients have historically relied on defacto representations for the content of a directory listing as used in specific server implementations. There are FTP extensions that have been presented to the IETF (Internet Engineering Task Force) that specifies new FTP commands to obtain listings of remote directories in a defined format. Two commands are defined, MLST ( 4354) which provides data about exactly the object named on its command line, and no others. MLSD on the other hand will list ( 789) the contents of a directory if a directory is named. The MLST ( 4354) and MLSD commands are intended to standardize the file and directory information returned by the Server FTP process. These commands differ from the LIST command in that the format of the replies is strictly defined although extensible. The MLST ( 4354) format is intended for machine processing, not human viewing, and as such the format is very rigid. implementations must not vary the format by, for example, inserting extra spaces for readability, replacing spaces by tabs, including header or title lines, or inserting blank lines, or in any other way alter this format. In TIdFTP, the List ( 789) command can use either the FTP LIST or NLST ( 4358) commands to request the content of a directory listing. In addition, the ExtListDir ( 775) and ExtListItem ( 776) methods can be used to invoke the FTP extenstion commands MLST ( 4354) and MLSTD for servers supporting the features. The Indy library recognizes these defacto standards, and makes provisions for the IETF draft standards. TIdFTP provides the capabilitiy to parse the various formats for the textual content in the ListResult ( 821) property into a structured representation of the directory stored in the DirectoryListing ( 818) property. At the present time, Indy offers parsers for 30 different host-specific directory listing formats. Additional parsers are offered as new directory listing formats are encountered and codified. Use the IdAllFTPListParser.pas unit to include and register the known directory listing parsers for the Indy library. See Also TIdExplicitTLSClient ( IndySupport ( 764

687)

15) Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

TIdFTP Members The following tables list the members exposed by TIdFTP. Properties Property

Description

Account (

812)

AUTHCmd (

Account information for the remote FTP Server.

812)

AutoLogin (

Indicates the mechanism to use when performing authentication when logging into the FTPO server.

813)

BoundIP (

Indicates the FTP client should automatically login (

2345)

BoundPort (

792) when the FTP server connection is opened.

Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

CanResume (

814)

Capabilities ( ClientInfo (

Indicates the FTP site (

814)

Compressor (

Additional information about the FTP client software, revision, and platform for the FTP CLNT command.

815)

ConnectTimeout (

Implements a compression/decompression engine for FTP MODE Z deflate (

2347)

CurrentTransferMode ( DataPort (

803) supports FTP Resume operations.

690) 2765) transmissions.

Millseconds to wait for successful completion of a connection attempt.

815)

816)

Indicates the current or efective settings for the TransferMode ( exchanges.

808) property during FTP protocol

Indicates the port number to use when binding the data channel for the FTP client session.

DataPortMax (

816)

DataPortMin (

817)

Indicates the upper limit for port numbers allowed when binding an active data channel for the FTP client. Indicates the lower limit for port numbers allowed when binding an active data channel for the FTP client.

DataPortProtection (

817)

Indicates the level of security required for data channel connections in the FTP client.

DirectoryListing (

818)

Container for a structured file and directory listing.

DirFormat ( ExternalIP (

Identifies the directory listing format detected when parsing values in DirectoryListing (

819)

Greeting ( Host (

819)

2364)

Banner or welcome message for a connection to a protocol server.

820)

Represents the IP address or host name for the remote FTP server.

IOHandler (

2364)

The input / output mechanism for the connection.

LangsSupported (

820)

LastCmdResult (

2367)

ListParserClass (

821)

ListResult (

821)

LoginMsg (

822)

ManagedIOHandler ( OnAfterBind (

Response code and text for the last response from the peer connection. 267) collection items in the

Textual form of the directory listing returned by an FTP server. Server response sent after authenticating the client connection. 2367)

Indicates tyhe IOHandler (

2364) for the connection is maintained by the object instance.

Event handler signalled after the socket handle is bound for the connection. 822)

OnBeforeBind (

2348)

OnConnected (

2348)

OnCustomFTPProxy ( OnDirParseEnd (

Represents the supported languages on the server. Represents a class reference for the directory listing parser used to create ( DirectoryListing ( 818) property.

2347)

OnAfterClientLogin (

Event handler signalled following completion of the FTP protocol exchange used to authenticate the client connection. Event handler signalled proper to binding the socket handle for the connection. Event handler signalled to reflect the connection state for the client.

823)

824)

Event handler signalled to implement support for custom FTP proxy servers. Event handler signalled when a textual directory listing has been parsed into its structured form.

OnDirParseStart (

824)

Event handler signalled prior to parsing a textual directory listing into its structured form.

OnDisconnected (

2367)

Event handler signalled when disconnecting the peer connection.

OnRetrievedDir ( OnWork (

OnWorkEnd (

Event handler signalled when text for a directory listing has been retrieved from the FTP server. Event handler signalled for read and / or write operations.

2368)

Event handler signalled when beginning a read or write operation.

2369)

Event handler signalled when completing a read or write operation.

825)

Password ( Port (

825)

2368)

OnWorkBegin ( Passive (

Indicates the FTP data channel connection method.

826)

Authentication credentials used when logging into the FTP server.

826)

Port number for the control channel connection to the remote FTP server.

ProxySettings (

827)

Indicates the settings to use for connections opened using an FTP proxy server.

ReadTimeout (

828)

Number of milliseconds to wait for an FTP protocol response.

Socket (

818).

Specifies the IP address used when the client sends the FTP PORT or EPRT commands behind a NAT-based firewall.

2369)

SupportsTLS (

Provides access to the TIdIOHandlerSocket (

1331) for the connection.

690)

SupportsVerification (

828)

Internet Direct (Indy) Version 10.1.5

Indicates if the FTP server supports one of the extensibility features for verified transfer integrity.

765

TIdFTP Class

Classes

SystemDesc (

829)

TransferTimeout ( TransferType (

Timeout value for read operations on the data channel for the FTP client.

829)

TryNATFastTrack ( TZInfo (

Description of the remote FTP server.

829)

Indicates the file transfer type.

830)

Indicates use of "fast path" connections for traversing firewalls and NATs.

831)

UseCCC (

Provides access to timezone information for the remote FTP server.

831)

Indicates if use of the Clear Command Channel (CCC) command is required for the FTP client.

UseExtensionDataPort ( UseMLIS (

832)

Indicates if IPv6 extensions for Port ( exchanges.

832)

Username (

Indicates if the FTP MLST (

833)

UseTLS (

833)

4354) and MLSD commands are used for directory listings.

Indicates Transport-Level Security is used on the connection. 834)

UsingNATFastTrack ( UsingSFTP (

Indicates if RFC 2428 NAT Extensions are available for the FTP client session.

834)

Indicates if "fast path" connections are in use for the FTP client.

834)

Indicates if a secure FTP connection is in use for the client session.

269)

WorkTarget (

825) settings are used in FTP protocol

Authentication identity used when logging in to the FTP server.

UsingExtDataPort (

Version (

826) and Passive (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

Abort (

768)

Allocate (

769)

Pre-allocates space on a FTP server before you upload a file.

BeginWork ( ChangeDir (

Stops an FTP service operation. 356)

Triggers the OnBeginWork event.

769)

ChangeDirUp (

Changes the current directory on the FTP server file system.

770)

Changes to the parent directory on the FTP server.

CheckForGracefulDisconnect ( CombineFiles (

771)

Connect ( Connected (

2344)

Indicates if the peer connection has been opened. Calculates the Cyclic Redundancy Check (or CRC) for a specified file on an FTP server. Constructor for the object instance.

CreateIOHandler (

2353)

Creates the IOHandler (

773)

Destroy (

774)

DoWork (

Frees the object instance.

ExtListDir (

Triggers the OnEndWork event handler.

775)

Implements support for the MLSD directory listing format. 778)

782)

FileStructure (

Rtrieves the date and time a file was last modified on the remote system.

782)

Defines the way data is represented in FTP data transfer operations.

GetInternalResponse ( GetVersion (

2356)

269) 788)

KillDataChannel (

Noop ( Quit (

803)-specific implementations.

Determine if an FTP command is a supported FTP extension command for the FTP server. 788)

Indicates if the FTP server is one that supports the FTP MDTM and LIST -T commands. Closes the data channel for the FTP client session during Abort (

794)

Creates a directory on the FTP server. Sends a Keep-Alive signal to the FTP server.

797)

Closes the FTP client connection.

798)

Implements execution of FTP commands not directly supported in this component.

ReInitialize (

798)

Clears the account and settings for the FTP client.

RemoveDir (

798)

Removes a directory on the FTP server.

799)

Change the name of a file on the FTP server file system.

ResumeSupported (

799)

Indicates if the server implements the FTP REST command.

RetrieveCurrentDir (

800)

Gets the current directory name on the FTP server.

SetCMDOpt ( SetLang (

800)

801)

SetModTime (

768).

Authenticates a client connection to the FTP server.

794)

Rename (

766

789)

792)

Quote (

269) number for Indy component suite.

Requests FTP server capabilities or site (

IsServerMDTZAndListTForm (

MakeDir (

Reads response detail lines from a peer connection. Version (

787)

IsExtSupported (

Login (

Closes the FTP session for the client. Triggers the OnWork event handler.

358)

ExtractFeatFacts ( FileDate (

774)

357)

EndWork (

2364) for the connection.

Removes a file on the FTP server file system.

DisconnectNotifyPeer (

Help (

Opens a connection and reads all data.

2353)

267)

Delete (

789) of local files into a single file on the FTP server.

Opens the connection to the server for the FTP session.

772)

Create (

Determines if the peer has been gracefully disconnected. Combines a list (

771)

ConnectAndGetAll ( CRC (

2351)

802)

Specifies the behavior to appply to a subsequent FTP command. Requests greeting and textual responses in the spcified language. Sets the last modification time for the specified file.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

SetModTimeGMT ( Site (

802)

Sends an FTP server site command.

SiteToSiteDownload ( SiteToSiteUpload ( Size (

803)

804)

805)

Status ( CType (

Implements site (

803)-to-site (

803) (or FXP) data transfers.

Implements site (

803)-to-site (

803) (or FXP) data transfers.

Gets file size information from the FTP server.

806)

Implements the FTP STAT command.

StructureMount (

808)

Mounts a file system data structure for the FTP client.

267)

ExtListItem ( Get (

Sets the last modification time for the specified file.

803)

775)

783)

GetLoginPassword ( List (

789)

Put (

795)

StoreUnique ( VerifyFile (

786)

806)

809)

Create (

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

TransferMode (

808)

WriteHeader (

Specifies the transmission mode for the data channel.

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnAfterGet (

835)

Event handler signalled following completion of data transfer in the Get (

OnBannerAfterLogin (

835)

OnBannerBeforeLogin ( OnCreateFTPList (

836)

836) 837)

OnDataChannelDestroy ( OnStatus (

838)

838)

Event handler signalled following creation of the data channel for data transfer operations. Event handler signalled prior to freeing the data channel in the FTP client. 812) information for the remote FTP Server.

Represents the current connection status event handler.

OnTLSHandShakeFailed ( OnTLSNotAvailable (

Event handler signalled after receipt of the welcome message, and before logging into the FTP server.

Derives Account (

359)

OnTLSNegCmdFailed (

792) method and

Event handler signalled for creation of the structured directory listing for the FTP client.

OnDataChannelCreate ( OnNeedAccount (

783) method.

Event handler signalled following completion of the FTP protocol exchange in the Login ( receipt of the LoginMsg ( 822) text.

690)

690) 839)

Event handler signalled when the client has failed to provide implied support for TLS (Transport Layer Security).

Legend Method virtual Property read only Event

TIdFTP Methods The Methods of the TIdFTP class are listed here. Methods Method

Description

Abort (

768)

Stops an FTP service operation.

Allocate (

769)

Pre-allocates space on a FTP server before you upload a file.

ChangeDir (

769)

ChangeDirUp (

770)

Internet Direct (Indy) Version 10.1.5

Changes the current directory on the FTP server file system. Changes to the parent directory on the FTP server.

767

TIdFTP Class

Classes

CombineFiles ( Connect ( CRC (

771)

Combines a list (

771)

772)

Delete (

Calculates the Cyclic Redundancy Check (or CRC) for a specified file on an FTP server.

773)

Destroy (

Removes a file on the FTP server file system.

774)

Frees the object instance.

DisconnectNotifyPeer ( ExtListDir (

Implements support for the MLSD directory listing format. 778)

782)

FileStructure (

Rtrieves the date and time a file was last modified on the remote system.

782)

Defines the way data is represented in FTP data transfer operations.

783)

GetLoginPassword ( Help (

786)

787)

Requests FTP server capabilities or site (

IsExtSupported (

788)

KillDataChannel ( List (

803)-specific implementations.

Determine if an FTP command is a supported FTP extension command for the FTP server.

IsServerMDTZAndListTForm (

788)

789)

Indicates if the FTP server is one that supports the FTP MDTM and LIST -T commands. Closes the data channel for the FTP client session during Abort (

768).

789)

Login (

792)

MakeDir ( Noop ( Put (

Closes the FTP session for the client.

775)

ExtractFeatFacts (

Get (

774)

775)

ExtListItem ( FileDate (

789) of local files into a single file on the FTP server.

Opens the connection to the server for the FTP session.

Authenticates a client connection to the FTP server.

794)

Creates a directory on the FTP server.

794)

Sends a Keep-Alive signal to the FTP server.

795)

Quit (

797)

Quote (

Closes the FTP client connection.

798)

Implements execution of FTP commands not directly supported in this component.

ReInitialize (

798)

Clears the account and settings for the FTP client.

RemoveDir (

798)

Removes a directory on the FTP server.

Rename (

799)

Change the name of a file on the FTP server file system.

ResumeSupported (

799)

Indicates if the server implements the FTP REST command.

RetrieveCurrentDir (

800)

Gets the current directory name on the FTP server.

SetCMDOpt ( SetLang (

800)

Specifies the behavior to appply to a subsequent FTP command.

801)

SetModTime (

Requests greeting and textual responses in the spcified language.

802)

Sets the last modification time for the specified file.

SetModTimeGMT ( Site (

802)

803)

Sends an FTP server site command.

SiteToSiteDownload ( SiteToSiteUpload ( Size (

803)

804)

805)

Status (

Implements site (

803)-to-site (

803) (or FXP) data transfers.

Implements site (

803)-to-site (

803) (or FXP) data transfers.

Gets file size information from the FTP server.

806)

StoreUnique (

Implements the FTP STAT command. 806)

StructureMount ( TransferMode ( VerifyFile (

Sets the last modification time for the specified file.

808) 808)

Mounts a file system data structure for the FTP client. Specifies the transmission mode for the data channel.

809)

Legend Method virtual

TIdFTP.Abort Method Stops an FTP service operation. Pascal procedure Abort; virtual; Description Abort is a procedure that instructs the FTP server to interrupt the current FTP service request, and any associated transfer of data. Abort sends the FTP ABOR command to the server to halt the current operation. Abort forces the socket allocated to the data channel for the FTP session to be disconnected by calling KillDataChannel ( Abort does not change the state in Connected ( 2353) for the control channel used in the FTP client. 768

789).

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

See Also KillDataChannel (

789)

TIdFTP.Allocate Method Pre-allocates space on a FTP server before you upload a file. Pascal procedure Allocate( AAllocateBytes: Integer ); Parameters Parameters

Description

AAllocateBytes

The number of bytes that should be allocated

Description Allocate is a procedure that pre-allocates space on a FTP server before you upload a file using the Put (

795) method.

It is recommend to use this method before attempting to upload a file. Some servers may require this command while others do not. If a server does not require this command, it should treat this command as if the TIdFTP.Noop ( 794) method has been called. Allocate sends the FTP ALLO command using the value in AAllocateBytes as an argument. Allocate expects the numeric response code 200 from the FTP server, and raises a protocol exception when any other value is encountered. See Also Noop ( Put (

794) 795)

TIdFTP.ChangeDir Method Changes the current directory on the FTP server file system. Pascal procedure ChangeDir( const ADirName: string ); Parameters Parameters

Description

ADirName

path desired on the server file system.

Description ChangeDir is a procedure used to change the current directory on the FTP server file system to the subdirectory specified in the ADirName parameter. ChangeDir sends the FTP CWD command using ADirName as an argument to set the current directory to the specified value. RFC 959 indicates that response code 250 is the success response code for the CWD command. Some server implementations (to remain nameless) return the 200 response code to indicate successful completion of the CWD command. Indy will recognize both response codes 200 and 250 as the success response code for the CWD command. According to RFC 959, ChangeDir may encounter any of the following error responses in the FTP protocol:

Code Meaning 500

Syntax error, command unrecognized. (This may include errors such as command line too long.)

501

Syntax error in parameters or arguments.

Internet Direct (Indy) Version 10.1.5

769

TIdFTP Class

Classes

502

Command not implemented.

421

Service not available, closing control connection. (This may be a reply to any command if the service knows it must shut down.)

530

Not logged in.

550

Requested action not taken. File unavailable (e.g., file not found, no access).

When one of these protocol error responses is received, an EIdProtocolReplyError is raised. The ReplyErrorCode for the exception is set to the numeric portion of the protocol response. The Message for the exception is set to the textual part of the protocol response, and may vary based on the exact values returned from the server implementation. An an example, if the directory in ADirName does not exist on the server file system, the EIdProtocolReplyError raised will contain 550 in the ReplyErrorCode. Use RetrieveCurrentDir ( Use ChangeDirUp (

800) to determine the current working directory on the server file system.

770) to set the current directory on the FTP server to the directory one level higher in the file system hierarchy.

See Also EIdProtocolReplyError RetrieveCurrentDir ( ChangeDirUp (

800)

770)

TIdFTP.ChangeDirUp Method Changes to the parent directory on the FTP server. Pascal procedure ChangeDirUp; Description ChangeDirUp is a procedure used to change the current directory up one level in the file system for the FTP server. ChangeDirUp sends the FTP CDUP command to change to the parent directory on the servers file system. RFC 959 indicates that reponse code 200 is the proper success response code for the CWUP command, but mentions that CDUP may also returns the 250 response code permitted for CWD. Indy will recognize both response codes 200 and 250 as the success response code for the CDUP command. According to RFC 959, ChangeDirUp may encounter any of the following error responses in the FTP protocol:

Code Meaning 500

Syntax error, command unrecognized. (This may include errors such as command line too long.)

501

Syntax error in parameters or arguments.

502

Command not implemented.

421

Service not available, closing control connection. (This may be a reply to any command if the service knows it must shut down.)

530

Not logged in.

550

Requested action not taken. File unavailable (e.g., file not found, no access).

When one of these protocol error responses is received, an EIdProtocolReplyError is raised. The ReplyErrorCode for the exception is set to the numeric portion of the protocol response. The Message for the exception is set to the textual part of the protocol response, and may vary based on the exact values returned from the server implementation. Use the ChangeDir (

770

769) method to move to a specified directory on the server file system.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

See Also EIdProtocolReplyError ChangeDir (

769)

TIdFTP.CombineFiles Method Combines a list (

789) of local files into a single file on the FTP server.

Pascal procedure CombineFiles( const ATargetFile: String; AFileParts: TIdStrings ); Parameters Parameters

Description

ATargetFile

File name on the FTP server.

AFileParts

Local file names to be combined into the target file name.

Description CombineFiles is a procedure used to implement support for the FTP COMB command, which allows combining the list ( local files in AFileParts into a single FTP server file with the name indicated in ATargetFile.

789) of

CombineFiles can be sent to FTP servers that implmejnt support for the FTP COMB extension command (as indicated in Capabilities ( 690)). If the FTP COMB command is not supported on the server, the CombineFiles methods performs no operation. ATargetFile indicates the file name to be used for storing the multiple file parts on the FTP server file system. ATargetFile must include a valid qualified path when specified. AFileParts contains the individual local files to be combined for storage on the FTP server. Entries in AFileParts must be in the correct order, and must appear as one file name per line with no delimiter characters. If an entry in AFileParts contains an embedded space character in the file name, the entire file name should be enclosed in Double Quote ( 798) characters ("filename with spaces.txt"). CombineFiles sends the FTP COMB command, and expects the numeric response code 250 to indicate successful completion of the command. Please note that the FTP COMB is not widely supported on FTP servers at the present time. The GlobalSCAPE Secure FTP Server does implement support for FTP COMB command, and can be used for testing the capability.

TIdFTP.Connect Method Opens the connection to the server for the FTP session. Pascal procedure Connect; override; Description Connect is an overridden method in TIdFTP ( 759) used to perform the FTP protocol exchanges required when establishing a new FTP client session. Connect also ensures that settings in the FTP client reflect the current state for the new FTP session. Set values in the Host (

820) and Port (

826) properties prior to calling Connect.

Connect examines values in ProxySettings ( 827) to determine if an intermediate connection to a proxy server is used for the FTP client session. When the ProxyType and Host ( 820) properties (in ProxySettings ( 827)) indicate a proxy is used, these copied to the Host ( 820) and Port ( 826) properties for the FTP client. Connect calls the inherited Connect method to establish the connection, optionally using TLS when UseTLS ( values that indicate uses on the transport. Connect captures the inital message from the FTP server in the Greeting ( Internet Direct (Indy) Version 10.1.5

833) contains

2364) property, and causes the OnBannerBeforeLogin 771

TIdFTP Class (

Classes

836) event handler to be be triggered.

When AutoLogin ( 813) contains True, Connect will automatically execute the Login ( 792) method and trigger the OnAfterLogin event handler. This will require values in the Username ( 833) and Password ( 826) properties to be provided prior to calling Connect. Similar values in ProxySettings ( 827) must also be provided (when used) prior to calling Connect. Following execution of the Login ( their current state.

792) method, values in UsingNATFAstTrack and UsingSFTP (

834) are also updated to reflect

Other actions performed when AutoLogin ( 813) contains True include setting the value in SystemDesc ( 829), and checking for support of the FTP SITE ZONE feature in the Capabilities ( 690) for the server. When SITE ZONE is supported, time zone information if captured and stored for the FTP session. Finally, Connect triggers the OnStatus (

359) event handler to indicate that the FTP client session is ready for use.

Any exceptions raised during processing in the Connect method will cause the Disconnect ( client, and the exception is re-reaised for the application.

2355) method to be called for the

See Also Disconnect (

2355)

Host (

820)

Port (

826)

Username (

833)

Password (

826)

Login (

792)

Capabilities ( Greeting (

690)

2364)

ProxySettings ( UseTLS (

827)

833)

OnBannerBeforeLogin (

836)

OnAfterLogin OnStatus (

359)

TIdFTP.CRC Method Calculates the Cyclic Redundancy Check (or CRC) for a specified file on an FTP server. Pascal function CRC( const AFIleName: String; const AStartPoint: Int64 = 0; const AEndPoint: Int64 = 0 ): Int64; Parameters Parameters

Description

AFIleName

File name on the server for the checksum calculation.

AStartPoint

Initial position in the block of data for the checksum calculation. Default value is 0 (zero).

AEndPoint

Final position in the block of data for the checksum calculation. Default value is 0 (zero).

Returns Int64 - CRC value for the indicated file name. the FTP server. Description CRC is an Int64 function that returns the Cyclic Redundancy Check (or CRC) value for a range of content in a specified file on the 772

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

FTP server. CRC provides the ability for the FTP client to verify that the file has been successfully transferred to the server without corruption. The CRC value is a mathematical calculation on a block of data in the file specified in AFileName, and returns a number that represents the content and organization of that data. The CRC calculation returns a unique number (or "fingerprint") that uniquely identifies the data found in the offsets specified by a StartPoint and AEndPoint. AStartPoint and AEndPoint indicate the initial and final positions in a block of data to be used in the CRC calculation. When AStartPoint contains 0 (zero), both AStartPoint and AEndPoint are ignored and the entire contents of the file are used in the CRC calculation. When AEndPoint contains 0 (zero), the length of the indicated file is assumed as the final position in the CRC calculation. The return value is the 64-bit integer that represents the CRC for file on the remote server for the connection. The return value can contain the value -1 when the file does not exist or the CRC is invalid in the FTP response. CRC can be used when the FTP server supports the FTP XCRC extension command, and after uploading the content for the file in AFileName using the Put ( 795) method. The FTP server will perform the CRC calculation on the file ( or byte range) and return the 8-byte 'fingerprint' for the specified file. The client application can compare this fingerprint to the CRC fingerprint which it generates locally to determine if the file has been modified, corrupted, or altered during its transfer to the server. Use TIdHashCRC32 ( 1013) or a comparable component to perform the local CRC calculation for the files content. Please note that the FTP XCRC extension commands is not widely supported in FTP server implementations at the current time. Use the Capabilities ( 690) property to determine if the command is supported on the FTP server for the current connection. See Also Put (

795)

TIdFTP.Delete Method Removes a file on the FTP server file system. Pascal procedure Delete( const AFilename: string ); Parameters Parameters

Description

AFilename

File to be deleted from the FTP server file system.

Description Delete is a procedure used to remove the file specified in AFilename from the file system on the FTP server. Delete implements the FTP DELE command using the value in AFilename as an argument. Delete expects the numeric response code 250 to indicate successful completion of the FTP command. If AFilename does not represent a valid file in the current directory on the server's file system, or contain a valid file name using a relative path, a protocol response exception will be raised. Please note that the FTP server may not grant delete permissions for the session based on account information specified in the Username ( 833) and Password ( 826) properties. This is common practice for clients using Anonymous accounts. Use Get (

783) to retrieve a file stored on the FTP server file system.

Use Put (

795) to store the contents of a local file onto the FTP server file system.

See Also Username (

833)

Password (

826)

Put (

795)

Internet Direct (Indy) Version 10.1.5

773

TIdFTP Class Get (

Classes

783)

TIdFTP.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy frees resources allocated to the following properties during initialization of the component:

ClientInfo (

814)

ListResult (

821)

LoginMsg (

822)

DirectoryListing (

818)

LangsSupported ( ProxySettings ( TZInfo (

820)

827)

831)

Please note that resources allocated to the Compressor ( 815) property are not explicitly freed in the destructor. This object instance is created and maintained independent of the FTP client where it is used. Applications should free any resources allocated to the Compressor ( 815) property. Destroy calls the inherited Destroy method prior to exit. See Also ClientInfo (

814)

ListResult (

821)

LoginMsg (

822)

DirectoryListing (

818)

LangsSupported ( ProxySettings ( TZInfo (

820)

827)

831)

Compressor (

815)

TIdFTP.DisconnectNotifyPeer Method Closes the FTP session for the client. Pascal procedure DisconnectNotifyPeer; override; Description DisconnectNotifyPeer is an overridden method that handles closing the FTP session for the client. When the IOHandler ( 2364) is still connected ( 2353) to the remote FTP server, DisconnectNotifyPeer sends the FTP QUIT command to indicate that the client will be closing the control channel for the FTP session. DisconnectNotifyPeer then waits for a brief period (10 milliseconds) for the IOHandler ( 2364) to become readable and to handle the response for the FTP QUIT command.

774

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Please note that the Quit ( Use Disconnect (

797) method has been deprecated in Indy 10.

2355) to simply close the control channel for the FTP session.

TIdFTP.ExtListDir Method Implements support for the MLSD directory listing format. Pascal procedure ExtListDir( const ADest: TIdStrings = nil; const ADirectory: string = '' ); Parameters Parameters

Description

ADest

Storage for the textual results in the FTP response.

ADirectory

Directory name for the standardized kisting format.

Description ExtListDir is a procedure used to implement the FTP MLSD extension command for servers supporting the capability. The MLST ( 4354) and MLSD commands provide a defined format for directories and files apprearing on the remote file system. The MLSD command, supported in ExtListDir, accepts an optional directory name or relative path in Adirectory for the directory listing. If am empty string is passed in ADirectory, the current directory is used for the directory listing operation. MLSD returns a a listing with the contents of the named directory using the control channel for the FTP client. MLSD includes information about files and directories found in the named or implied directory. MLSD does not include any title, header, or summary lines, or any other formatting, and conforms to the facts indicated in the Capabilities ( 690) for the FTP server. ADest is used to capture and store the textual results returned in the response for the MLSD command in the ListResult ( 821) property. In addition, ExtListDir frees any existing entries and the container represented by the DirectoryListing ( 818) property. Values in ListResult ( 821) will be parsed into item entries on the initial access to the DirectoryListing ( 818) property. TIdFTP ( 759) uses the TIdFTPLPMList ( 883) list ( 789) parser to access the facts included in the ListResults property. ExtListDir sets the value in UsedMLS to True to indicate the method used to capture the textual results in ListResults. ExtListDir is used in the implementation of the List ( Use ExtListItem (

776) to get (

789) method when CanUseMLS contains the value True.

783) a directory listing for a single file or directory entry using the FTP MLST (

4354) command.

See Also Capabilities ( ListResult (

690) 821)

DirectoryListing ( ExtListItem (

818)

776)

TIdFTPLPMList (

883)

UsedMLS CanUseMLS

TIdFTP.ExtListItem Method Overload List Method

Description

TIdFTP.ExtListItem (TIdFTPListItems, Implements support for the FTP MLST ( String) ( 776)

Internet Direct (Indy) Version 10.1.5

4354) extension command.

775

TIdFTP Class

Classes

TIdFTP.ExtListItem (TIdStrings, string) Implements support for the FTP MLST ( 777)

4354) extension command.

TIdFTP.ExtListItem (TIdStrings, Implements support for the FTP MLST ( TIdFTPListItems, string) ( 776)

4354) extension command.

(

TIdFTP.ExtListItem Method (TIdFTPListItems, String) Implements support for the FTP MLST (

4354) extension command.

Pascal procedure ExtListItem( AFList: TIdFTPListItems; const AItem: String = '' ); overload; Parameters Parameters

Description

AFList

Structured directory listing used to store the values for the command.

AItem

Named item to be be returned in the directory listing.

Description ExtListItem is an overloaded procedure used to implement support for the FTP MLST ( 4354) extension command for servers supported the capability. The MLST ( 4354) command provides a defined format for directories and files appearing on the remote file system. ExtListItem stores the textual response for the MLST ( 4354) command in a temporary variable. Values captured in LastCmdResult ( 2367) are added to the temporary variable when one or more semicolon-delimited facts are found in the textual response lines. When AFList contains a value non-nil object instance, it is used to store the structured DirectoryListing ( the textual response using the IdFTPListParseBase.ParseListing ( 2883) method.

818) items parsed from

AItem represents the file entry requested for the listing operation. AItem cannot contain a directory name. When AItem contains an empty string, the textual response contains only facts for the currently selected non-root directory. The MLST ( 4354) response does not include any title, header, or summary lines, or any other formatting, and conforms to the facts indicated in the Capabilities ( 690) for the FTP server. Use ExtListDir (

775) to get (

783) a directory listing for a file or directory using the FTP MLSD command.

See Also ExtListItem ExtListDir (

775)

LastCmdResult ( ListResult (

821)

DirectoryListing ( Capabilities (

2367)

818)

690)

IdFTPListParseBase. ParseListing (

2883)

TIdFTP.ExtListItem Method (TIdStrings, TIdFTPListItems, string) Implements support for the FTP MLST (

4354) extension command.

Pascal procedure ExtListItem( ADest: TIdStrings; AFList: TIdFTPListItems; const AItem: string = '' 776

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

); overload; Parameters Parameters

Description

ADest

Storage for text values returned from the MLST (

AFList

Structured directory listing used to store the values for the command.

AItem

Named item to be be returned in the directory listing.

4354) command.

Description ExtListItem is an overloaded procedure used to implement support for the FTP MLST ( 4354) extension command for servers supported the capability. The MLST ( 4354) command provides a defined format for directories and files appearing on the remote file system. ExtListItem stores the textual response for the MLST ( 4354) command in the ADest argument. Existing values in the ADest parameter are cleared prior to executing the FTP MLST ( 4354) command using AItem as an argument. Values captured in LastCmdResult ( 2367) are added to the ADest parameter when one or more semicolon-delimited facts are found in the textual response lines. When AFList has been assigned, it is used to store the structured DirectoryListing ( using the IdFTPListParseBase.ParseListing ( 2883) method.

818) items parsed from the textual response

AItem represents the file entry requested for the listing operation. AItem cannot contain a directory name. When AItem contains an empty string, the textual response contains only facts for the currently selected non-root directory. The MLST ( 4354) response does not include any title, header, or summary lines, or any other formatting, and conforms to the facts indicated in the Capabilities ( 690) for the FTP server. Use ExtListDir (

775) to get (

783) a directory listing for a file or directory using the FTP MLSD command.

See Also ExtListItem ExtListDir (

775)

LastCmdResult ( ListResult (

821)

DirectoryListing ( Capabilities (

2367)

818)

690)

IdFTPListParseBase. ParseListing (

2883)

TIdFTP.ExtListItem Method (TIdStrings, string) Implements support for the FTP MLST (

4354) extension command.

Pascal procedure ExtListItem( ADest: TIdStrings; const AItem: string = '' ); overload; Parameters Parameters

Description

ADest

Storage for text values returned from the MLST (

AItem

Named item to be be returned in the directory listing.

4354) command.

Description ExtListItem is an overloaded procedure used to implement support for the FTP MLST ( 4354) extension command for servers supported the capability. The MLST ( 4354) command provides a defined format for directories and files appearing on the remote file system. ExtListItem stores the textual response for the MLST ( Internet Direct (Indy) Version 10.1.5

4354) command in the ADest argument. Existing values in the ADest 777

TIdFTP Class

Classes

parameter are cleared prior to executing the FTP MLST ( 4354) command using AItem as an argument. Values captured in LastCmdResult ( 2367) are added to the ADest parameter when one or more semicolon-delimited facts are found in the textual response lines. AItem represents the file entry requested for the listing operation. AItem cannot contain a directory name. When AItem contains an empty string, the textual response contains only facts for the currently selected non-root directory. The MLST ( 4354) response does not include any title, header, or summary lines, or any other formatting, and conforms to the facts indicated in the Capabilities ( 690) for the FTP server. Use ExtListDir (

775) to get (

783) a directory listing for a file or directory using the FTP MLSD command.

See Also ExtListItem ExtListDir (

775)

LastCmdResult ( ListResult (

821)

DirectoryListing ( Capabilities (

2367)

818)

690)

IdFTPListParseBase. ParseListing (

2883)

TIdFTP.ExtractFeatFacts Method Pascal procedure ExtractFeatFacts( const ACmd: String; AResults: TIdStrings ); Parameters Parameters

Description

ACmd AResults

Description ExtractFeatFacts is a procedure used to capture the facts associated with the Feature negotiation mechanism for the File Transfer Protocol, as described in RFC 2389. The FTP FEAT command provides a mechanism for identifying new commands, or facilities. Implementations of the FTP protocol cannot be assumed to all immediately implement all newly defined mechanisms. The Capabilities ( 690) property is used to store the responses received from an FTP FEAT command, and to identify the extended features available in the server. One of the negotiated features available includes information about the Trivial Virtual File Store which provides file system naming conventions modeled loosely upon those of the UNIX ( 4539)(TM) file system. That is, a tree structured file system, built of directories, each of which can contain other directories, or other kinds of files, or both. Each file and directory has a name relative to the directory that contains it, except for the directory at the root of the tree, which is contained in no other directory, and hence has no name of its own. In addition the MLST ( 4354) and MLSD commands were introduced to provide access to the values. The MLST ( 4354) and MLSD responses including the detailed data provided by TVFS are referred to as "facts". The "facts" for a file in a reply to a MLSx command consist of information about that file. The facts are a series of keyword=value pairs each followed by semi-colon (";") characters. An individual fact may not contain a semi-colon in its name or value. The complete series of facts may not contain the space character. The following represents the facts returned when the MLST ( file.

4354) command is issued for a directory containing the requested

C> PWD S> 257 "/tmp" is current directory. 778

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

C> MLst cap60.pl198.tar.gz S> 250- Listing cap60.pl198.tar.gz S> Type=file;Size=1024990;Perm=r; /tmp/cap60.pl198.tar.gz S> 250 End The standard list ( meanings:

Name size (

789) of facts defined for the MLST (

4354) and MLSD commands include the following names and associated

Meaning 805)

modify create (

Size (

805) in octets

Last modification time 267)

Creation time

type

Entry type

unique

Unique id of file/directory

perm

File permissions, whether read, write, or execute is allowed for the login (

lang

Language of the file name per IANA (

media-type

MIME media-type of file contents per IANA (

charset

Character set per IANA (

Fact names are case-insensitive. Size (

792) id.

4762)[12] registry. 4762) registry.

4762) registry (if not UTF-8)

805), size (

805), SIZE, and SiZe are the same fact.

Further operating system specific keywords could be specified by using the IANA ( (examples only):

Name

Meaning

OS/2.ea

OS/2 extended attributes

MACOS.rf

MacIntosh resource forks

UNIX.mode

Unix file modes (permissions)

4762) operating system name as a prefix

Implementations may define keywords for experimental, or private use. All such keywords MUST begin with the two character sequence "x.". As type names are case independent, "x." and "X." are equivalent.

Name

Meaning

x.ver

Version (

x.desc

File description

x.type

File type

269) information

The Type fact is of special interest due to its in representing either a file or a directory. If the fact is for a directory, is it the current directory, a regular directory, or a parent directory? The MLST ( 4354) specification makes this unambiguous using the type fact. The type fact given specifies information about the object listed on the same line of the MLST ( 4354) response. Five values are possible for the Type fact:

Value

Meaning

file

a file entry

cdir

the current listed directory

pdir

path for the parent directory

dir

a directory or sub-directory in the current directory

Internet Direct (Indy) Version 10.1.5

779

TIdFTP Class

OS.name=type

Classes

an OS or file system dependent file type

Unique Fact Another fact of interest is the unique fact used to present a unique identifier for a file or directory in the file system accessed via a server process. The value of this fact should be the same for any number of pathnames that refer to the same underlying file. The fact should have different values for names which reference distinct files. The mapping between files, and unique fact tokens should be maintained, and remain consistent, for at least the lifetime of the control connection. This fact would be expected to be used by servers whose host system allows things such as symbolic links so that the same file may be represented in more than one directory on the server. The only conclusion that should be drawn is that if two different names each have the same value for the unique fact, they refer to the same underlying object. The value of the unique fact (the token) should be considered an opaque string for comparison purposes, and is a case dependent value. The tokens "A" and "a" do not represent the same underlying object.

Modify Fact The modify fact is used to determine the last time the content of the file (or directory) indicated was modified. Any change of substance to the file should cause this value to alter. That is, if a change is made to a file such that the results of a RETR command would differ, then the value of the modify fact should alter. FTP clients should not assume that a different modify fact value indicates that the file contents are necessarily different than when last retrieved. Some systems may alter the value of the modify fact for other reasons, though this is discouraged wherever possible. Also a file may alter, and then be returned to its previous content, which would often be indicated as two incremental alterations to the value of the modify fact. For directories, this value should alter whenever a change occurs to the directory such that different file names would (or might) be included in MLSD output of that directory.

Create Fact The create ( 267) fact indicates when a file, or directory, was first created. Exactly what "creation" is for this purpose is not specified here, and may vary from server to server. About all that can be said about the value returned is that it can never indicate a later time than the modify fact. Implementors of this fact on UNIX ( 4539)(TM) systems should note that the unix "stat" "st_ctime" field does not give creation time, and that unix file systems do not record creation time at all. Unix (and POSIX) implementations will normally not include this fact.

Perm Fact The perm fact is used to indicate access rights the current FTP user has over the object listed. Its value is always an unordered sequence of up to ten alphabetic characters, like:

? Meaning A Applies to objects of type=file, and indicates that the APPE (append) command may be applied to the named file. C Applies to objects of type=dir (and type=pdir, type=cdir), and indicates that files may be created in the directory named using STOU, STOR, APPE, and RNTO. D Applies to all object types, and indicates that the named object may be deleted using the DELE or RMD commands. E Applies to the directory types, and indicates the user can enter the named directory using the CWD or CDUP commands. F Indicates that the named object named may be renamed using the RNFR command.

780

Internet Direct (Indy) Version 10.1.5

Classes

L

Applies to the directory file types, and indicates that the LIST, NLST ( named directory.

TIdFTP Class

4358), and MLSD commands can be used for the

M Applies to directory types, and indicates that the MKD command may be used to create ( directory.

267) a new directory in the named

P Applies to directory types, and indicates that objects in the directory may be deleted or purged using the DELE command but not with the RMD command. R Applies to object of type=file and indicates that the RETR command may be used to access the object. W Applies to objects of type=file, and indicates that the STOR command may be applied to the named object. Many permissions are meaningful only when used with a particular type of object. The indicators are case independent, "d" and "D" are the same indicator. Please note that when a permission indicator is set, it does not imply that the appropriate command is guaranteed to work. The permissions are described here as they apply to FTP commands. They may not map easily into particular permissions available on the server's operating system. Servers are expected to synthesize these permission bits from the permission information available from operating system. For example, to correctly determine whether the "D" permission bit should be set on a directory for a server running on the UNIX ( 4539)(TM) operating system, the server should check that the directory named is empty, and that the user has write permission on both the directory under consideration, and its parent directory.

Lang Fact The lang fact describes the natural language of the file name for use in display purposes. Values used here should be taken from the language registry of the IANA ( 4762). FTP server implementations must not guess at language values. Language values must be determined in an unambiguous way such as file system tagging of language or by user configuration. Note that the lang fact provides no information at all about the content of a file, only about the encoding of its name.

Size Fact The size ( 805) fact applies to non-directory file types and should always reflect the approximate size ( 805) of the file. This should be as accurate as the server can make it, without going to extraordinary lengths, such as reading the entire file. The size ( 805) is expressed in units of octets of data in the file. Given limitations in some systems, FTP client implementations must understand this size ( change between the time of a MLST ( 4354) and RETR operation.

805) may not be precise and may

Clients that need highly accurate size ( 805) information for some particular reason should use the SIZE command. The most common need for this accuracy is likely to be in conjunction with the REST command. The size ( 805) fact, on the other hand, should be used for purposes such as indicating to a human user the approximate size ( 805) of the file to be transferred, and perhaps to give an idea of expected transfer completion time.

Media-type Fact The media-type fact represents the IANA ( 4762) media type of the file named, and applies only to non-directory types. The list ( 789) of values used must follow the guidelines set by the IANA ( 4762) registry. FTP server implementations must not guess at media type values. Media type values must be determined in an unambiguous way such as file system tagging of media-type or by user configuration. This fact gives information about the content of the file named. Both the primary media type, and any appropriate subtype should be given, separated by a slash "/" as is traditional.

Charset Fact The charset fact provides the IANA ( 4762) character set name, or alias, for the encoded pathnames in a MLSx response. The default character set is UTF-8 unless specified otherwise. FTP implementations SHOULD use UTF-8 if possible to encourage Internet Direct (Indy) Version 10.1.5

781

TIdFTP Class

Classes

maximum inter-operability. The value of this fact applies to the pathname only, and provides no information about the contents of the file.

Required Facts Servers are not required to support any particular set of the available facts. However, servers should, if conceivably possible, support at least the type, perm, size ( 805), unique, and modify facts.

TIdFTP.FileDate Method Rtrieves the date and time a file was last modified on the remote system. Pascal function FileDate( const AFileName: String; const AsGMT: Boolean = False ): TIdDateTime; Parameters Parameters

Description

AFileName

FIle name to examine for the last modification date and time.

AsGMT

Indicates if the GMT date/time value is converted to the local timezone. The default value is False.

Returns TIdDateTime (

4733) - Date and optional Time the file was last modified.

Description FileDate is a TIdDateTime ( 4733) function used to implement support for the FTP MDTM extension command. FileDate allows the FTP client to access the File Modification Time for a specified file on FTP servers that implement the MDTM feature. Use the Capabilities ( 690) property to determine if the FTP server supports the MDTM feature, although some server may support MDTM even when it does not support the FTP FEAT command. FileDate sends the FTP MDTM command using the value in AFilename as an argument, and expects the numeric response code 213 to indicate successful completion of the FTP command. When 500-series numeric responses are received, the return value for the method is set to 0.0 or the empty native TIdDateTime ( 4733) value. File modification time values returned from the FTP server are expressed in the GMT (Greenwich Mean Time) timezone. When AsGMT contains False, the file modification time value is converted to the local time zone for the FTP client. The return value will include the a date/time value that includes at a minimum the Year, Month, and Day the file was last modified. On some remote systems, the hour, minute, seconds, and milliseconds for the modification are also available. FileDate can be used independent of values available in responses to the FTP MLST ( 4354) or MLSD commands stored in either ListResult ( 821) or DirectoryListing ( 818). Most FTP servers will return the same value in each of these scenarios. See Also List (

789)

ListResult (

821)

DirectoryListing (

818)

TIdFTP.FileStructure Method Defines the way data is represented in FTP data transfer operations. Pascal procedure FileStructure( AStructure: TIdFTPDataStructure );

782

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Parameters Parameters

Description

AStructure

File structure requested by the FTP client.

Description FileStructure is a procedure used to implement support for the FTP STRU command on the FTP client. The FTP STRU command is used to define the way in which data is represented in FTP data transfer operations. The value in AStructure indicates the representation required for the FTP client, and can contain the following values and meanings:

Value

Argument Meaning

dsFile

F

No internal structure is used, and the file is considered to be a continuous sequence of data bytes.

dsRecord

R

The file is made up of sequential records.

dsPage

P

The file is made up of independent indexed pages.

dsFile is the value normally used for FTP data transfers involving text or binary file content. The structure of a file may affect both the transfer mode of a file and the interpretation and storage of the file. With some sites being naturally file-oriented and others naturally record-oriented there may be problems if a file with one structure is sent to a host oriented to the other. If a text file is sent with record-structure to a host which is file oriented, then that host should apply an internal transformation to the file based on the record structure. Obviously, this transformation should be useful, but it must also be invertible so that an identical file may be retrieved using record structure. In the case of a file being sent with file-structure to a record-oriented host, there exists the question of what criteria the host should use to divide the file into records which can be processed locally. If this division is necessary, the FTP implementation should use the end-of-line sequence, CRLF for ASCII, or NL for EBCDIC text files, as the delimiter. If an FTP implementation adopts this technique, it must be prepared to reverse the transformation if the file is retrieved with file-structure. For more detailed information about implementing the FTP STRU command, please refer to RFC 959. See Also TIdFTPDataStructure ( TransferMode (

808)

TransferType (

829)

2950)

TIdFTP.Get Method Overload List Method

Description

TIdFTP.Get (string, string, boolean, Retrieves a file using the FTP protocol. Boolean) ( 785) TIdFTP.Get Boolean) ( 783)

(string,

TIdStream, Retrieves a file using the FTP protocol.

TIdFTP.Get Method (string, TIdStream, Boolean) Retrieves a file using the FTP protocol. Pascal procedure Get( const ASourceFile: string; ADest: TIdStream; AResume: Boolean = false ); overload;

Internet Direct (Indy) Version 10.1.5

783

TIdFTP Class

Classes

Parameters Parameters

Description

ASourceFile

File name on the FTP server.

ADest

Stream where file data will be written.

AResume

Partial download can be completed.

Description Get is an overloaded procedure that allows the FTP client to retrieve a file with the name specified in ASourceFile from the FTP server using the FTP RETR command. Values retrieved from the server are stored locally in the stream specified in ADest. Get allows continuing a previous partial download or appending data to an existing file on the local file system when AResume is True and CanResume ( 814) indicates that the FTP server implementation allows the FTP REST command verb. Internal processing for the Get method will also trigger the OnStatus ( 359) event handler with the ftpTransfer status ( 806) value, reads data from the FTP server, and signals the the OnStatus ( 359) event handler with the ftpReady status ( 806) value on completion. OnStatus ( 359) may be triggered with the value ftpAborted if the response code from the FTP server is the numeric values 225 or 226. During data retrieval, Get calls methods that initialize the DataChannel for the FTP client using the connection type specificed in Passive ( 825). When Passive ( 825) contains True, the FTP PASV or EPSV commands are used to configure the IP address and Port ( 826) number for the data channel. When Passive ( 825) contains False, the FTP PORT or EPRT commands are used to configure the IP address and Port ( 826) number for the data channel using the value indicated in DataPort ( 816), DataPortMin ( 817), and DataPortMax ( 816). UsingExtDataPort ( 834) indicates if the FTP EPORT command is required. The OnDataChannelCreate (

837) event handler is signaled prior to opening the data channel connection.

When both AResume and CanResume ( 814) contain True, the FTP REST command is sent using the existing length of aDestFile as the initial position for the resumed data transfer. A secure socket transport for the data channel is updated based on values in DataPortProtection ( prior to tranmission of data.

817) and UsingSFTP (

834)

The current value in TransferMode ( 808) is used to determine if ZLib compression has been applied to data during transmission. When TransferMode ( 808) contains dmDeflate, the Compressor ( 815) object instance is used to read compressed data on the data channel socket transport. When TransferMode ( 808) contains dmStream, data is read from the transport using the IPOHandler for the data channel. After completion of the retrieval process, Get signals the OnDataChannelDestroy ( for the FTP client. Get also signals the OnAfterGet ( Use Put (

838) event handler and frees the data channel

835) event handler following completion of the data transfer.

795) to transfer data from the FTP client to the FTP server.

See Also Get Put (

795)

CanResume ( OnAfterGet (

814) 835)

OnDataChannelCreate ( OnDataChannelDestroy ( OnStatus ( Passive (

838)

359) 825)

TransferMode ( 784

837)

808) Internet Direct (Indy) Version 10.1.5

Classes Compressor (

TIdFTP Class 815)

DataPortProtection ( UsingSFTP (

817)

834)

EIdFTPFileAlreadyExists (

90)

TIdFTP.Get Method (string, string, boolean, Boolean) Retrieves a file using the FTP protocol. Pascal procedure Get( const ASourceFile: string; const ADestFile: string; const ACanOverwrite: boolean = false; AResume: Boolean = false ); overload; Parameters Parameters

Description

ASourceFile

File name on the FTP server.

ADestFile

File name and optional path on the local machine.

ACanOverwrite

Overwrite an existing file with the same name.

AResume

Partial download can be completed.

Description Get is an overloaded procedure that allows the FTP client to retrieve a file with the name specified in ASourceFile from the FTP server using the FTP RETR command. Values retrieved from the server are stored locally in the file name specified in ADestFile. Get allows continuing a previous partial download or appending data to an existing file on the local file system when AResume is True and CanResume ( 814) indicates that the FTP server implementation allows the FTP REST command verb. ACanOverwrite indicates if an existing local file with the name indicated in ADestFile should be overwritten. The local file will be deleted and recreated when ACanOverwrite contains True and AResume contains False. When ACanOverwrite contains False and AResume contains True, the destination file will be opened and positioned to the end of the existing file data before retrieving new data. An EIdFTPFileAlreadyExists ( 90) exception will be raised when the destination file in ADestFile already exists, and both ACanOverwrite and AResume contain False. Internal processing for the Get method will also trigger the OnStatus ( 359) event handler with the ftpTransfer status ( 806) value, reads data from the FTP server, and signals the the OnStatus ( 359) event handler with the ftpReady status ( 806) value on completion. OnStatus ( 359) may be triggered with the value ftpAborted if the response code from the FTP server is the numeric values 225 or 226. During data retrieval, Get calls methods that initialize the DataChannel for the FTP client using the connection type specificed in Passive ( 825). When Passive ( 825) contains True, the FTP PASV or EPSV commands are used to configure the IP address and Port ( 826) number for the data channel. When Passive ( 825) contains False, the FTP PORT or EPRT commands are used to configure the IP address and Port ( 826) number for the data channel using the value indicated in DataPort ( 816), DataPortMin ( 817), and DataPortMax ( 816). UsingExtDataPort ( 834) indicates if the FTP EPORT command is required. The OnDataChannelCreate (

837) event handler is signaled prior to opening the data channel connection.

When both AResume and CanResume ( 814) contain True, the FTP REST command is sent using the existing length of aDestFile as the initial position for the resumed data transfer. A secure socket transport for the data channel is updated based on values in DataPortProtection ( prior to tranmission of data. The current value in TransferMode ( Internet Direct (Indy) Version 10.1.5

817) and UsingSFTP (

834)

808) is used to determine if ZLib compression has been applied to data during transmission. 785

TIdFTP Class

Classes

When TransferMode ( 808) contains dmDeflate, the Compressor ( 815) object instance is used to read compressed data on the data channel socket transport. When TransferMode ( 808) contains dmStream, data is read from the transport using the IPOHandler for the data channel. After completion of the retrieval process, Get signals the OnDataChannelDestroy ( for the FTP client. Get also signals the OnAfterGet ( Use Put (

838) event handler and frees the data channel

835) event handler following completion of the data transfer.

795) to transfer data from the FTP client to the FTP server.

See Also Get Put (

795)

CanResume ( OnAfterGet (

814) 835)

OnDataChannelCreate (

837)

OnDataChannelDestroy ( OnStatus ( Passive (

838)

359) 825)

TransferMode ( Compressor (

808) 815)

DataPortProtection ( UsingSFTP (

817)

834)

EIdFTPFileAlreadyExists (

90)

TIdFTP.GetLoginPassword Method Overload List Method TIdFTP.GetLoginPassword () (

Description 786)

TIdFTP.GetLoginPassword (String) ( 787)

Constructs the authentication credentials for the FTP session in the Login ( method.

792)

Constructs the authentication credentials for the FTP session in the Login ( method.

792)

TIdFTP.GetLoginPassword Method () Constructs the authentication credentials for the FTP session in the Login (

792) method.

Pascal function GetLoginPassword: String; overload; Returns String - The hashed OTP Response using the Password (

826) for the FTP client.

Description GetLoginPassword is an overloaded String function used to construct the authentication credentials for the FTP session in the Login ( 792) method. GetLoginPassword provides a mechanism for transparently supporting the One-Time-Password ( servers that implement the capability in the response for the FTP USER command.

786

826) (OTP) system for FTP

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

GetLoginPassword uses the text in the LastCmdResult ( 2367) as the potential OTP challenge, and calls the overridden GetLoginPassword method. If the response includes a line that begins with the characters "otp-", the hashing algorithm and the challenge are read from the FTP response. The hashing algorithm is used to generate an OTP response using the OTP Challenge and the value in the Password ( 826) property. If an OTP challenge is not found in the response to the FTP USER command, the value in the Password ( for the authentication credentials in the Login ( 792) method.

826) property is used

See Also GetLoginPassword Login (

792)

TIdFTP.GetLoginPassword Method (String) Constructs the authentication credentials for the FTP session in the Login (

792) method.

Pascal function GetLoginPassword( const APrompt: String ): String; overload; Parameters Parameters

Description

APrompt

Challenge for the One-Time-Password (

826) system.

Returns String - The hashed OTP Response using the Password (

826) for the FTP client.

Description GetLoginPassword is an overloaded String function used to construct the authentication credentials for the FTP session in the Login ( 792) method. GetLoginPassword provides a mechanism for transparently supporting the One-Time-Password ( 826) (OTP) system for FTP servers that implement the capability in the response for the FTP USER command. If the response includes a line that begins with the characters "otp-", the hashing algorithm and the challenge are read from the FTP response. The hashing algorithm is used to generate an OTP response using the OTP Challenge and the value in the Password ( 826) property. If an OTP challenge is not found in the response to the FTP USER command, the value in the Password ( for the authentication credentials in the Login ( 792) method.

826) property is used

See Also GetLoginPassword Login (

792)

TIdFTP.Help Method Requests FTP server capabilities or site (

803)-specific implementations.

Pascal procedure Help( var AHelpContents: TIdStringList; ACommand: String = '' ); Parameters Parameters

Description

AHelpContents

Values returned from the HELP command.

ACommand

Optional argument requesting more specific information.

Internet Direct (Indy) Version 10.1.5

787

TIdFTP Class

Classes

Description Help is a procedure used to retrieve the FTP server capabilities, and other helpful information, using the FTP HELP command. The values returned in AHelpContents will reflect information regarding its implementation status ( 806) over the control connection for the FTP client. Help can send the optional argument in ACommand to request more specific information about a particular command implemented in the FTP server. The server may use this reply to specify site ( 803)-dependent parameters, e.g., in response to HELP SITE. Please note that Help has no effect if the FTP client is not Connected ( forms of user authentication.

2353). Help can be used prior to Login (

792) or other

See Also Connect ( Login (

771) 792)

TIdFTP.IsExtSupported Method Determine if an FTP command is a supported FTP extension command for the FTP server. Pascal function IsExtSupported( const ACmd: String ): Boolean; Parameters Parameters

Description

ACmd

FTP command to locate in the server Capabilities (

690).

Returns Boolean - True when the command is supported. Description IsExtSupported is a Boolean function used to determine if the FTP command specified in ACmd is a supported FTP extension command for the FTP server implementation. IsExtSupported compares the value in ACmd to the individual lines of text found in the Capabilities ( 690) property. The text comparision is not case sensitive, so the values "MDTM", "MdTm", and "mdtm" are all considered equivalent. Values in the Capabilities ( 792) method.

690) property are stored when the FTP FEAT command is executed during execution of the Login (

IsExtSupported returns True when the value in ACmd appears in the lines of text found in the Capabilities (

690) property.

See Also Capabilities ( Login (

690)

792)

TIdFTP.IsServerMDTZAndListTForm Method Indicates if the FTP server is one that supports the FTP MDTM and LIST -T commands. Pascal function IsServerMDTZAndListTForm: Boolean; Returns Boolean - True when the FTP server supports MDTM commands with timezone offsets and the LIST -T command. Description IsServerMDTZAndListTForm is a Boolean function used to indicate if the FTP server is one that supports the FTP MDTM and LIST 788

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

-T commands, even when they are not listed in the response to the FTP FEAT command. IsServerMDTZAndListTForm returns True when modification date and times in the format MDTM yyyymmddhhmmss[+-xxx] are supported, and the FTP LIST -T command is also supported. IsServerMDTZAndListTForm uses values in the initial line of the server Greeting ( one the following special implementations:

2364) to determine if the remote FTP server is

Serv-U BPFTP Server TitanFTP server

TIdFTP.KillDataChannel Method Closes the data channel for the FTP client session during Abort (

768).

Pascal procedure KillDataChannel; virtual; Description KillDataChannel is a procedure used to close the data channel for the FTP client session. When the DataChannel has been assigned for the FTP client, the Disconnect ( 2355) method for the socket is called. KillDataChannel is used in the Abort ( 768) method to ensure that an active data channel connection is closed following transmission of the FTP ABOR command. See Also Abort (

768)

IOHandler ( Socket (

2364)

2369)

TIdFTP.List Method Overload List Method TIdFTP.List () (

Description 789)

TIdFTP.List (string, Boolean) ( TIdFTP.List Boolean) ( 790)

(TIdStrings,

Retrieves a list of files and directories on the FTP server. 791)

Retrieves a list of files and directories on the FTP server.

string, Retrieves a list of files and directories on the FTP server.

TIdFTP.List Method () Retrieves a list of files and directories on the FTP server. Pascal procedure List; overload; Description List is an overloaded procedure used to request a list of files or directories in the current directory on the FTP server. Unlike overloadeed variants of the List method, no file specifier is used and file details are always returned. List calls the overloaded List method using an Unassigned (Nil) value for the storage of the textual responses that make up the directory listing. If CanUseMLS contains True, the ExtListDir ( Internet Direct (Indy) Version 10.1.5

775) is called to capture and store the results of the FTP MLSD command in the 789

TIdFTP Class

Classes

ADest parameter variable instead of the LIST or NLST ( method under this circumstance, and the method is exited.

4358) commands. No additional processing is performed in the List

Prior to executing the LIST command, the TransferType ( 829) for the control channel is set to ftASCII. While this is not a requirement of the FTP protocol, it is a common practice in most FTP clients. The previous value of the TransferType ( 829) property is restored before exiting from the List method. Textual responses to the FTP command are captured and stored in the ListResult ( 821) property. The value of the UsedMLS property is set to False to indicate that the MLST ( 4354) parser should not be used on textual values in the ListResult ( 821) property. List will clear any existing entries found in the DirectoryListing ( 818) property, and free the collection used for the structured directory listing. The collection is recreated and values in the ListResult ( 821) are parsed into collection items on the initial read access to the DirectoryListing ( 818) property. See Also ListResult (

821)

DirectoryListing (

818)

List CanUseMLS UsedMLS ExtListDir (

775)

TransferType (

829)

TIdFTP.List Method (TIdStrings, string, Boolean) Retrieves a list of files and directories on the FTP server. Pascal procedure List( ADest: TIdStrings; const ASpecifier: string = ''; ADetails: Boolean = True ); overload; Parameters Parameters

Description

ADest

List for files and directories in the current directory.

ASpecifier

File mask for the listing. Default value is ''.

ADetails

Include file details. Default value is True.

Description List is an overloaded procedure used to request a list of files or directories in the current or specified directory on the FTP server. ADest is a TIdStringList (

3088) argument used to store the raw text values returned from the FTP server directory listing.

ASpecifier is a String value that contains a mask indicating the files and/or directories to be included in the listing. ASpecifier can contain common wildcard characters like '*' and '?'. Some useful masks include:

Mask

Usage All files in the current directory.

. *

All directory entries in the current directory.

*.

All files regardless of extension in the current directory.

A??.txt All text files that have a 3-character name starting with the letter 'A'.

790

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Please note that the actual use and meaning of a wildcard character is dependent on the file system implmented on the remote FTP server. There is no universal definition for any one particular wildcard character. ADetails is a Boolean value that indicates if the list should contain details about the files and directories that match the mask in ASpecifier. If CanUseMLS contains True, the ExtListDir ( 775) is called to capture and store the results of the FTP MLSD command in the ADest parameter variable instead of the LIST or NLST ( 4358) commands. No additional processing is performed in the List method under this circumstance, and the method is exited. When ADetails is False, only the file or directory name is returned in the ADest string list using the FTP NLST ( 4358) command. When ADetails is True, List can return FTP server-dependent details including the file size ( 805), date modified, and file permissions for the Owner, Group, and User using the FTP LIST command. Prior to executing the LIST or NLST ( 4358) commands, the TransferType ( 829) for the control channel is set to ftASCII. While this is not a requirement of the FTP protocol, it is a common practice in most FTP clients. The previous value of the TransferType ( 829) property is restored before exiting from the List method. Textual responses to the FTP command are captured and stored in both the ADest parameter variable and the ListResult ( 821) property. The value of the UsedMLS property is set to False to indicate that the MLST ( 4354) parser should not be used on textual values in the ListResult ( 821) property. List will clear any existing entries found in the DirectoryListing ( 818) property, and free the collection used for the structured directory listing. The collection is recreated and values in the ListResult ( 821) are parsed into collection items on the initial read access to the DirectoryListing ( 818) property. Example [Delphi] AFiles := TIdStringList.Create; AFtp.List(AFiles, '*.zip', True); if AFtp.DirectoryListing.Count 0 then begin FillDirListView(AFtp.DirectoryListing) end; See Also ListResult (

821)

DirectoryListing (

818)

List CanUseMLS UsedMLS ExtListDir (

775)

TransferType (

829)

TIdFTP.List Method (string, Boolean) Retrieves a list of files and directories on the FTP server. Pascal procedure List( const ASpecifier: string; ADetails: Boolean = True ); overload; Parameters Parameters

Description

ASpecifier

File mask for the listing. Default value is ''.

ADetails

Include file details. Default value is True.

Internet Direct (Indy) Version 10.1.5

791

TIdFTP Class

Classes

Description List is an overloaded procedure used to request a list of files or directories in the current directory on the FTP server. ASpecifier is a String value that contains a mask indicating the files and/or directories to be included in the listing. ASpecifier can contain common wildcard characters like '*' and '?'. Some useful masks include:

Mask

Usage All files in the current directory.

. *

All directory entries in the current directory.

*.

All files regardless of extension in the current directory.

A??.txt All text files that have a 3-character name starting with the letter 'A'. ADetails is a Boolean value that indicates if the list should contain details about the files and directories that match the mask in ASpecifier. List calls the overloaded List method using an Unassigned (Nil) value for the storage of the textual responses that make up the directory listing. If CanUseMLS contains True, the ExtListDir ( 775) is called to capture and store the results of the FTP MLSD command in the ADest parameter variable instead of the LIST or NLST ( 4358) commands. No additional processing is performed in the List method under this circumstance, and the method is exited. Prior to executing the LIST command, the TransferType ( 829) for the control channel is set to ftASCII. While this is not a requirement of the FTP protocol, it is a common practice in most FTP clients. The previous value of the TransferType ( 829) property is restored before exiting from the List method. Textual responses to the FTP command are captured and stored in the ListResult ( 821) property. The value of the UsedMLS property is set to False to indicate that the MLST ( 4354) parser should not be used on textual values in the ListResult ( 821) property. List will clear any existing entries found in the DirectoryListing ( 818) property, and free the collection used for the structured directory listing. The collection is recreated and values in the ListResult ( 821) are parsed into collection items on the initial read access to the DirectoryListing ( 818) property. See Also ListResult (

821)

DirectoryListing (

818)

List CanUseMLS UsedMLS ExtListDir (

775)

TransferType (

829)

TIdFTP.Login Method Authenticates a client connection to the FTP server. Pascal procedure Login; Description Login is a procedure used to perform FTP protocol exchanges needed to provide authentication for the FTP client connection to the remote FTP server. 792

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

TIdFTP ( 759) includes support for Tranport Layer Security (or TLS) as indicated in the UseTLS ( 833) property. When UseTLS ( 833) contains a value that indicates explicit use of TLS/SSL, Login will perform the FTP commands required to handle the TLS negotiation including the FTP AUTH command for the values indicated in the the TLS_AUTH_NAMES ( 4396) array. Login provides support for proxied connections to the FTP server through properties and methods in ProxySettings ( 827). Set the value in ProxySettings.ProxyType to the TIdFtpProxyType ( 2951) value desired for the connection prior to calling Connect ( 771) or Login. Please note that proxied connections using the TIdFtpProxyType ( 2951) value fpcmHttpProxyWithFtp are not implemented at this time. Login sends the OPEN (for certain proxy settings), USER, and PASS commands as required to perform authentication using the values in Username ( 833), Password ( 826), and the corresponding property values in ProxySettings ( 827). If the FTP server supports the OTP (One-Time-Password ( 826)) system, the appropriate hashed values are calculated using the OTP challenge and the Password ( 826) property. Login stores the values in LastCmdResult ( 2367) in the LoginMsg ( eent handler using the formatted reply in LoginMsg ( 822).

822) property, and triggers the OnBannerAfterLogin (

835)

Login will attempt to perform optional feature negotiation for servers supporting the FTP FEAT command. The response from the FTP FEAT command is stored in the Capabilities ( 690) property, and made available for use in other FTP client methods. When UsingExtDataPort ( 834) is True, Login checks that the FTP EPRT and EPSV extension commands are available in the Capabilities ( 690) property. When ClientInfo ( 814) contains non-empty values, the FTP CLNT extension command is used to send the identification values when the remote server include the CLNT command in its Capabilties. Login updates the value in CanUseMLS to indicate if the MLST ( in the server Capabilties. Login updates the value in LangsSupported ( Capabilities ( 690) property.

4354) and MLSD listing formats can be used and are supported

820) to reflect the facts associated with the FTP feature extracted from the

Login sends the trandfer type for the authenticated connection using the value in the TransferType ( Login is called by the Connect ( 771) method when AutoLogin ( using the ReInitialize ( 798) method. Use the Account (

829) property.

813) contains True, and can be called in an application after

812) method to provide additional information about a client connection on some FTP server implementations.

See Also Username (

833)

Password (

826)

ProxySettings ( Account (

812)

ClientInfo ( Connect (

827)

814) 771)

Login LoginMsg (

822)

AutoLogin (

813)

Capabilities (

690)

LangsSupported (

820)

CanUseMLS UseTLS (

833)

ReInitialize (

798)

TransferType (

829)

Internet Direct (Indy) Version 10.1.5

793

TIdFTP Class

Classes

TIdFtpProxyType (

2951)

TIdFTP.MakeDir Method Creates a directory on the FTP server. Pascal procedure MakeDir( const ADirName: string ); Parameters Parameters

Description

ADirName

Directory to create (

267).

Description MakeDir is a procedure used to create (

267) a directory on the FTP server.

ADirName is a String that identifies the directory to be created on the FTP server. ADirName must conform to the file naming conventions for the FTP server, or an FTP error response code and message will be returned. MakeDir causes the directory specified in ADirName to be created as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative). Please note that some FTP servers may not allow the user to create ( authentication is performed in the Login ( 792) method.

267) new directories based on permissions set when

Use RemoveDir (

798) to remove a specified directory using its absolute or relative path name.

Use ChangeDir (

769) to change the current directory on the remote FTP server to a specific absolute or relative path.

Use RetrieveCurrentDir (

800) to determine the present working directorty on the remote FTP server file system.

Example [Delphi] AFtp.MakeDir('/public/MyFiles'); AFtp.MakeDir('/public/MyOtherFiles'); AFtp.ChangeDir('/public'); AFtp.ChangeDir('MyFiles'); AFtp.ChangeDirUp; AFtp.ChangeDir('MyOtherFiles'); AFtp.ChangeDir('/'); AFtp.RemoveDir('/public/MyOtherFiles'); See Also ChangeDir (

769)

ChangeDirUp ( RemoveDir (

770)

798)

RetrieveCurrentDir (

800)

TIdFTP.Noop Method Sends a Keep-Alive signal to the FTP server. Pascal procedure Noop; Description Noop is a procedure used to send a keep-alive signal to the FTP server. Noop is sometimes use to prevent the FTP server from closing a connection which is idle for a long period of time. 794

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

See Also Connect (

771)

TIdFTP.Put Method Overload List Method

Description

TIdFTP.Put (string, string, boolean) ( 796)

Uploads a file to an FTP server.

TIdFTP.Put boolean) ( 795)

(TIdStream,

string, Uploads a file to an FTP server.

TIdFTP.Put Method (TIdStream, string, boolean) Uploads a file to an FTP server. Pascal procedure Put( const ASource: TIdStream; const ADestFile: string; const AAppend: boolean = false ); overload; Parameters Parameters

Description

ASource

Stream containing data to be uploaded.

ADestFile

Destination file name on the remote FTP server.

AAppend

Indicates content should be appended to existing data. Default value is false.

Description Put is an overloaded procedure used to upload the contents of a file or streak found on the local client to a specified file on the remote FTP server. ASource is a TIdStream (

3087) descendant with the local content to be transferred to the remote FTP server.

ASourceFile specified a file name (with optional relative or absolute path information) for the local content to be transferred to the remote FTP server. ADestFile is the file name used to stored the content on the remote FTP server. ADestFile can contain path information (in either relative or absolute form) as well as a valid file name for the remote file system. When path information is omitted, the file in ADestFile will be created in the current working directory on the remote FTP server. When ADestFile contains an empty string, the file name in ASourceFile (without path information) is used as the destination file name for the data transfer. An EIdFTPUploadFileNameCanNotBeEmpty ( argument.

98) exception is raised if Put is called using an empty string in the ADestFile

Put triggers the OnBeforePut event handler when it has been assigned for the FTP client. Put uses the value in the AApend argument to determine the correct FTP command to use for the data transfer. When AAppend contains True, the FTP server will append data from the transfer to the end of a file which already exists on the FTP server. using the FTP APPE command. When AAppend is False, the data from ASource or ASourceFile overwrites any existing values in ADestFile using the FTP STOR command. During execution, Put triggers execution of the OnStatus ( starting, has been completed, or has been aborted.

359) event handler using values that indicates then the transfer is

Put creates, initializes, and maintains the data channel used to perform the data transfer based on the values in the Passive ( 825), UsingExtDataPort ( 834), and TransferMode ( 808) properties. Internet Direct (Indy) Version 10.1.5

795

TIdFTP Class

Classes

When Passive ( 825) contains False, the values in DataPort ( 816), DataPortMin ( used to bind listen for the active server connection for the data channel. Put triggers the OnDataChannelCreate (

817), and DataPortMax (

816) are also

837) event handler after creating (but prior to connecting) the data channel.

During transmission, Put uses the current value in the TransferMode ( 808) property to determine if the Compressor ( 815) property is used perfrom "Deflate" compression for values written on the IOHandler ( 2364) for the data channel. The value dmDefalte indicates that MODE Z is used for the data transfer. Put triggers the OnDataChannelDestroy (

838) event handler after closing (but prior to freeing) the data channel.

Put triggers the OnAfterPut event handler when it has been assigned for the FTP client. Use Abort (

768) to cancel an executing data transfer request.

Use KillDataChannel (

789) to force the data channel for the FTP session to be closed.

Exceptions Exceptions

Description

EIdFTPUploadFileNameCanNotBeEmpty (

98)

With the message RSFTPFileNameCanNotBeEmpty when the destination file name is empty.

See Also Put Get (

783)

Abort (

768)

KillDataChannel (

789)

TIdFTP.Put Method (string, string, boolean) Uploads a file to an FTP server. Pascal procedure Put( const ASourceFile: string; const ADestFile: string = ''; const AAppend: boolean = false ); overload; Parameters Parameters

Description

ASourceFile

File containing data to be uploaded.

ADestFile

Destination file name on the remote FTP server. Default value is ''.

AAppend

Indicates content should be appended to existing data. Default value is false.

Description Put is an overloaded procedure used to upload the contents of a file or streak found on the local client to a specified file on the remote FTP server. ASource is a stream descendant with the local content to be transferred to the remote FTP server. ASourceFile specified a file name (with optional relative or absolute path information) for the local content to be transferred to the remote FTP server. ADestFile is the file name used to stored the content on the remote FTP server. ADestFile can contain path information (in either relative or absolute form) as well as a valid file name for the remote file system. When path information is omitted, the file in ADestFile will be created in the current working directory on the remote FTP server. When ADestFile contains an empty string, the file name in ASourceFile (without path information) is used as the destination file name for the data transfer. An EIdFTPUploadFileNameCanNotBeEmpty ( argument.

98) exception is raised if Put is called using an empty string in the ADestFile

Put triggers the OnBeforePut event handler when it has been assigned for the FTP client. 796

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Put uses the value in the AApend argument to determine the correct FTP command to use for the data transfer. When AAppend contains True, the FTP server will append data from the transfer to the end of a file which already exists on the FTP server. using the FTP APPE command. When AAppend is False, the data from ASource or ASourceFile overwrites any existing values in ADestFile using the FTP STOR command. During execution, Put triggers execution of the OnStatus ( starting, has been completed, or has been aborted.

359) event handler using values that indicates then the transfer is

Put creates, initializes, and maintains the data channel used to perform the data transfer based on the values in the Passive ( 825), UsingExtDataPort ( 834), and TransferMode ( 808) properties. When Passive ( 825) contains False, the values in DataPort ( 816), DataPortMin ( used to bind listen for the active server connection for the data channel. Put triggers the OnDataChannelCreate (

817), and DataPortMax (

816) are also

837) event handler after creating (but prior to connecting) the data channel.

During transmission, Put uses the current value in the TransferMode ( 808) property to determine if the Compressor ( 815) property is used perfrom "Deflate" compression for values written on the IOHandler ( 2364) for the data channel. The value dmDefalte indicates that MODE Z is used for the data transfer. Put triggers the OnDataChannelDestroy (

838) event handler after closing (but prior to freeing) the data channel.

Put triggers the OnAfterPut event handler when it has been assigned for the FTP client. Use Abort (

768) to cancel an executing data transfer request.

Use KillDataChannel (

789) to force the data channel for the FTP session to be closed.

Exceptions Exceptions

Description

EIdFTPUploadFileNameCanNotBeEmpty (

98)

With the message RSFTPFileNameCanNotBeEmpty when the destination file name is empty.

See Also Put Get (

783)

Abort (

768)

KillDataChannel (

789)

TIdFTP.Quit Method Closes the FTP client connection. Pascal procedure Quit; Description Quit is a procedure used to close the connection to the FTP server when a file transfer operation is not in progress. Quit closes the control channel for the FTP client. Quit sends the FTP QUIT command when the connection to the remote FTP server is currently opened. If the client is not currently connected ( 2353), the QUIT command is omitted. Quit calls the Disconnect (

2355) method to close the control channel connection for the FTP client.

An application should call Abort (

768), when a file transfer is in progress, prior to calling the Quit method.

See Also Abort (

768)

Disconnect (

2355)

Internet Direct (Indy) Version 10.1.5

797

TIdFTP Class

Classes

TIdFTP.Quote Method Implements execution of FTP commands not directly supported in this component. Pascal function Quote( const ACommand: String ): SmallInt; Parameters Parameters

Description

ACommand

FTP command to be executed.

Returns SmallInt - Result code from the FTP operation. Description Quote is a SmallInt function that implements execution of the literal FTP command specified in ACommand, and returns the result code from the operation. Quote is used to allow FTP commands that are site ( 803)-specific or not implemented by the TIdFTP ( 759) component. For example, Quote is used in TIdFTP (

759) to perform the FTP REST command.

Quote executes the string literal in ACommand using the inherited SendCmd (

2360) method.

TIdFTP.ReInitialize Method Clears the account and settings for the FTP client. Pascal procedure ReInitialize( ADelay: Cardinal = 10 ); Parameters Parameters

Description

ADelay

Default value is 10.

Description ReInitialize is a procedure that performs the FTP REIN command for a Connected ( the current Account ( 812) and settings for the FTP client.

2353) FTP client. ReInitialize is used to clear

All TIdFTP ( 759) properties are reset to the default values, and the control channel is left open. This is identical to the client state immediately after the control channel is opened using Connect ( 771). ReInitialize will pause for the number of milliseconds specified in ADelay prior to sending the FTP REIN command. ReInitialize clears the value in the LoginMsg ( 822) property. Exisiting collection items in the DirectoryListing ( cleared. Passive ( 825), TransferType ( 829), and CanResume ( 814) are reset to their default values. ReInitialize also sets the Username ( 833) and Password ( normally call the Login ( 792) method after using ReInitialize.

818) collection are

826) properties to empty string values. An application should

See Also Connect ( Login (

771) 792)

TIdFTP.RemoveDir Method Removes a directory on the FTP server. 798

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Pascal procedure RemoveDir( const ADirName: string ); Parameters Parameters

Description

ADirName

Directory to be removed.

Description RemoveDir is a procedure used to request that the directory in ADirName be removed from the FTP server file hierarchy. RemoveDir sends the FTP RMD command using the argument in ADirName to remove the requested directory. ADirName can contain either an absolute or relative path name on the remote file system. In general, FTP server implementation will not allow the client to remove the root directory or top-level directory on the remote file system. Some FTP servers do not allow users to remove directory entries when their permissions are not sufficient for the operation. Use Delete (

773) to remove files from the FTP server file system.

See Also Delete (

773)

TIdFTP.Rename Method Change the name of a file on the FTP server file system. Pascal procedure Rename( const ASourceFile: string; const ADestFile: string ); Parameters Parameters

Description

ASourceFile

Original file name.

ADestFile

New file name.

Description Rename is a procedure used to change the name of an existing file on the remote file system. ASourceFile specifies the existing file name. ADestFile is the new name to use for the remote file. Both ASourceFile and ADestFile allow use of absolute or relative path names in the argument values. If path information is not found in the argument values, the current directory on the remote file system is assumed. Rename calls SendCmd (

2360) using the FTP commands RNFR and RNTO in succession to perform the rename file operation.

See Also SendCmd (

2360)

TIdFTP.ResumeSupported Method Indicates if the server implements the FTP REST command. Pascal function ResumeSupported: Boolean; Returns Boolean - True when restart markers are supported. Internet Direct (Indy) Version 10.1.5

799

TIdFTP Class

Classes

Description ResumeSupported is a Boolean function used as the read access specifier for the CanResume ( the FTP server implements the FTP REST command.

814) property, and indicates if

ResumeSupported calls the Quote ( 798) method using the FTP command literal 'REST 1' to determine if the capability is supported in the FTP server implementation, and calls Quote ( 798) using the command 'REST 0' to disable the test. When ResumeSupported returns True, the FTP server allows restart markers for file transfer. ResumeSupported is examined in Get ( specified restart marker.

783) to determine if the FTP REST command is needed to resume file retrieval at a

See Also Get (

783)

CanResume (

814)

TIdFTP.RetrieveCurrentDir Method Gets the current directory name on the FTP server. Pascal function RetrieveCurrentDir: string; Returns String - Current directory name. Description RetrieveCurrentDir is a String function that returns the name of the present working directory, or current directory, on the FTP server. RetrieveCurrentDir sends the FTP PWD command to retrieve the server response with the present working directory information. The return value for RetrieveCurrentDir will contain the current directory name with leading and trailing quote ( removed. Use ChangeDir (

769) or ChangeDirUp (

798) (") characters

770) to select the current directory by path or relative position in the directory hierarchy.

Example [Delphi] AFtp.ChangeDirUp; CurDirEdit.Text := AFtp.RetrieveCurrentDir; AFtp.List; See Also ChangeDir (

769)

ChangeDirUp (

770)

TIdFTP.SetCMDOpt Method Specifies the behavior to appply to a subsequent FTP command. Pascal procedure SetCMDOpt( const ACMD: String; const AOptions: String ); Parameters Parameters

Description

ACMD

Command to be affected by the options.

800

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

AOptions

Options to be applied for the FTP session.

Description SetCMDOpt is a procedure used to implement support for the FTP OPTS command, as described in the Internet Standards document: RFC 2389 - Feature negotiation mechanism for the File Transfer Protocol SetCMSOpt allows the FTP client to specify the desired behavior of an FTP server when the command in ACMD is subsequently issued. The exact behavior, and syntax, will vary with the target command indicated, and will be specified with the definition of that command. Where no OPTS behavior is defined for a particular command there are no options available for that command. The OPTS command should be implemented whenever the FTP FEAT command is implemented on the remote FTP server. Because of that, there is no indication in the Capabilities ( 690) property to indicate that the OPTS command itself is supported. SetCMSOpts sends the FTP OPTS command using the values in ACMD and AOptions as arguments. The numeric response code 200 is exepected to indicate successful completion of the FTP command.

TIdFTP.SetLang Method Requests greeting and textual responses in the spcified language. Pascal procedure SetLang( const ALangTag: String ); Parameters Parameters

Description

ALangTag

Language tag for the FTP client.

Description SetLang is a procedure used to implement negotiated language support for greeting and error messages on the the FTP server. Use SetLang to indicate which language to present server greetings and the textual part of command responses. ALangTag contains one of the language tags defined in RFC 1766. If ALangTag contains an empty string, the sever should use the default language for the server implementation. Greetings and responses issued prior to language negotiation are also in the server's default language. The SetLang method affects only presentation of greeting messages and explanatory text associated with command responses. No attempt should be made by the server to translate protocol elements (FTP commands and numeric responses) or data transmitted over the data connection. Commands and numeric responses in the FTP protocol are unaffected by language support on the FTP server. SetLang sends the FTP LANG command using the value in ALabgTag as an argument. An FTP client may issue the LANG command at any time during an FTP session. In order to gain the full benefit of this command, it should be presented prior to authentication. Please note that most FTP servers do not implement support for the FTP LANG command. Use the IsExtSupported ( LangsSupported ( 820) methods to determine if language support appears the Capabilties for the remote FTP server.

788) or

See Also Connect ( Login (

771) 792)

Capabilities (

690)

IsExtSupported ( LangsSupported (

788) 820)

Internet Direct (Indy) Version 10.1.5

801

TIdFTP Class

Classes

TIdFTP.SetModTime Method Sets the last modification time for the specified file. Pascal procedure SetModTime( const AFileName: String; const ALocalTime: TIdDateTime ); Parameters Parameters

Description

AFileName

File name to update on the remote file system.

ALocalTime

Time value to use as the last modification time.

Description SetModTime is a procedure that implements support for the FTP extension command that updates the last modification time for the specified file. AFileName is the file name on the remote FTP server file system, and can contain absolute or relative path information. When path information is omitted, the file must be located in the current directory on the remote file system. ALocalTime is the native date and time value to use as the last modification time for the specified file. ALocalTime contains the last modification time expressed in the timezone for the local FTP client. SetModTime sends the FTP MFMT command using the value in ALocalTime converted to the GMT (UTC) timezone to perform the update for the specified file name. Some FTP servers have inappropriately implemented this capability using the MDTM command. While this is considered an abuse of the MDTM implementation, TIdFTP ( 759) will revert to using this mechanism when the server does not implement the MFMT extension command. In this situation, the value in TZInfo ( 831) may also be used when the MDTM implementation does not support the MDTM YYYYMMDDHHMMSS[+-TZ ( 4765)] format. Use SetModTimeGMT (

802) to update the last modification time using a time value expressed in the GMT (UTC) timezone.

Use the Capabilities ( 690) property or the IsExtSupported ( commands are supported in the FTP server implementation.

788) method to determine if the FTP MFMT or MDTM extension

See Also SetModTimeGMT ( Capabilities (

802)

690)

IsExtSupported (

788)

TIdFTP.SetModTimeGMT Method Sets the last modification time for the specified file. Pascal procedure SetModTimeGMT( const AFileName: String; const AGMTTime: TIdDateTime ); Parameters Parameters

Description

AFileName

File name to update on the remote file system.

AGMTTime

Time value to use as the last modification time.

Description SetModTimeGMT is a procedure that implements support for the FTP extension command that updates the last modification time for the specified file. 802

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

AFileName is the file name on the remote FTP server file system, and can contain absolute or relative path information. When path information is omitted, the file must be located in the current directory on the remote file system. ALocalTime is the native date and time value to use as the last modification time for the specified file. ALocalTime contains the last modification time expressed in the GMT (UTC) timezone. SetModTimeGMT sends the FTP MFMT command using the value in ALocalTime to perform the update for the specified file name. Some FTP servers have inappropriately implemented this capability using the MDTM command. While this is considered an abuse of the MDTM implementation, TIdFTP ( 759) will revert to using this mechanism when the server does not implement the MFMT extension command. In this situation, the value in TZInfo ( 831) may also be used when the MDTM implementation does not support the MDTM YYYYMMDDHHMMSS[+-TZ ( 4765)] format. Use SetModTime (

802) to update the last modification time using a time value expressed in the FTP client's timezone.

Use the Capabilities ( 690) property or the IsExtSupported ( commands are supported in the FTP server implementation.

788) method to determine if the FTP MFMT or MDTM extension

See Also SetModTime (

802)

Capabilities (

690)

IsExtSupported (

788)

TIdFTP.Site Method Sends an FTP server site command. Pascal procedure Site( const ACommand: string ); Parameters Parameters

Description

ACommand

Command Server site command to perform.

Description Site is a procedure used to send a site-specific FTP command directly to the FTP server. Site is used by an FTP server to provide services specific to the host system that are essential to file transfer, but not sufficiently universal to be included as commands in the FTP protocol. Site sends the FTP SITE command and the argument specified in ACommand to the server. The server response can be accessed using the LastCmdResult ( 2367) property. Use the FTP HELP SITE command to discover the commands and syntax requirements for the specific FTP server. See Also Help (

787)

SendCmd (

2360)

TIdFTP.SiteToSiteDownload Method Implements site (

803)-to-site (

803) (or FXP) data transfers.

Pascal procedure const const const );

SiteToSiteDownload( AFromSite: TIdFTP; ASourceFile: String; ADestFile: String = ''

Internet Direct (Indy) Version 10.1.5

803

TIdFTP Class

Classes

Parameters Parameters

Description

AFromSite

FTP client with the connection for the sending FTP server.

ASourceFile

file name on the sending FTP server.

ADestFile

file name on the receiving FTP server.

Description SiteToSiteDownload is a procedure that implements support for FTP site (

803)-to-site (

803) (or FXP) data transfers.

AFromSite contains the connection to the FTP server hosting the file specified in ASourceFile. ASourceFile contains the file name on the sending FTP server, and can contain optional absolute or relative path information. ADestFile contains the file name on the receiving FTP server, and can contain optional absolute or relative path information. When ADestFile is omitted, the file name in ASourceFile is used as the file name on the receiving FTP server. In SiteToSiteDownload, the FTP client is the connection to the FTP server that receives and stores the data transferred in the file indicated by ADestFile. SiteToSiteDownload supports the use of TLS (Transport Layer Security) when initializing the data channels in the source and destination FTP servers. SiteToSiteDownload uses the FTP PORT command (or EPRT when UsingExtDataPort ( 834) contains True) to instruct the receiving FTP server to actively listen for a data channel connection from the sending FTP server in AFromSite. When Passive ( 825) contains True, the actions are reversed and the receiving FTP server uses the FTP PASV command (or EPSV when UsingExtDataPort ( 834) contains True) to accept the connection from the sending server. During data transfer, SiteToSiteDownload uses the FTP STOR and RETR commands to begin the data transfer process on the receiving and sending FTP servers. Please note that not all FTP servers implement the FXP or Site ( Use SiteToSiteUpload (

803)-to-Site (

803) aspects of the FTP protocol.

804) to transfer data to a specified server using an exisiting server connection.

See Also SiteToSiteUpload ( UseTLS (

833)

Passive (

825)

804)

UsingExtDataPort (

834)

TIdFTP.SiteToSiteUpload Method Implements site (

803)-to-site (

803) (or FXP) data transfers.

Pascal procedure const const const );

SiteToSiteUpload( AToSite: TIdFTP; ASourceFile: String; ADestFile: String = ''

Parameters Parameters

Description

AToSite

FTP client with the connection for the receiving FTP server.

ASourceFile

file name on the sending FTP server.

ADestFile

file name on the receiving FTP server.

Description SiteToSiteUpload is a procedure that implements support for FTP site (

803)-to-site (

803) (or FXP) data transfers.

AToSite contains the connection to the FTP server receiving the file specified in ASourceFile. 804

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

ASourceFile contains the file name on the sending FTP server, and can contain optional absolute or relative path information. ADestFile contains the file name on the receiving FTP server, and can contain optional absolute or relative path information. When ADestFile is omitted, the file name in ASourceFile is used as the file name on the receiving FTP server. In SiteToSiteUpload, the FTP client is the connection to the FTP server that transfers the data in the file indicated by ASourceFile. SiteToSiteUpload supports the use of TLS (Transport Layer Security) when initializing the data channels in the source and destination FTP servers. SiteToSiteUpload uses the FTP PORT command (or EPRT when UsingExtDataPort ( 834) contains True) to instruct the receiving FTP server to actively listen for a data channel connection from the sending FTP server in AFromSite. When Passive ( 825) contains True, the actions are reversed and the receiving FTP server uses the FTP PASV command (or EPSV when UsingExtDataPort ( 834) contains True) to accept the connection from the sending server. During data transfer, SiteToSiteUpload uses the FTP STOR and RETR commands to begin the data transfer process on the receiving and sending FTP servers. Please note that not all FTP servers implement the FXP or Site ( Use SiteToSiteDownload (

803)-to-Site (

803) aspects of the FTP protocol.

803) to transfer data to a specified server using an exisiting server connection.

See Also SiteToSiteDownload ( UseTLS (

833)

Passive (

825)

UsingExtDataPort (

803)

834)

TIdFTP.Size Method Gets file size information from the FTP server. Pascal function Size( const AFileName: String ): Int64; Parameters Parameters

Description

AFileName

The file name on the remote file system.

Returns Integer - Size of the file, or -1 when unknown. Description Size is an Integer function used to retrieve file size information for the file specified in AFilename from the FTP server. Size sends the FTP SIZE command using AFilename as an argument. The return value for the method is -1 when file size information for the file name specified in AFilename cannot be determined. Example [Delphi] AFtp.ChangeDir('/public/images'); iAvailable := GetDiskSpace('D:'); iSize := AFtp.Size('image.jpg'); if (iSize -1) and (iSize < iAvailable) then begin AFtp.Get('image.jpg', 'd:tempimage.jpg', True); end;

Internet Direct (Indy) Version 10.1.5

805

TIdFTP Class

Classes

TIdFTP.Status Method Implements the FTP STAT command. Pascal procedure Status( AStatusList: TIdStrings ); Parameters Parameters

Description

AStatusList

Optional Status response lines from the server.

Description Status is a procedure used to get ( parameters and connection status.

783) a listing containing the status of the FTP operation in progress including transfer

Status responses are similiar to those in the List ( of the Data channel.

789) method, but response data is received using the Control channel instead

Status sends the the FTP STAT command, and returns the content of the server response in the AStatusList argument. See Also List (

789)

TIdFTP.StoreUnique Method Overload List Method TIdFTP.StoreUnique (string) (

Description 807)

TIdFTP.StoreUnique (TIdStream) ( 806)

Transfers local data to a uniquely named file on the FTP server. Transfers local data to a uniquely named file on the FTP server.

TIdFTP.StoreUnique Method (TIdStream) Transfers local data to a uniquely named file on the FTP server. Pascal procedure StoreUnique( const ASource: TIdStream ); overload; Parameters Parameters

Description

ASource

Stream containing the local content for the data transfer.

Description StoreUnique is an overloaded procedure used to upload the specified local content to a uniquely named file in the current directory of the remote FTP file system. StoreUnique is very similar to the Put ( 795) method, but does not accept arguments related to file naming or file append processing. ASource is a stream descendant with the local content to be transferred to the remote FTP server. StoreUnique sends the FTP STOU command to perform the data transfer using the specified local content. StoreUnique triggers the OnBeforePut event handler when it has been assigned for the FTP client. During execution, StoreUnique triggers execution of the OnStatus ( transfer is starting, has been completed, or has been aborted.

806

359) event handler using values that indicates then the

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

StoreUnique creates, initializes, and maintains the data channel used to perform the data transfer based on the values in the Passive ( 825), UsingExtDataPort ( 834), and TransferMode ( 808) properties. When Passive ( 825) contains False, the values in DataPort ( 816), DataPortMin ( used to bind listen for the active server connection for the data channel. StoreUnique triggers the OnDataChannelCreate (

817), and DataPortMax (

816) are also

837) event handler after creating (but prior to connecting) the data channel.

During transmission, StoreUnique uses the current value in the TransferMode ( 808) property to determine if the Compressor ( 815) property is used perfrom "Deflate" compression for values written on the IOHandler ( 2364) for the data channel. The value dmDefalte indicates that MODE Z is used for the data transfer. StoreUnique triggers the OnDataChannelDestroy (

838) event handler after closing (but prior to freeing) the data channel.

StoreUnique triggers the OnAfterPut event handler when it has been assigned for the FTP client. Use Abort (

768) to cancel an executing data transfer request.

Use KillDataChannel (

789) to force the data channel for the FTP session to be closed.

See Also StoreUnique

TIdFTP.StoreUnique Method (string) Transfers local data to a uniquely named file on the FTP server. Pascal procedure StoreUnique( const ASourceFile: string ); overload; Parameters Parameters

Description

ASourceFile

File containing the local content for the data transfer.

Description StoreUnique is an overloaded procedure used to upload the specified local content to a uniquely named file in the current directory of the remote FTP file system. StoreUnique is very similar to the Put ( 795) method, but does not accept arguments related to file naming or file append processing. ASourceFile specifies a file name for the local content to be transferred to the remote FTP server. StoreUnique sends the FTP STOU command to perform the data transfer using the specified local content. StoreUnique triggers the OnBeforePut event handler when it has been assigned for the FTP client. During execution, StoreUnique triggers execution of the OnStatus ( transfer is starting, has been completed, or has been aborted.

359) event handler using values that indicates then the

StoreUnique creates, initializes, and maintains the data channel used to perform the data transfer based on the values in the Passive ( 825), UsingExtDataPort ( 834), and TransferMode ( 808) properties. When Passive ( 825) contains False, the values in DataPort ( 816), DataPortMin ( used to bind listen for the active server connection for the data channel. StoreUnique triggers the OnDataChannelCreate (

817), and DataPortMax (

816) are also

837) event handler after creating (but prior to connecting) the data channel.

During transmission, StoreUnique uses the current value in the TransferMode ( 808) property to determine if the Compressor ( 815) property is used perfrom "Deflate" compression for values written on the IOHandler ( 2364) for the data channel. The value dmDefalte indicates that MODE Z is used for the data transfer. StoreUnique triggers the OnDataChannelDestroy (

838) event handler after closing (but prior to freeing) the data channel.

StoreUnique triggers the OnAfterPut event handler when it has been assigned for the FTP client. Use Abort (

768) to cancel an executing data transfer request.

Internet Direct (Indy) Version 10.1.5

807

TIdFTP Class

Classes

Use KillDataChannel (

789) to force the data channel for the FTP session to be closed.

See Also StoreUnique

TIdFTP.StructureMount Method Mounts a file system data structure for the FTP client. Pascal procedure StructureMount( APath: String ); Parameters Parameters

Description

APath

Directory or file system structure to be loaded.

Description StructureMount is a procedure that implement the FTP SMNT command, and allows the client to mount a different file system data structure without altering his login ( 792) or accounting information. APath is the pathname specifying a directory or other system dependent file group designator. StructureMount calls SendCmd (

2360) using the SMNT command and the argument in APath to perform the requested command.

See Also SendCmd (

2360)

TIdFTP.TransferMode Method Specifies the transmission mode for the data channel. Pascal procedure TransferMode( ATransferMode: TIdFTPTransferMode ); Parameters Parameters

Description

ATransferMode

Transfer mode for the connection.

Description TransferMode is a procedure used to implement support for the FTP MODE command. TransferMode sends the FTP MODE command using the character representation of the TIdFTPTransferMode ( specified in ATransferMode as an argument. TransferMode has no effecet if the client is not Connected (

2952) value

2353).

When TransferMode contains the value dmDeflate, the object instance in Compressor ( 815) is used perform "deflate ( "MODE Z" compression and decompression during data transfers in Get ( 783) and Put ( 795). Use TransferType (

2765)" or

829) to indicate if the data transfer is for ASCII or binary data.

See Also TransferType (

829)

FileStructure (

782)

Compressor (

815)

808

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

TIdFTP.VerifyFile Method Overload List Method

Description

TIdFTP.VerifyFile (String, String, Int64, Compares all or part of the specified local and remote files for verified transfer Int64) ( 809) integrity. TIdFTP.VerifyFile (TIdStream, String, Compares all or part of the specified local and remote files for verified transfer Int64, Int64) ( 810) integrity.

TIdFTP.VerifyFile Method (String, String, Int64, Int64) Compares all or part of the specified local and remote files for verified transfer integrity. Pascal function VerifyFile( const ALocalFile: String; const ARemoteFile: String; const AStartPoint: Int64 = 0; const AByteCount: Int64 = 0 ): Boolean; overload; Parameters Parameters

Description

ALocalFile

Name of the file on the local file system.

ARemoteFile

Name of the file on the remote FTP server.

AStartPoint

Initial position for comparing the local and remote files. Default value is 0.

AByteCount

Number of bytes to use for the checksum calculation. Default value is 0.

Returns Boolean - True when the local and remote files are the same. Description VerifyFile is an overloaded method used to compare all or part the contents of the specified local and remote files as part of the extensibility features for verified transfer integrity. VerifyFile can be used to determine the integrity of a file transfer using one of the following checksum algorithms:

Algorithm

Description

XSHA

SHA-1 checksum

XMD5

MD5 checksum

XCRC

CRC (

772)-32 checksum

One of the algorithms must be listed in the Capabilities ( value on the remote FTP server.

690) for the FTP server, or VerifyFile cannot determine the checksum

VerifyFile selects the algorithm using the following preferred order:

XSHA XMD5 XCRC Internally, VerifyFile uses an instance of TIdHashMessageDigest5 ( 1021), TIdHashSHA1 ( 1022), or TIdHashCRC32 ( to calculate the checksum value for the contents of the local file using the ALocalFile argument.

Internet Direct (Indy) Version 10.1.5

1013)

809

TIdFTP Class

Classes

AStartPoint indicates the initial position in the files to use when calculating the checksum values. When AStartPoint contains 0 (zero) or a positive Integer value, the stream in ALocalFile is positioned to to that location prior to starting the checksum calculation. AByteCount indicates the number of bytes to include when performing the checksum calculation. The default value is 0, and indicates that the byte count should be derived from the size ( 805) of the stream for the local file and the initial position indicated in AStartPoint. VerifyFile calls an overloaded variant of the method to build and send an FTP command using an algorithm name and arguments as required for the operation. The checksum value from the remote FTP server is captured and compared to the value calculated for the local file. VerifyFile returns True when the local checksum and the remote checksum values are the same. VerifyFile returns False when the checksum values are not the same, or when the capability is not supported on the remote FTP server. Use SupportsVerification (

828) to determine if the FTP server support the extensibility feature.

See Also VerifyFile SupportsVerification ( Capabilities (

828)

690)

TIdFTP.VerifyFile Method (TIdStream, String, Int64, Int64) Compares all or part of the specified local and remote files for verified transfer integrity. Pascal function VerifyFile( ALocalFile: TIdStream; const ARemoteFile: String; const AStartPoint: Int64 = 0; const AByteCount: Int64 = 0 ): Boolean; overload; Parameters Parameters

Description

ALocalFile

Stream with the content for the local file.

ARemoteFile

Name of the file on the remote FTP server.

AStartPoint

Initial position for comparing the local and remote files. Default value is 0.

AByteCount

Number of bytes to use for the checksum calculation. Default value is 0.

Returns Boolean - True when the local and remote files are the same. Description VerifyFile is an overloaded method used to compare all or part the contents of the specified local and remote files as part of the extensibility features for verified transfer integrity. VerifyFile can be used to determine the integrity of a file transfer using one of the following checksum algorithms:

Algorithm

Description

XSHA

SHA-1 checksum

XMD5

MD5 checksum

XCRC

CRC (

772)-32 checksum

One of the algorithms must be listed in the Capabilities ( value on the remote FTP server.

690) for the FTP server, or VerifyFile cannot determine the checksum

VerifyFile selects the algorithm using the following preferred order:

810

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

XSHA XMD5 XCRC Internally, VerifyFile uses an instance of TIdHashMessageDigest5 ( 1021), TIdHashSHA1 ( 1022), or TIdHashCRC32 ( to calculate the checksum value for the contents of the local file using the ALocalFile argument.

1013)

AStartPoint indicates the initial position in the files to use when calculating the checksum values. When AStartPoint contains 0 (zero) or a positive Integer value, the stream in ALocalFile is positioned to to that location prior to starting the checksum calculation. AByteCount indicates the number of bytes to include when performing the checksum calculation. The default value is 0, and indicates that the byte count should be derived from the size ( 805) of the stream for the local file and the initial position indicated in AStartPoint. VerifyFile builds and sends an FTP command using an algorithm name and arguments as required for the operation. The checksum value from the remote FTP server is captured and compared to the value calculated for the local file. VerifyFile returns True when the local checksum and the remote checksum values are the same. VerifyFile returns False when the checksum values are not the same, or when the capability is not supported on the remote FTP server. Use SupportsVerification (

828) to determine if the FTP server support the extensibility feature.

See Also VerifyFile SupportsVerification ( Capabilities (

828)

690)

TIdFTP Properties The Properties of the TIdFTP class are listed here. Properties Property

Description

Account (

812)

AUTHCmd (

Account information for the remote FTP Server.

812)

AutoLogin (

Indicates the mechanism to use when performing authentication when logging into the FTPO server.

813)

CanResume ( ClientInfo (

Indicates the FTP client should automatically login ( 814)

814)

Compressor (

792) when the FTP server connection is opened.

803) supports FTP Resume operations.

Additional information about the FTP client software, revision, and platform for the FTP CLNT command.

815)

Implements a compression/decompression engine for FTP MODE Z deflate (

CurrentTransferMode ( DataPort (

Indicates the FTP site (

815)

816)

Indicates the current or efective settings for the TransferMode ( exchanges.

2765) transmissions.

808) property during FTP protocol

Indicates the port number to use when binding the data channel for the FTP client session.

DataPortMax (

816)

DataPortMin (

817)

Indicates the upper limit for port numbers allowed when binding an active data channel for the FTP client. Indicates the lower limit for port numbers allowed when binding an active data channel for the FTP client.

DataPortProtection (

817)

Indicates the level of security required for data channel connections in the FTP client.

DirectoryListing (

818)

Container for a structured file and directory listing.

DirFormat ( ExternalIP ( Host (

819)

Identifies the directory listing format detected when parsing values in DirectoryListing (

819)

818).

Specifies the IP address used when the client sends the FTP PORT or EPRT commands behind a NAT-based firewall.

820)

Represents the IP address or host name for the remote FTP server.

LangsSupported ( ListParserClass (

820)

821)

ListResult (

821)

LoginMsg (

822)

OnAfterClientLogin (

Represents a class reference for the directory listing parser used to create ( DirectoryListing ( 818) property.

267) collection items in the

Textual form of the directory listing returned by an FTP server. Server response sent after authenticating the client connection. 822)

OnCustomFTPProxy ( OnDirParseEnd (

Represents the supported languages on the server.

823)

824)

Internet Direct (Indy) Version 10.1.5

Event handler signalled following completion of the FTP protocol exchange used to authenticate the client connection. Event handler signalled to implement support for custom FTP proxy servers. Event handler signalled when a textual directory listing has been parsed into its structured form.

811

TIdFTP Class

Classes

OnDirParseStart (

824)

OnRetrievedDir ( Passive (

Event handler signalled when text for a directory listing has been retrieved from the FTP server.

825)

Password ( Port (

Event handler signalled prior to parsing a textual directory listing into its structured form.

825)

Indicates the FTP data channel connection method.

826)

Authentication credentials used when logging into the FTP server.

826)

Port number for the control channel connection to the remote FTP server.

ProxySettings (

827)

ReadTimeout (

828)

Indicates the settings to use for connections opened using an FTP proxy server. Number of milliseconds to wait for an FTP protocol response.

SupportsVerification ( SystemDesc (

Description of the remote FTP server.

829)

Timeout value for read operations on the data channel for the FTP client.

829)

TryNATFastTrack ( TZInfo (

Indicates if the FTP server supports one of the extensibility features for verified transfer integrity.

829)

TransferTimeout ( TransferType (

828)

Indicates the file transfer type.

830)

Indicates use of "fast path" connections for traversing firewalls and NATs.

831)

UseCCC (

Provides access to timezone information for the remote FTP server.

831)

Indicates if use of the Clear Command Channel (CCC) command is required for the FTP client.

UseExtensionDataPort ( UseMLIS (

Indicates if IPv6 extensions for Port ( exchanges.

832)

Username ( UseTLS (

832)

Indicates if the FTP MLST (

833)

825) settings are used in FTP protocol

4354) and MLSD commands are used for directory listings.

Authentication identity used when logging in to the FTP server.

833)

Indicates Transport-Level Security is used on the connection.

UsingExtDataPort (

834)

UsingNATFastTrack ( UsingSFTP (

826) and Passive (

Indicates if RFC 2428 NAT Extensions are available for the FTP client session.

834)

Indicates if "fast path" connections are in use for the FTP client.

834)

Indicates if a secure FTP connection is in use for the client session.

Legend Property read only

TIdFTP.Account Property Account information for the remote FTP Server. Pascal property Account: string; Description Account is a String property that represents the account information to use for the connection to the remote FTP server. Account is used to provide additional login ( 792) information for the FTP Server, in addition to the login ( 792) information sent by the Login ( 792) and Connect ( 771) methods. Account can be used when the FTP response codes 332 or 532 are received in a reply to an FTP commands. Historically, Account is a Telnet string identifying the user's account. The command is not necessarily related to the USER command, as some sites may require an account for login ( 792) and others only for specific access, such as storing files. If account information is not required for Login ( 792), the response code is 230; and if the account information is needed for a command issued later in the dialogue, the server should return a 332 or 532 reply depending on whether it stores (pending receipt of the Account command) or discards the command, respectively. Account is used as an argument when sending the FTP ACCT command for FTP servers that support the feature. Use the OnNeedAccount (

838) evenmt handler to derive a value for the Account property using session or context information.

See Also Login (

792)

Connect (

771)

OnNeedAccount (

838)

TIdFTP.AUTHCmd Property Indicates the mechanism to use when performing authentication when logging into the FTPO server. 812

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Pascal property AUTHCmd: TAuthCmd; Description AUTHCmd is a TAuthCmd ( 2940) property that indicates the mechanism to use when performing authentication in the Login ( 792) method. The value in AUTHCmd determines the argument used with the FTP AUTH command in the TLS handshake protocol exchange. The default value for AUTHCmd is DEF_Id_FTP_AUTH_CMD (

3186), as assigned during initialization of the component.

Value

Meaning

tAuto

TLS support is determined by trying each of the valid AUTHCmd values.

tAuthTLS

Implies TLS using a clear data port.

tAuthSSL

Implies TLS using a private data port.

tAuthTLSC

Implies TLS using a clear data port.

tAuthTLSP

Implies TLS using a private data port.

The value tAuto can be used when connecting to a server that does not allow the FTP FEAT command required for negotiated TLS support until completion of the Login ( 792) protocol exchange. In addition, some servers use AUTH TLS while others use AUTH SSL. So multiple AUTH commands may be tries to determine the servers level of support. When a value other than tAuto is found in AUTHCmd, only the specified Authentication method will be tried.

TIdFTP.AutoLogin Property Indicates the FTP client should automatically login (

792) when the FTP server connection is opened.

Pascal property AutoLogin: Boolean; Description AutoLogin is a Boolean property that indicates if the FTP client should automatically perform a login ( FTP session is established in the Connect ( 771) method. Any property settings required to create ( 267) the FTP session and to perform the login ( calling Connect ( 771), and typically includes the following:

Host (

820)

Port (

826)

ClientInfo ( UseTLS (

792) sequence when the

792) sequence must be set prior to

814) 833)

ProxySettings (

827)

The default value for AutoLogin is True, as assigned during initialization of the component. Change the value in AutoLogin to False to allow performing login ( 792) actions for problematic or non-conformant FTP servers. Use the Login ( 792) method to perform the login ( ClientInfo ( 814) when AutoLogin contains False.

792) sequence using value in Username (

833), Password (

826), and

See Also Connect ( Host (

771)

820)

Internet Direct (Indy) Version 10.1.5

813

TIdFTP Class Port (

Classes

826)

Username (

833)

Password (

826)

ClientInfo (

814)

UseTLS (

833)

ProxySettings (

827)

TIdFTP.CanResume Property Indicates the FTP site (

803) supports FTP Resume operations.

Pascal property CanResume: Boolean; Description CanResume is a read-only Boolean property that indicates the FTP site ( 803) supports FTP Resume operations. When the FTP server supports resume, you can use the Get ( 783) method to resume a previously aborted download. If the FTP server does not support resume, the file has to be retrieved start at the beginning of the file. CanResume is implemented using the ResumeSupported ( 799) property for read access, and will normally be updated only once per FTP client session by testing the results of the FTP REST command. See Also Get (

783)

Quote (

798)

TIdFTP.ClientInfo Property Additional information about the FTP client software, revision, and platform for the FTP CLNT command. Pascal property ClientInfo: TIdFTPClientIdentifier; Description ClientInfo is a TIdFTPClientIdentifier ( 845) property that represents additional information that can be provided about the FTP client when performing authentication in the Login ( 792) method. This includes the name of the client software, and optional software revision and platform identifiers. Values in ClientInfo are used when the FTP server supports the extended FTP CLNT command (as indicated in the Capabilities ( 690) property). ClientInfo value are sent using the FTP CLNT command in the Login ( 792) method following negotiations for TLS security and proxy server authentication using values in ProxySettings ( 827). Set values in ClientInfo prior to calling Connect (

771), or using the Login (

792) method when AutoLogin (

813) contains False.

Resources for the ClientInfo property are allocated during initialization of the component, and freed in the Destroy (

774) method.

See Also TIdFTPClientIdentifier ( Capabilities ( Destroy ( Login (

690) Connect (

771)

774) 792)

ProxySettings ( UseTLS (

814

845)

827)

833)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

TIdFTP.Compressor Property Implements a compression/decompression engine for FTP MODE Z deflate (

2765) transmissions.

Pascal property Compressor: TIdZLibCompressorBase; Description Compressor is a TIdZLibCompressorBase ( 2634) property that implements support for compression and decompression of data using the "deflate ( 2765)" transmission mode, as described in the Internet Draft "Deflate transmission mode for FTP". In deflate ( 2765) transmission mode, data is compressed and transmitted as a stream of octets (8 bit bytes). The sender and receiver rely on a compression engine to perform compression operations (deflate ( 2765)/inflate ( 2834)) and maintain state. The compression engine generates a unique data stream using the ZLIB compressed data format specified in RFC 1950. FTP servers can indicate that they support use of the Deflate tramsmission mode by including "MODE Z" as part of a the FEAT response sent during login ( 792) to the FTP sever. TIdFTP ( 759) uses the Capabilities ( 690) property to look for the FEAT response. Please note that not all FTP server implementations support MODE Z deflate ( 2765) transmission mode. Applications must assign a TIdZLibCompressorBase ( 2634) or descendant object instance to Compressor to allow use of the ZLib "Deflate" transmission mode. Any resource allocated to Compressor will be freed in the destructor for the FTP client. Compressor is used internally in the implementation of the FTP GET and PUT commands when the TransferMode ( 808) property contains the value dmDeflate. During processing for the PUT command, data is compressed prior to transmission using the object instance in Compressor. During processing for the GET command, data is decompressed after receipt using the object instance in Compressor. See Also TIdZLibCompressorBase ( Destroy (

2634)

774) TransferMode (

Get (

783)

Put (

795)

Capabilities (

808)

690)

TIdFTP.CurrentTransferMode Property Indicates the current or efective settings for the TransferMode (

808) property during FTP protocol exchanges.

Pascal property CurrentTransferMode: TIdFTPTransferMode; Description CurrentTransferMode is a TIdFTPTransferMode ( 2952) property that indicates the current transfer mode in use for the FTP client session. During the course of an FTP session, the FTP MODE command may be used to reset the effective transfer mode for the control channel or the data channel based on use of arguments to the FTP commands. CurrentTransferMode tracks the current transfer mode state based on these protocol exchanges. CurrentTransferMode is used during processing for the Get ( 783) and Put ( 795) methods to determine when streaming transfer mode and deflate ( 2765) transfer mode (MODE Z) are required during use of the Compressor ( 815) property. Applications do not normally assign values to CurrentTransferMode, but can read the current value to determine if FTP protocol exchanges have altered the initial TransferMode ( 808) value. See Also TransferMode ( Get (

808)

783)

Internet Direct (Indy) Version 10.1.5

815

TIdFTP Class Put (

Classes

795)

Compressor (

815)

TIdFTP.DataPort Property Indicates the port number to use when binding the data channel for the FTP client session. Pascal property DataPort: Integer; Description DataPort is an Integer property that indicates the port number to use when binding the data channel for the FTP client session. The default value for the DataPort property is 0 (zero), and indicates that the data port is assigned when the data channel connection is bound. DataPort is used in internal processing for both the Get ( 783) and Put ( 795) methods to create ( 267) a data channel that actively listens for a server connection (when Passive ( 825) contains False). FTP clients will send the FTP PORT command, or the PBSZ and PROT commands when UsingExtDataPort ( 834) indicates extended port protection features are enabled for the server. Use DataPortMin ( 817) and DataPortMax ( an accepted range of values.

816) when proxy servers or firewalls require values in the DataPort property to be in

See Also DataPortMin (

817)

DataPortMax ( Passive (

816)

825)

Get (

783)

Put (

795)

UsingExtDataPort (

834)

TIdFTP.DataPortMax Property Indicates the upper limit for port numbers allowed when binding an active data channel for the FTP client. Pascal property DataPortMax: Integer; Description DataPortMax is an Integer property that indicates the upper limit for port numbers allowed when binding the data channel for the FTP client session. The default value for the DataPort ( connection is bound.

816) property is 0 (zero), and indicates that the data port is assigned when the data channel

The default value for DataPortMax is 0, as assigned during initialization of the component, and indicates that an upper limit is not used for port selection. Use DataPortMin (

817) to indicate the lower limit for automatic port number selection.

Both DataPortMin ( 817) and DataPortMax are used in internal processing for the Get ( 783) and Put ( 795) methods to create ( 267) a data channel that actively listens for a server connection (when Passive ( 825) contains False). FTP clients will send the FTP PORT command, or the PBSZ and PROT commands when UsingExtDataPort ( 834) indicates extended port protection features are enabled for the server. DataPortMin ( 817) and DataPortMax are useful when a proxy server, firewall, or NAT requires values in the DataPort ( property to be in an accepted range of values. 816

816)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

See Also DataPort (

816)

DataPortMin ( Get (

783)

Put (

795)

817)

ProxySettings (

827)

TIdFTP.DataPortMin Property Indicates the lower limit for port numbers allowed when binding an active data channel for the FTP client. Pascal property DataPortMin: Integer; Description DataPortMin is an Integer property that indicates the lower limit for port numbers allowed when binding the data channel for the FTP client session. The default value for the DataPort ( connection is bound.

816) property is 0 (zero), and indicates that the data port is assigned when the data channel

The default value for DataPortMin is 0, as assigned during initialization of the component, and indicates that a lower limit is not used for port selection. Use DataPortMax (

816) to indicate the upper limit for automatic port number selection.

Both DataPortMin and DataPortMax ( 816) are used in internal processing for the Get ( 783) and Put ( 795) methods to create ( 267) a data channel that actively listens for a server connection (when Passive ( 825) contains False). FTP clients will send the FTP PORT command, or the PBSZ and PROT commands when UsingExtDataPort ( 834) indicates extended port protection features are enabled for the server. DataPortMin and DataPortMax ( 816) are useful when a proxy server, firewall, or NAT requires values in the DataPort ( property to be in an accepted range of values.

816)

See Also DataPort (

816)

DataPortMax ( Get (

783)

Put (

795)

ProxySettings (

816)

827)

TIdFTP.DataPortProtection Property Indicates the level of security required for data channel connections in the FTP client. Pascal property DataPortProtection: TIdFTPDataPortSecurity; Description DataPortProtection is a TIdFTPDataPortSecurity ( connections in the FTP client.

2950) property that indicates the level of security required for data channel

DataPortProtection is used during processing in the Get ( 783) and Put ( 2364) required for the data channel that performs data transfer operations.

795) methods to determine the type of IOHandler (

When DataPortProtection contains the value ftpdpsPrivate, an instance of TIdSSLIOHandlerSocketBase ( Internet Direct (Indy) Version 10.1.5

2134) is created during 817

TIdFTP Class

Classes

initializtion of the data channel to allow use of the SSL transport. For all other values in DataPortProtection, the default IOHandler ( 2364) is used for the data channel. The default value for DataPortProtection is Id_TIdFTP_DataPortProtection ( component.

3820), as assigned during initialization of the

See Also Get (

783)

Put (

795)

IOHandler (

2364)

KillDataChannel (

789)

TIdSSLIOHandlerSocketBase (

2134)

TIdFTP.DirectoryListing Property Container for a structured file and directory listing. Pascal property DirectoryListing: TIdFTPListItems; Description DirectoryListing is a read-only TIdFTPListItems ( 857) property that implements a container for TIdFTPListItem ( created from the result values for the List ( 789) or Status ( 806) methods.

851) instances

DirectoryListing provides a structured means of accessing data about files and directories returned from the FTP LIST, NLST ( 4358), MLST ( 4354), MLSD, or STAT commands. Items stored in the DirectoryListing container are always cleared prior to adding the values returned by the List ( 806) methods, or following use of the Reinitialize ( 798) method.

789) or Status (

Accessing values in the DirectoryListing property causes the DirectoryListing property to be initialized (if it has not previously been assigned), and triggers the OnCreateFTPList ( 836) event handler to indicate the condition. In addition, accessing values the DirectoryListing property causes the textual directory listing to be parsed into its corresponding structured form. Traditionally, the FTP protocol did not specify a standardized format for file and directory listings in FTP server implementations. This was done to isolate file system dependencies on the FTP server, and probably contributed to the wide-spread acceptance and implementation of the FTP protocol. But this approach also creates problems when we wish to use automated programs for processing files and directories using the FTP protocol. In recent years, enhancements have been proposed for the FTP protocol that allow for consistent yet extensible approach to directory and file listing formats. This has been implemented using the FTP FEAT command, and its corresponding MLST ( 4354) and MLSD features. The Indy library includes support for the MLST ( standard directory listing formats.

4354) and MLSD features, but also provides additional support for the defacto

Additional parsers are available that recognize the defacto directory listing formats used in approximately 30 different platforms and operating systems. To include additional parsers for listing formats, the unit containing the parser must be added to the project containing the FTP client. Each parser is automatically registered in the initialization section for the unit. Include the IdAllFTPListParsers.pas ( 4555) unit in your application to force all known FTP directory listing parsers to be included and registered. Accessing values stored in DirectoryListing also causes the textual values in ListResult ( 821) to be parsed using the capabilities of the registered parsers for the FTP client. By default, the NLST ( 4358) and MLST ( 4354) directory listing formats are registered for TIdFTP ( 759). Use ExtListDir ( 775) and ExtListItem ( 4354) or MLSD commands. 818

776) to access directory or file listings specifically generated using the FTP MLST (

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Use ListParserClass ( CheckListParseCapa ( Use DirFormat (

821) to access the class reference used to parse the directory format based on values updated in the 2736) function.

819) to access the identifier for the listing format detected while parsing the directory or file listing.

DirectoryListing can also be used in application code to populate GUI controls, like TTreeView or TListView, that display the results of an FTP directory operation. See Also TIdFTPListItems (

857)

TIdFTPListItem (

851)

List (

789)

Status (

806)

Reinitialize (

798)

OnCreateFTPList ( ListResult (

836)

821)

CheckListParseCapa ( ExtListDir ( ExtListItem ( DirFormat (

2736)

775) 776) 819)

TIdFTP.DirFormat Property Identifies the directory listing format detected when parsing values in DirectoryListing (

818).

Pascal property DirFormat: String; Description DirFormat is a read-only String property that identifies the directory listing format detected in the CheckListParseCapa ( 2736) function. DirFormat identifies the directory format for the parser used to populated the items in the DirectoryListing ( 818) property. Use ListParserClass ( property.

821) to access the class reference for the parser used to populate the values in the DirectoryListing (

818)

See Also CheckListParseCapa ( DirectoryListing (

818)

ListParserClass (

821)

2736)

TIdFTP.ExternalIP Property Specifies the IP address used when the client sends the FTP PORT or EPRT commands behind a NAT-based firewall. Pascal property ExternalIP: String; Description ExternalIP is a String property used to specify the IP address used when the client sends the FTP PORT or EPRT commands behind a NAT-based firewall. ExternalIP must contain a non-empty string value when using a NAT-based firewall with the SSL transport. Set the value in ExternalIP to the IP address exposed to the outside world, or the NAT IP address on the Internet. Internet Direct (Indy) Version 10.1.5

819

TIdFTP Class

Classes

Use DataPort ( 816), DataPortMin ( NAT-based firewall.

817), and DataPortMax (

816) to indicate the port or port range to be forwarded to the

See Also DataPort (

816)

DataPortMin (

817)

DataPortMax (

816)

Passive (

825)

TIdFTP.Host Property Represents the IP address or host name for the remote FTP server. Pascal property Host; Description Host is a Published property in TIdFTP (

759), and represents the IP address or host name for the remote FTP server.

Values in the Host and Port ( 826) properties are used in the Connect ( 771) method to establish and initialize the connection used as the control channel for the FTP client session. When ProxySettings ( 827) contains ProxyType and Host values, the Host and Port ( 826) properties in ProxySettings ( 827) are used to open the initial connection for the FTP client session. After the control channel connection is opened, the Host and Port ( 826) properties revert to their previous values. Set values in the Host, Port ( Use Port (

826), and ProxySettings (

827) properties prior to calling the Connect (

771) method.

826) to specifiy the port number for the FTP client session.

See Also Port (

826)

ProxySettings ( Connect (

827)

771)

TIdFTP.LangsSupported Property Represents the supported languages on the server. Pascal property LangsSupported: TIdStrings; Description LangsSupported is a read-only TIdStrings ( 3089) property that represents the supported languages extracted from the values in the Capabilities ( 690) property during execution of the Login ( 792) method. LangsSupported will contains the values found in the Capabilities ( 690) property that begin with the characters "LANG". The ExtractFeatFacts ( 778) method is used to detect and extract the values in LangsSupported. Values in the Capabilties property are updated using the response from the FTP FEAT command. Resources allocated to the LangsSupported property are freed in the destructor for the object instance. See Also Capabilities ( Login (

690)

792)

ExtractFeatFacts (

820

778)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

TIdFTP.ListParserClass Property Represents a class reference for the directory listing parser used to create ( property.

267) collection items in the DirectoryListing (

818)

Pascal property ListParserClass: TIdFTPListParseClass; Description ListParserClass is a TIdFTPListParseClass ( 3028) property that represents the class used to parse the textual results in ListResults into collection items maintained in the DirectoryListing ( 818) property. ListParserClass provides the facilities used to prepare the structured directory listing and to identify the directory listing format used in the DirFormat ( 819) property. The ListParserClass class reference is updated during the inital read access to the DirectortyListing property, following construction of the DirectortyListing collection. When ListResult ( 821) contains a positive non-zero number of text lines, the FTP client determines the list ( 789) parser class to be used to parsed the textual reponses from the LIST, NLST ( 4358), MLSD, or MLST ( 4354) commands. When UsedMLS contains True, the IdFTPListParseBase class is used to parse the lines in ListResult ( 821). Under all other conditions, the CheckListParseCapa ( 2736) function is called to identify the directory listing parser class by using the registered parsers in the GParserList variable. Each registered parsers class calls its CheckListParseCapa ( 2736) method to determine the correct parser class required based on the format of the text lines found in ListResult ( 821). When a valid directory listing parser class is located, the parser class instance is used to create ( DirectoryListing ( 818) property for each detail line found in ListResult ( 821).

267) a collection item in the

The DirFormat ( 819) property is also updated to indicate the common name for the directory listing format detected in the registered parsers list ( 789). See Also TIdFTPListParseClass ( ListResult (

821)

DirectoryListing ( DirFormat (

3028)

818)

819)

UsedMLS GParserList

TIdFTP.ListResult Property Textual form of the directory listing returned by an FTP server. Pascal property ListResult: TIdStrings; Description ListResult is a read-only TIdStrings ( 3089) property that contains the textual response captured following execution of the FTP LIST, NLST ( 4358), MLST ( 4354), MLSD, STAT, or REIN commands. ListResult is the raw directory listing data returned by the FTP server. ListResult is updated in the following FTP client methods:

ExtListDir ( ExtListItem ( List (

775) 776)

789)

Internet Direct (Indy) Version 10.1.5

821

TIdFTP Class

Status (

Classes

806)

Values stored in ListResult are used to create ( 267) the structured directory listing stored in the DirectoryListing ( 818). Reading values in the DirectoryListing ( 818) property causes the values in ListResult to be parsed using a registered directory listing parser if the collection is unassigned. When UsedMLS contains True, the standardized MLST ( 4354) directory listing format is used on the FTP server. In this case, the TIdFTPListParserBase class is used to parse values in ListResult into the collection items maintained in the DirectoryListing ( 818) property. When UsedMLS contains False, the CheckListParseCapa ( 2736) function is used to determine the correct registered directory listing parser for parsing the directory listing. Registered parsers are found in the GParserList variable, and include parsers added during execution of the initialization section for units added to the application. Use ListParserClass ( Use DirFormat (

821) to access the class reference used to perform parsing of the directory listing.

819) to access the common name for the directory listing format detected when examining the data in ListResult.

Use properties and methods in the DirectoryListing (

818) collection to access the structured directory listing for the FTP client.

Resources allocated to the ListResult property are freed in the destructor the object instance. See Also ExtListDir (

775)

ExtListItem ( List (

776)

789)

Status (

806)

UsedMLS ListParserClass ( DirFormat (

819)

DirectoryListing ( Destroy (

821)

818)

774)

TIdFTPListParserBase

TIdFTP.LoginMsg Property Server response sent after authenticating the client connection. Pascal property LoginMsg: TIdReplyFTP; Description LoginMsg is a read-only TIdReplyFTP ( 1842) property that represents the inital server response captured when providing the authentication identity and credentials during execution of the Login ( 792) method. Use OnBannerAfterLogin (

835) to respond to the event notification performed using the formatted reply for the LoginMsg property.

TIdFTP.OnAfterClientLogin Property Event handler signalled following completion of the FTP protocol exchange used to authenticate the client connection. Pascal property OnAfterClientLogin: TOnAfterClientLogin;

822

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Description OnAfterClientLogin is a TOnAfterClientLogin ( actions in the Login ( 792) method. OnAfterClientLogin is triggered in the Connect (

3101) property that represents the event handler signalled following completion of 771) method when AutoLogin (

813) contains the value True.

OnAfterClientLogin is used to notify the application that a client connection the remote FTP server has been established, and authentication has been performed. Applications must assign a procedure to the event handler to allow responsing to the event notification. Use the OnBannerBeforeLogin ( Use the OnBannerAfterLogin (

836) event handler to respond to receipt of the Greeting ( 835) event handler to respond to receipt of the LoginMsg (

2364) from the remote FTP server. 822) from the remote FTP server.

See Also TOnAfterClientLogin ( Login (

3101)

792)

Connect (

771)

AutoLogin (

813)

OnBannerBeforeLogin ( OnBannerAfterLogin (

836) 835)

TIdFTP.OnCustomFTPProxy Property Event handler signalled to implement support for custom FTP proxy servers. Pascal property OnCustomFTPProxy: TIdNotifyEvent; Description OnCustomFTPProxy is a TNotifyEvent property that represents the event handler signalled to allow support for connection and authentication using custom FTP proxy server types in the FTP client. OnCustomFTPProxy is triggered in the Login ( 792) method when the TIdFtpProxyType ( 2951) enumeration value fpcmCustomProxy is found in the ProxyType property in ProxySettings ( 827). If OnCustomFTPProxy has not been assigned in this circumstance, an EIdFTPOnCustomFTPProxyRequired ( 93) exception will be raised. Applications can use OnCustomFTPProxy to implement the complete FTP protocol exchange required to both establish the proxied connection and to perform authentication for the client session. In general, the FTP protocol exchange should be performed using the SendCmd ( 2360) method to allow capturing responses in the LastCmdResult ( 2367) property. Please note that the final response in the exchange is stored in the LoginMsg ( 822) property and passed as an argument to the OnBannerAfterLogin ( 835) event handler. Use of the OnCustomFTPProxy event handler is not required if the FTP proxy server is one of the types supported in TIdFtpProxyType ( 2951). See Also LastCmdResult ( Login (

2367)

792)

OnBannerAfterLogin ( ProxySettings ( SendCmd (

835)

827)

2360)

TIdFtpProxyType (

2951)

EIdFTPOnCustomFTPProxyRequired ( Internet Direct (Indy) Version 10.1.5

93) 823

TIdFTP Class

Classes

TIdFTP.OnDirParseEnd Property Event handler signalled when a textual directory listing has been parsed into its structured form. Pascal property OnDirParseEnd: TIdNotifyEvent; Description OnDirParseEnd is a TNotifyEvent property that represents the event handler signalled when a textual directory listing has been parsed into its structured form. OnDirParseEnd is triggered when parsing of the text in ListResult ( 821) into collection items in DirectoryListing ( 818) has been completed using the ListParserClass ( 821) instance. Parsing occurs when reading values from an uninitialized instance of the DirectoryListing ( 818) collection. OnDirParseEnd allows the application to perform actions need to keep the GUI interface synchronized with the actions of the FTP client; such as reading the contents of the structured DirectoryListing ( 818) into a TListView or TTreeView in the user interface. Use OnDirParseStart (

824) to respond to the event notification that occurs when parsing of the directory listing is about to begin.

Use OnRetrievedDir ( updated.

825) to respond to the event notification that occurs when the textual values in ListResults have been

See Also DirectoryListing ( ListResult (

818)

821)

ListParserClass (

821)

TIdFTP.OnDirParseStart Property Event handler signalled prior to parsing a textual directory listing into its structured form. Pascal property OnDirParseStart: TIdNotifyEvent; Description OnDirParseStart is a TNotifyEvent property that represents the event handler signalled prior to parsing a textual directory listing into its structured form. OnDirParseStart is triggered when attempting to read collection items in an uninitialized DirectoryListing ( 818) collection. OnDirParseStart is triggered prior to parsing the contents of the ListResult ( 821) property into collections items using the ListParserClass ( 821) instance. OnDirParseStart allows the application to perform actions need to keep the GUI interface synchronized with the actions of the FTP client; such as clearing the contents of a TListView or TTreeView for the DirectoryListing ( 818) in the user interface. Use OnDirParseEnd ( completed.

824) to respond to the event notification that occurs when parsing of the directory listing has been

Use OnRetrievedDir ( updated.

825) to respond to the event notification that occurs when the textual values in ListResults have been

See Also DirectoryListing ( ListResult (

821)

ListParserClass (

824

818)

821)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

TIdFTP.OnRetrievedDir Property Event handler signalled when text for a directory listing has been retrieved from the FTP server. Pascal property OnRetrievedDir: TIdNotifyEvent; Description OnRetrievedDir is a TNotifyEvent property that represents the event handler signalled when the text for a directory listing has been retrieved in a response from the FTP server. OnRetrievedDir is triggered in the List ( 789) and ExtListDir ( 775) methods, and allows the applications to be notified when the contents of the ListResult ( 821) property have been updated with the values from the FTP server response. Applications must assign a procedure to the event handler to allow responding to the event notification. Use OnDirParseStart ( 824) and OnDirParseEnd ( 824) to respond to notifications occurring prior to and following parsing of values in ListResult ( 821) into collection items in the DirectoryListing ( 818) collection. Use DirectoryListing ( 818) to access the structured directory listing created using the ListParserClass ( detected directory listing format.

821) instance for the

See Also List (

789)

ExtListDir (

775)

ListResult (

821)

DirectoryListing (

818)

ListParserClass (

821)

OnDirParseStart ( OnDirParseEnd (

824) 824)

TIdFTP.Passive Property Indicates the FTP data channel connection method. Pascal property Passive: boolean; Description Passive is a Boolean property that indicates how the data channel connection for a File Transfer Protocol session is established. Passive is used during processing for both the Get ( 783) and the Put ( required to establish the data channel for the data transfer operation.

795) methods to determine the FTP protocol exchange

When Passive is True, the FTP server will listen for the FTP client to connect ( 771) on a data port specified in the response to the FTP PASV or EPSV commands. EPSV is used when UsingExtDataPort ( 834) contains True. Active connections (or when Passive is set to False) indicates that the FTP server will open the connection for the data channel. In other words, the FTP client will listen for the server to open a connection for the data channel. The server is notified using the FTP PORT or EPRT commands. EPRT is used when UsingExtDataPort ( 834) contains True. Please note that some proxy configurations require PORT transfers, and some FTP servers do not support PASV transfers. Consult your network administrator for details on using FTP in your network environment. The default value for Passive is Id_TIdFTP_Passive ( reset to the default value in ReInitialize ( 798).

3821), as assigned during initialization of the component. Passive is also

See Also Get (

783)

Internet Direct (Indy) Version 10.1.5

825

TIdFTP Class Put (

Classes

795)

ReInitialize (

798)

UsingExtDataPort (

834)

TIdFTP.Password Property Authentication credentials used when logging into the FTP server. Pascal property Password; Description Password is a String property that indicates the authentication credentials used when logging in to the FTP server. Values in the Username ( 833) and Password properties are sent to the FTP server using the FTP commands USER and PASS in the Login ( 792) method. During authentication, values in the properties are used to determine the effective permissions for FTP client session. TIdFTP ( 759) provides support for the One-Time-Password (OTP) system when the capability is supported on the FTP server. During authentication processing in the Login ( 792) method, the FTP client will detect the server support for OTP by examing the response return for the FTP USER command. When the response includes an OTP Challenge, the appropriate hashed values are calculated using the OTP challenge and the Password property. For FTP clients that require connection to a proxy server, the Username ( ( 827) may be used depending on the proxy server type in ProxySettings (

833) and Password properties found in ProxySettings 827).

For anonymous file transfers, the Username ( 833) property should contain the value "anonymous". Use your email address in the Password property when connecting for anonymous file transfers. Use Account (

812) to provide additional information about the FTP account when required on the FTP server implementation.

Use ClientInfo ( 814) to provide additional information about the FTP client, revision, and platform for servers implementing the FTP CLNT extension command. See Also Username ( Login (

833)

792)

Connect (

771)

ProxySettings (

827)

TIdFTP.Port Property Port number for the control channel connection to the remote FTP server. Pascal property Port; Description Port is a Published property in TIdFTP ( 759) that indicates the port number to use when opening the control channel connection to the remote FTP server identifies in Host ( 820). Set values in the Host ( 820) and Port properties prior to calling Connect ( ( 826) properties are also required when AutoLogin ( 813) contains True. Set the Port value in ProxySettings (

771). Values in the Username (

833) and Password

827) when a proxied connection to the remote server is required.

The default value for the Port property is IDPORT_FTP, as assigned during initialization of the component.

826

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

See Also AutoLogin ( Connect ( Login ( Host (

813) 771)

792) 820)

ProxySettings (

827)

TIdFTP.ProxySettings Property Indicates the settings to use for connections opened using an FTP proxy server. Pascal property ProxySettings: TIdFtpProxySettings; Description ProxySettings is a TIdFtpProxySettings ( 947) property that represent settings to use for connections opened using an FTP proxy server. Use of ProxySettings are required only when proxied connections to the FTP server are needed. ProxySettings contains properties that indicate the TIdFtpProxyType ( 2951) to use when establishing the proxied connection using the Host ( 820), Port ( 826), Username ( 833), and Password ( 826) property values located in ProxySettings. The Host ( 820) and Port ( 826) values in ProxySettings are used in Connect ( 771) to establish the control channel connection for the FTP client when ProxySettings.ProxyType contains a value other than fpcmNone. ProxySettings.ProxyType also indicates both the method and values used for authenticating the proxied connection to the FTP server in Login ( 792), according to the following proxy type values and methodologies:

Value

Meaning

fpcmNone

Sends the Username (

fpcmUserSite

Sends the Username ( 833) and optional Password ( 826) in ProxySettings, followed immediately by the Username ( 833) and optional Password ( 826) found in the FTP client.

fpcmSite

Sends the Username ( 833) and optional Password ( 826) in ProxySettings, the SITE command and the value in the Host ( 820) property, and the Username ( 833) and optional Password ( 826) in the FTP client.

fpcmOpen

Sends the Username ( 833) and optional Password ( 826) in ProxySettings, sends the OPEN command with the value in Host ( 820), and the Username ( 833) and optional Password ( 826) for the FTP client.

fpcmUserPass

Calls SendCmd ( 2360) with the command USER user@proxyuser@host, calls SendCmd ( the command PASS pwd@proxypwd, or optionally PASS pwd.

fpcmTransparent

Sends the ProxySettings Username ( 833) and optional Password ( FTP client Username ( 833) and optional password.

833) and optional Password (

826) found in the FTP client.

2360) with

826), followed immediately by the

fpcmHttpProxyWithFtp Not implemented at this time. fpcmCustomProxy

Signals the OnCustomFTPProxy (

823) event handler to perform the FTP protocol exchange.

Resources allocated to the ProxySettings property are freed in the Destroy (

774) method.

See Also TIdFtpProxySettings ( Destroy (

774)

Connect (

771)

Login (

947)

792)

Internet Direct (Indy) Version 10.1.5

827

TIdFTP Class

Classes

Username (

833)

Password (

826)

Host (

820)

Port (

826)

TIdFTP.ReadTimeout Property Number of milliseconds to wait for an FTP protocol response. Pascal property ReadTimeout: Integer; Description ReadTimeout is an Integer property that represents the number of milliseconds to wait for an FTP protocol response on the control channel for the client. The default value for ReadTimeout is DEF_Id_FTP_READTIMEOUT ( 3187), as assigned during initialization of the component. Please note that some firewalls do not handle FTP control channel connections properly during long-running data transfers. Since the control channel is inactive during the operation, a timeout condition may occur. You may need to increase the value in ReadTimeout to an artifically large value to avoid this condition. This can result in a lengthy delay if the FTP server closes the connection for the control channel without performing any notification to the FTP client. Use TransferTimeout ( 829) to indicate the number of milliseconds to wait for file transfer operations that use the data channel created for the FTP client. Set values in the ReadTimeout and TransferTimeout ( 829) properties prior to calling the Connect ( methods, and before using method that perform file transfer or directory listing operations.

771) or Login (

792)

See Also DEF_Id_FTP_READTIMEOUT ( TransferTimeout (

3187)

829)

TIdFTP.SupportsVerification Property Indicates if the FTP server supports one of the extensibility features for verified transfer integrity. Pascal property SupportsVerification: Boolean; Description SupportsVerification is a read-only Boolean property that indicates if the FTP server supports one of the extensibility features for verified transfer integrity. SupportsVerification returns True when one of the following checksum algorithms is listed in the Capabilities ( server:

Algorithm

Description

XCRC

CRC (

XMD5

MD5 checksum

XSHA

SHA-1 checksum

772)-32 checksum

When SupportsVerification returns True, use the VerifyFile ( operation.

828

690) for the FTP

809) method to verify the integrity of all or part of a file transfer

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

See Also Capabilities ( VerifyFile (

690) 809)

TIdFTP.SystemDesc Property Description of the remote FTP server. Pascal property SystemDesc: string; Description SystemDesc is a read-only string property that contians a description for the remote FTP server. SystemDesc normally contains the name of the operating system for the FTP server, but the value of SystemDesc can be server-specififc. SystemDesc is updated in the Connect ( 771) method using the value returned from the FTP SYST command. If the numeric response 500 is received for the command, the value in SystemDesc is set to the RSFTPUnknownHost resource string. See Also Connect (

771)

RSFTPUnknownHost

TIdFTP.TransferTimeout Property Timeout value for read operations on the data channel for the FTP client. Pascal property TransferTimeout: Integer; Description TransferTimeout is an Integer property that represents the number of milliseconds to wait for data packetes when receiving data on the data channel for the FTP client. TransferTimeout is assigned to the ReadTimeout ( 828) property in the IOHandler ( channel for the Get ( 783) and Put ( 795) methods. The default value for TransferTimeout is IdDefTimeout (

2364) created during initialization of the data

3831), as assigned during initialization of the component.

See Also IOHandler ( Get (

783)

Put (

795)

2364)

TIdFTP.TransferType Property Indicates the file transfer type. Pascal property TransferType: TIdFTPTransferType; Description TransferType is a TIdFTPTransferType ( can contain one of the following values:

Internet Direct (Indy) Version 10.1.5

2953) property that indicates the file transfer type currently in use for the FTP client, and

829

TIdFTP Class

Classes

Value

Meaning

ftBinary

Binary (8 bit) file transfers

ftASCII

ASCII (7 bit) file transfers

An application should use the ftBinary transfer type for transferring executables, compressed files, graphics, and multimedia files. Use the ftASCII transfer type for 7bit ASCII files, such as text or Hypertext Markup Language. Changing the value in TransferType causes the FTP TYPE command to be sent when an active connection is available and the data channel is not in use. Note: If the data channel has already been assigned, changing the value in TransferType has no effect. TransferType is automatically sent (using the default value ftBinary) when Login ( called with the AutoLogin ( 813) property set to True. The default value for TransferType is Id_TIdFTP_TransferType (

792) is executed, and when Connect (

771) is

3821), as assigned during initialization of the component.

Example [Delphi] Setting TransferType for FTP GET operations. IdFTP1.TransferType := ftBinary; IdFTP1.Get('image.jpg', 'image.jpg', True, False); IdFTP1.TransferType := ftASCII; IdFTP1.Get('readme.txt', 'readme.txt', True, False); [C++ Builder] Setting TransferType for FTP GET operations. IdFTP1->TransferType = ftBinary; IdFTP1->Get("image.jpg", "image.jpg", True, False); IdFTP1->TransferType = ftASCII; IdFTP1->Get("readme.txt", "readme.txt", True, False); See Also TIdFTPTransferType ( Login (

2953)

792)

Connect (

771)

TIdFTP.TryNATFastTrack Property Indicates use of "fast path" connections for traversing firewalls and NATs. Pascal property TryNATFastTrack: Boolean; Description TryNATFastTrack is a Boolean property that indicates if the FTP client should use "fast path" connections for traversing firewalls and network address translators (NAT). TryNATFastTrack can enhance the performance of data transfers when the FTP EPSV command is supported on the server implementation. TryNATFastTrack will cause the FTP EPSV ALL command to be sent after establishing the control channel for the client connection and performing authentication when the AutoLogin ( 813) property contains True. EPSV ALL informs Network Address Translators that the EPRT command (as well as other data commands) will no longer be used for the client session. After receiving an EPSV ALL command, the server must reject all data connection setup commands other than EPSV (i.e., EPRT, PORT, PASV, et al.). This process results in the UsingNATFastTrack ( 834) property being set to True on successful completion of the feature negotiation. The default value for TryNATFastTrack is Id_TIdFTP_UseNATFastTrack ( component.

3821), as assigned during initialization of the

See Also Connect ( 830

771) Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

AutoLogin (

813)

UsingNATFastTrack (

834)

TIdFTP.TZInfo Property Provides access to timezone information for the remote FTP server. Pascal property TZInfo: TIdFTPTZInfo; Description TZInfo is a TIdFTPTZInfo ( 979) property used to store timezone information for the remote FTP server. TZInfo provides access to the offset from GMT (UTC) when its GMTOffsetAvailable property contains True. Properties in TZInfo are updated when the control channel for the client session is established in the Connect ( 771) method. If the server implementation supports the FTP SITE ZONE command, the server response to the command is parsed and stored in the GMTOffset and GMTOffsetAvailable properties in TZInfo. TZInfo is used in SetModTime ( remote file system.

802) and SetModTimeGMT (

802) when updating the last modification time for a file on the

Resources required for the TZInfo property are allocated in during initialization of the component, and freed in the Destroy ( destructor.

774)

See Also TIdFTPTZInfo ( Connect (

979)

771)

SetModTime (

802)

SetModTimeGMT (

802)

TIdFTP.UseCCC Property Indicates if use of the Clear Command Channel (CCC) command is required for the FTP client. Pascal property UseCCC: Boolean; Description UseCCC is a Boolean property that indicates if use of the Clear Command Channel (CCC) command is supported for the FTP client session, as described in the Internet Standards documents: RFC 2228 - FTP Security Extensions When UseCCC contains True, TLS integrity protection on the control channel for the session will be disabled. Changing the value in UseCCC can result in an EIdFTPNoCCCWOEncryption ( 92) exception begin raised when UseTLS ( 833) contains the value utNoTLSSupport. The value in the UseCCC property is used when transmitting the initial settings for the data channel, and indicates that an IOHandler ( 2364) using a TIdSSLIOHandlerSocketBase ( 2134) instance must set it's PassThrough property to True. Please note that the FTP CCC extension command is not supported on all FTP server implementations. The default value is DEF_Id_FTP_UseCCC ( the ReInitialize ( 798) method.

3187), as assigned during initialization of the component and during processing in

See Also UseTLS (

833)

IOHandler (

2364)

Internet Direct (Indy) Version 10.1.5

831

TIdFTP Class

Classes

TIdSSLIOHandlerSocketBase ( ReInitialize ( Get (

783)

Put (

795)

2134)

798)

TIdFTP.UseExtensionDataPort Property Indicates if IPv6 extensions for Port (

826) and Passive (

825) settings are used in FTP protocol exchanges.

Pascal property UseExtensionDataPort: Boolean; Description UseExtensionDataPort is a Boolean property used to indicate if IPv6 extensions for Port ( 826) and Passive ( 825) settings should be used in FTP protocol exchanges. The UseExtensionDataPort property prevents the FTP client from sending IPv6 values in the FTP PORT and PASV commands, which cannot handle the IPv6 address format. The default value for UseExtensionDataPort is DEF_Id_TIdFTP_UseExtendedData ( component.

3188), as assigned during initialization of the

Changing the value in the UseExtensionDataPort property to False while IPVersion contains the value IPv6 will result in an EIdFTPMustUseExtWithIPv6 ( 91) exception being raised. Changing the value in the UseExtensionDataPort property to False while TryNATFastTrack ( EIdFTPMustUseExtWithNATFastTrack ( 91) exception being raised. UseExtensionDataPort will be set to True when a socket-based IOHandler ( channel) that uses the value Id_IPv6 in its IPVersion property.

830) returns True will result in an

2364) is assigned for the FTP client (in the control

Use the value in UsingExtDataPort ( 834) to determine if the IPv6 extensions are valid after performing FTP protocol exchanges that might alter support for the capability. See Also Port (

826)

IOHandler ( Connect (

2364) 771)

TIdFTP.UseMLIS Property Indicates if the FTP MLST (

4354) and MLSD commands are used for directory listings.

Pascal property UseMLIS: Boolean; Description UseMLIS is a Boolean property that indicates if the FTP client should attempt to use the FTP MLST ( 4354) and MLSD commands for directory listings. UseMLIS indicates the FTP client preference, but can be overridden in FTP protocol exchanges when the FTP server does not implement support for MLST ( 4354) and/or MLSD. Set UseMLIS to True to indicate that FTP client (and the parsers used for the DirectoryListing ( of the MLST ( 4354)/MLSD directory listing format.

818) collection) would prefer use

Use the CanUseMLS property or the IsExtSupported ( 788) method to determine if the requested directopry listing format is supported in the Capabilities ( 690) for the remote FTP server. The default value for UseMLIS is DEF_Id_TIdFTP_UseMIS (

3188), as assigned during initialization of the component.

See Also CanUseMLS 832

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Capabilities (

690)

IsExtSupported (

788)

DirectoryListing (

818)

DEF_Id_TIdFTP_UseMIS (

3188)

TIdFTP.Username Property Authentication identity used when logging in to the FTP server. Pascal property Username; Description Username is a Published String property in TIdFTP ( when logging into the FTP server.

759) that represents the name of the user used as the authentication identity

Values in the Username and Password ( 826) properties are sent to the FTP server using the FTP commands USER and PASS in the Login ( 792) method. During authentication, values in the properties are used to determine the effective permissions for FTP client session. For FTP clients that require connection to a proxy server, the Username and Password ( ( 827) may be used depending on the proxy server type in ProxySettings ( 827).

826) properties found in ProxySettings

For anonymous file transfers, the Username property should contain the value "anonymous". Use your email address in the Password ( 826) property when connecting for anonymous file transfers. Use Account (

812) to provide additional information about the FTP account when required on the FTP server implementation.

Use ClientInfo ( 814) to provide additional information about the FTP client, revision, and platform for servers implementing the FTP CLNT extension command. See Also Connect ( Login (

771) 792)

Password (

826)

ProxySettings (

827)

TIdFTP.UseTLS Property Indicates Transport-Level Security is used on the connection. Pascal property UseTLS; Description UseTLS is a Published TIdUseTLS ( 2982) property that indicates the level of Transport Layer Security (TLS) required for control channel and data channel connections in the FTP client. Set UseTLS to one of the TIdUseTLS ( connections.

2982) enumeration values to indicate the TLS security needed for the FTP client

The value in UseTLS is used in the Login ( 792) method to determine if explicit TLS support is indicated for the control channel (ExplicitTLSVals ( 3206)) before performing the authentication indicated in the AUTHCmd ( 812) property and establishing a connection using the optional values in ProxySettings ( 827). Changing the value in UseTLS may also alter other properties that depend on the TLS capacility. For instance, changing UseTLS to utNoTLSSupport forces the values in the following properties to be reset to their default values:

Internet Direct (Indy) Version 10.1.5

833

TIdFTP Class

Classes

DataPortProtection ( UseCCC (

817)

831)

AUTHCmd (

812)

See Also Login (

792)

ProxySettings (

827)

DataPortProtection ( UseCCC ( AUTHCmd (

817)

831) 812)

TIdFTP.UsingExtDataPort Property Indicates if RFC 2428 NAT Extensions are available for the FTP client session. Pascal property UsingExtDataPort: Boolean; Description UsingExtDataPort is a read-only Boolean property that indicates if RFC 2428 NAT Extensions are available for the FTP client session. See Also UseExtensionDataPort (

832)

TIdFTP.UsingNATFastTrack Property Indicates if "fast path" connections are in use for the FTP client. Pascal property UsingNATFastTrack: Boolean; Description UsingNATFastTrack is a read-only Boolean property that indicates if "fast path" connections are in use for the FTP client. See Also TryNATFastTrack (

830)

TIdFTP.UsingSFTP Property Indicates if a secure FTP connection is in use for the client session. Pascal property UsingSFTP: Boolean; Description UsingSFTP is a read-only Boolean property that indicates if a secure FTP connection is in use for the client session. UsingSFTP is updated at various points in an FTP protocol exchange. In Connect ( 771), UsingSFTP is set to True when UseTLS ( 833) contains a value that indicates use of TLS for the socket transport. In Login ( 792), UsingSFTP is set to False until successful completion of the authentication process and protocol exhanges for TLS negotiation. The value in UsingSFTP is used at various points in the FTP protocol exchange to determine if additional commands are required to configure the control or data channels for the FTP session.

834

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

During processing in the Get ( 783) and Put ( 795) methods, UsingSFTP determines the corresponding value for the PassThrough setting for an IOhandler that uses a secure transport. UsingSFTP also determines if use of the SendPBSZ command is allowed on the control channel for the client session.

TIdFTP Events The Events of the TIdFTP class are listed here. Events Event

Description

OnAfterGet (

835)

Event handler signalled following completion of data transfer in the Get (

OnBannerAfterLogin (

835)

OnBannerBeforeLogin ( OnCreateFTPList (

836)

OnDataChannelDestroy ( OnNeedAccount (

Event handler signalled for creation of the structured directory listing for the FTP client. 837)

Event handler signalled following creation of the data channel for data transfer operations.

838)

Event handler signalled prior to freeing the data channel in the FTP client.

838)

OnTLSNotAvailable (

792) method and

Event handler signalled after receipt of the welcome message, and before logging into the FTP server.

836)

OnDataChannelCreate (

783) method.

Event handler signalled following completion of the FTP protocol exchange in the Login ( receipt of the LoginMsg ( 822) text.

Derives Account (

839)

812) information for the remote FTP Server.

Event handler signalled when the client has failed to provide implied support for TLS (Transport Layer Security).

Legend Event

TIdFTP.OnAfterGet Event Event handler signalled following completion of data transfer in the Get (

783) method.

Pascal property OnAfterGet: TIdFtpAfterGet; Description OnAfterGet is a TIdFtpAfterGet ( in the Get ( 783) method.

3027) property that represents the event handler signalled following completion of data transfer

Arguments to the event handler identify the stream containing the data on the local file system. Applications can use the OnAfterGet event handler to perform processing required to determine the actual size ( 805) of the data transferred in the operation, creating permanent storage for the local data, or updating the GUI to indicate the status ( 806) for the data transfer operation. Applications must assign a procedure to the event handler to allow responding to the event notification. See Also Get (

783)

TIdFTP.OnBannerAfterLogin Event Event handler signalled following completion of the FTP protocol exchange in the Login ( LoginMsg ( 822) text.

792) method and receipt of the

Pascal property OnBannerAfterLogin: TIdFTPBannerEvent; Description OnBannerAfterLogin is a TIdFTPBannerEvent ( 3028) property that represents the event handler signalled following completion of the FTP protocol exchange in the Login ( 792) method. Arguments to the OnBannerAfterLogin event handler include the formatted reply in the LoginMsg ( OnBannerAfterLogin is triggered in the Login ( Internet Direct (Indy) Version 10.1.5

822) property.

792) method after establishing the optional TLS socket transport, and performing 835

TIdFTP Class

Classes

authentication for the FTP client connection. OnBannerAfterLogin is signalled prior to performing feature negotiation using the FTP FEAT command and capturing the values stored in the Capabilities ( 690) property. Applications must assign a procedure to the event handler to allow responding to the event notification. Use on OnBannerBeforeLogin ( 836) to respond to the initial welcome message from the FTP server captured and stored in Greeting ( 2364) after opening the control channel in the Connect ( 771) method. See Also TIdFTPBannerEvent ( LoginMsg ( Login (

3028)

822)

792)

Connect (

771)

Greeting (

2364)

OnBannerBeforeLogin (

836)

TIdFTP.OnBannerBeforeLogin Event Event handler signalled after receipt of the welcome message, and before logging into the FTP server. Pascal property OnBannerBeforeLogin: TIdFTPBannerEvent; Description OnBannerBeforeLogin is a TIdFTPBannerEvent ( FTP server Greeting ( 2364).

3028) property that represents the event handler signalled after receipt of the

OnBannerBeforeLogin is triggered in the Connect ( 771) method after opening the connection to the remote FTP server using values in Host ( 820), Port ( 826), and optional ProxySettings ( 827). OnBannerBeforeLogin is triggered before performing authentication using the Login ( 792) method when AutoLogin ( 813) contains True. Arguments to the OnBannerBeforeLogin event handler include the formatted reply in the Greeting (

2364) property.

OnBannerBeforeLogin allows the application to gain access to the message in Greeting ( 2364) when it is received from the FTP server. The Greeting ( 2364) message typically contains information that identifies the server and describes acceptable usage policies. It may also contain information about scheduled downtime, or other events that will affect availability of the remote FTP server. Applications must assign a procedure to the event handler to allow responding to the event notification. Use on OnBannerAfterLogin ( 835) to respond to the message receive after completion of the FTP protocol exchange for authentication in the Login ( 792) method. See Also TIdFTPBannerEvent ( Connect (

771)

Greeting (

2364)

AutoLogin ( Login (

3028)

813)

792)

OnBannerAfterLogin (

835)

TIdFTP.OnCreateFTPList Event Event handler signalled for creation of the structured directory listing for the FTP client.

836

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTP Class

Pascal property OnCreateFTPList: TIdCreateFTPList; Description OnCreateFTPList is a TIdCreateFTPList ( 3016) property that represents the event handler signalled when the DirectoryListing ( 818) collection is created following retrieval of the text for a directory listing. OnCreateFTPList is triggered when attempting to read the value of the DirectoryListing ( has not been previously created.

818) property and the collection instance

OnCreateFTPList allows the application to receive notification that the DirectoryListing ( 818) container is about to be created. It may also be used to assign an object instance to the DirectoryListing ( 818) property. Applications must assign a procedure to the event handler to allow responding to the event notification. Use OnRetrievedDir (

825) to respond to receipt of the textual information in a directory listing.

Use OnDirParseStart ( 824) and OnDirParseEnd ( 824) to respond to notifications occurring proper to and following parsing of values in ListResult ( 821) into items in the DirectoryListing ( 818) collection. See Also DirectoryListing (

818)

TIdCreateFTPList ( OnRetrievedDir (

3016)

825)

OnDirParseStart ( OnDirParseEnd (

824) 824)

TIdFTP.OnDataChannelCreate Event Event handler signalled following creation of the data channel for data transfer operations. Pascal property OnDataChannelCreate: TIdOnDataChannelCreate; Description OnDataChannelCreate is a TIdOnDataChannelCreate ( 3069) property that represents the event handler signalled following creation of the data channel used for data transfer operations in the Get ( 783) and Put ( 795) methods. The data channel for the client will have been initialized prior to triggering the OnDataChannelCreate event handler, and includes the following initializations:

• Create (

267) an IOHandler (

• Sets the connect (

2364) for the data channel.

771) timeout to the values used in the control.

• Copies the TransparentProxy setting from the control channel. • TransferTimeout (

829) uses the read timeout from the control channel.

• SendBufferSize is set to the value in the control channel. • RecvBufferSize is set to the value in the control channel. • The OnWorkBegin (

2368), OnWork (

2368), and OnWorkEnd (

2369) event handlers are copied from the FTP client.

• IPVersion is set to match the control channel. For active connections (where Passive (

Property BoundIP (

825) is False), this includes setting the values for the following properties:

Description 2345)

IP address for the FTP client.

Internet Direct (Indy) Version 10.1.5

837

TIdFTP Class

Classes

BoundPort (

2345)

DataPort (

816) indicated in the FTP client.

BoundPortMin (

2346)

DataPortMin (

817) indicated in the FTP client.

BoundPortMax (

2346)

DataPortMax (

816) indicated in the FTP client.

Arguments passed to the event handler include FTP client and the data channel instance for the event. OnDataChannelCreate allows the application to perform logging and maintenace required when the FTP client is about perform a data transfer operation. Assign a procedure to the event handler to allow responding to the event notification. Use OnDataChannelDestroy ( 838) to respond to the event notification that occurs on completion of the data transfer and prior to freeing resources allocated to the data channel. See Also TIdOnDataChannelCreate ( Get (

783)

Put (

795)

Passive (

3069)

825)

OnDataChannelDestroy (

838)

TIdFTP.OnDataChannelDestroy Event Event handler signalled prior to freeing the data channel in the FTP client. Pascal property OnDataChannelDestroy: TIdOnDataChannelDestroy; Description OnDataChannelDestroy is a TIdOnDataChannelDestroy ( 3069) property that represents the event handler signalled prior to freeing resource allocated to the data channel in data transfer operations. OnDataChannelDestroy is triggered in the Get ( completed, and prior to freeing the object instance.

783) and Put (

795) methods when the data transfer operation has been

Arguments passed to the event handler include the FTP client and the data channel instance for the event. OnDataChannelDestroy allows the application to perform logging and maintenace required when the FTP client is about to free the data channel used for a data transfer operation. Assign a procedure to the event handler to allow responding to the event notification. Use OnDataChannelBegin to respond to the event notification that occurs on after creating and initalizing the data channel. See Also TIdOnDataChannelDestroy ( Get (

783)

Put (

795)

Passive (

3069)

825)

OnDataChannelCreate (

837)

TIdFTP.OnNeedAccount Event Derives Account (

812) information for the remote FTP Server.

Pascal property OnNeedAccount: TIdNeedAccountEvent;

838

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPBaseFileSystem Class

Description OnNeedAccount is a TIdNeedAccountEvent ( 3061) property that represents the event handler signalled when account information is required during login ( 792) for the FTP client. OnNeedAccount allows the client to derive the information required to perform the FTP ACCT command during execution of the Login ( 792) method. OnNeedAccount allows the client determine and set the value for the Account ( 812) property that is used in the protocol exchange. Applications must assign a procedure to the event handler to allow responding to the event notification, and to derive a value for the Account ( 812) property using session or context information. Historically, values in the Account ( 812) property are a Telnet string identifying the user's account. The command is not necessarily related to the USER command, as some sites may require an account for login ( 792) and others only for specific access, such as storing files. If account information is not required for Login ( 792), the response code is 230; and if the account information is needed for a command issued later in the dialogue, the server should return a 332 or 532 reply depending on whether it stores (pending receipt of the Account ( 812) command) or discards the command, respectively. See Also Login (

792)

Connect (

771)

Account (

812)

TIdFTP.OnTLSNotAvailable Event Event handler signalled when the client has failed to provide implied support for TLS (Transport Layer Security). Pascal property OnTLSNotAvailable: TIdOnTLSNegotiationFailure; Description OnTLSNotAvailable is a Published property in TIdFTP ( 759) that represents the event handler signalled when the client has failed to provide implied support for TLS (Transport Layer Security). OnTLSNotAvailable allows the application to determine the action to take when a TLS negotiation has failed based on the value used in UseTLS ( 833). Arguments to the event handler include the FTP client for the event notification, and a boolean argument that indicates if the process should be allowed to continue. Applications can set the value of the boolean argument in the event handler procedure.

TIdFTPBaseFileSystem Class File IdFTPBaseFileSystem (

4631)

Hierarchy

Pascal TIdFTPBaseFileSystem = class(TIdBaseComponent); Description TIdFTPBaseFileSystem is a TIdBaseComponent (

Internet Direct (Indy) Version 10.1.5

266) descendant.

839

TIdFTPBaseFileSystem Class

Classes

See Also TIdBaseComponent (

266)

TIdFTPBaseFileSystem Members The following tables list the members exposed by TIdFTPBaseFileSystem. Properties Property

Description

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

ChangeDir (

841)

CombineFiles ( Create (

841)

267)

Constructor for the object instance.

DeleteFile (

841)

GetCRCCalcStream ( GetFileDate (

842)

GetFileSize (

842)

GetVersion (

269)

ListDirectory (

Version ( 843)

RemoveDirectory ( RenameFile (

843)

RetrieveFile (

844)

843)

SetModifiedFileDate ( StoreFile (

269) number for Indy component suite.

842)

MakeDirectory (

CType (

841)

844)

844)

267)

Create (

1274)

Legend Method abstract virtual Property read only

TIdFTPBaseFileSystem Methods The Methods of the TIdFTPBaseFileSystem class are listed here. Methods Method

Description

ChangeDir (

841)

CombineFiles ( DeleteFile (

841)

841)

GetCRCCalcStream ( GetFileDate (

842)

GetFileSize (

842)

ListDirectory (

842)

MakeDirectory (

843)

RemoveDirectory ( RenameFile (

843)

RetrieveFile (

844)

843)

SetModifiedFileDate ( StoreFile (

840

841)

844)

844)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPBaseFileSystem Class

Legend Method abstract

TIdFTPBaseFileSystem.ChangeDir Method Pascal procedure ChangeDir( AContext: TIdFTPServerContextBase; var VDirectory: string ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

VDirectory

Scope is var. Type is string.

976).

Description ChangeDir is a abstract,virtual method.

TIdFTPBaseFileSystem.CombineFiles Method Pascal procedure CombineFiles( AContext: TIdFTPServerContextBase; const ATargetFileName: string; AParts: TIdStrings ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

ATargetFileName

Scope is const. Type is string.

AParts

Type is TIdStrings (

976).

3089).

Description CombineFiles is a abstract,virtual method.

TIdFTPBaseFileSystem.DeleteFile Method Pascal procedure DeleteFile( AContext: TIdFTPServerContextBase; const APathName: string ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

APathName

Scope is const. Type is string.

976).

Description DeleteFile is a abstract,virtual method.

TIdFTPBaseFileSystem.GetCRCCalcStream Method Pascal procedure GetCRCCalcStream( Internet Direct (Indy) Version 10.1.5

841

TIdFTPBaseFileSystem Class

Classes

AContext: TIdFTPServerContextBase; const AFileName: string; var VStream: TIdStream ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

AFileName

Scope is const. Type is string.

VStream

Scope is var. Type is TIdStream (

976).

3087).

Description GetCRCCalcStream is a abstract,virtual method.

TIdFTPBaseFileSystem.GetFileDate Method Pascal procedure GetFileDate( AContext: TIdFTPServerContextBase; const AFilename: string; var VFileDate: TIdDateTime ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

AFilename

Scope is const. Type is string.

VFileDate

Scope is var. Type is TIdDateTime (

976). 4733).

Description GetFileDate is a abstract,virtual method.

TIdFTPBaseFileSystem.GetFileSize Method Pascal procedure GetFileSize( AContext: TIdFTPServerContextBase; const AFilename: string; var VFileSize: Int64 ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

AFilename

Scope is const. Type is string.

VFileSize

Scope is var. Type is Int64.

976).

Description GetFileSize is a abstract,virtual method.

TIdFTPBaseFileSystem.ListDirectory Method Pascal procedure ListDirectory( AContext: TIdFTPServerContextBase; const APath: string; ADirectoryListing: TIdFTPListOutput; const ACmd: String; const ASwitches: String ); virtual; abstract;

842

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPBaseFileSystem Class

Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

APath

Scope is const. Type is string.

ADirectoryListing

Type is TIdFTPListOutput (

ACmd

Scope is const. Type is String.

ASwitches

Scope is const. Type is String.

976).

860).

Description ListDirectory is a abstract,virtual method.

TIdFTPBaseFileSystem.MakeDirectory Method Pascal procedure MakeDirectory( AContext: TIdFTPServerContextBase; var VDirectory: string ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

VDirectory

Scope is var. Type is string.

976).

Description MakeDirectory is a abstract,virtual method.

TIdFTPBaseFileSystem.RemoveDirectory Method Pascal procedure RemoveDirectory( AContext: TIdFTPServerContextBase; var VDirectory: string ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

VDirectory

Scope is var. Type is string.

976).

Description RemoveDirectory is a abstract,virtual method.

TIdFTPBaseFileSystem.RenameFile Method Pascal procedure RenameFile( AContext: TIdFTPServerContextBase; const ARenameToFile: string ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

ARenameToFile

Scope is const. Type is string.

976).

Description RenameFile is a abstract,virtual method. Internet Direct (Indy) Version 10.1.5

843

TIdFTPClientIdentifier Class

Classes

TIdFTPBaseFileSystem.RetrieveFile Method Pascal procedure RetrieveFile( AContext: TIdFTPServerContextBase; const AFileName: string; var VStream: TIdStream ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

AFileName

Scope is const. Type is string.

VStream

Scope is var. Type is TIdStream (

976).

3087).

Description RetrieveFile is a abstract,virtual method.

TIdFTPBaseFileSystem.SetModifiedFileDate Method Pascal procedure SetModifiedFileDate( AContext: TIdFTPServerContextBase; const AFileName: String; var VDateTime: TIdDateTime ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

AFileName

Scope is const. Type is String.

VDateTime

Scope is var. Type is TIdDateTime (

976). 4733).

Description SetModifiedFileDate is a abstract,virtual method.

TIdFTPBaseFileSystem.StoreFile Method Pascal procedure StoreFile( AContext: TIdFTPServerContextBase; const AFileName: string; AAppend: Boolean; var VStream: TIdStream ); virtual; abstract; Parameters Parameters

Description

AContext

Type is TIdFTPServerContextBase (

AFileName

Scope is const. Type is string.

AAppend

Type is Boolean.

VStream

Scope is var. Type is TIdStream (

976).

3087).

Description StoreFile is a abstract,virtual method.

844

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPClientIdentifier Class

TIdFTPClientIdentifier Class File IdFTP (

4629)

Hierarchy

Pascal TIdFTPClientIdentifier = class(TIdPersistent); Description TIdFTPClientIdentifier is a TIdPersistent (

3073) descendant.

See Also TIdPersistent (

3073)

TIdFTPClientIdentifier Members The following tables list the members exposed by TIdFTPClientIdentifier. Properties Property

Description

ClientName (

846)

ClientVersion (

846)

ClntOutput (

846)

PlatformDescription (

847)

Methods Method Assign (

Description 846)

Legend Method virtual Property read only

TIdFTPClientIdentifier Methods The Methods of the TIdFTPClientIdentifier class are listed here. Methods Method Assign (

Description 846)

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

845

TIdFTPClientIdentifier Class

Classes

TIdFTPClientIdentifier.Assign Method Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Type is TIdPersistent (

3073).

Description Assign is a overridden method.

TIdFTPClientIdentifier Properties The Properties of the TIdFTPClientIdentifier class are listed here. Properties Property

Description

ClientName (

846)

ClientVersion (

846)

ClntOutput (

846)

PlatformDescription (

847)

Legend Property read only

TIdFTPClientIdentifier.ClientName Property Pascal property ClientName: String; Description ClientName is a Published String property. Write access for the property is implemented using SetClientName.

TIdFTPClientIdentifier.ClientVersion Property Pascal property ClientVersion: String; Description ClientVersion is a Published String property. Write access for the property is implemented using SetClientVersion.

TIdFTPClientIdentifier.ClntOutput Property Pascal property ClntOutput: String; Description ClntOutput is a Public read-only String property.

846

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListBase Class

TIdFTPClientIdentifier.PlatformDescription Property Pascal property PlatformDescription: String; Description PlatformDescription is a Published String property. Write access for the property is implemented using SetPlatformDescription.

TIdFTPLineOwnedList Class File IdFTPListParseBase (

4636)

Hierarchy

Pascal TIdFTPLineOwnedList = class(TIdFTPListBase); Description TIdFTPLineOwnedList TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPListBase Class Implements the ancestor for structured directory listing parsers used in the Indy FTP client. File IdFTPListParseBase (

4636)

Hierarchy

Pascal TIdFTPListBase = class(TObject); Description TIdFTPListBase is a TObject descendant that implements the ancestor class for structured directory listing parsers used in the Indy FTP client. TIdFTPListBase implements methods that are commonly used in all parsers, such as:

CheckListing (

848)

ParseListing (

849)

ParseLine GetIdent (

849)

MakeNewItem

Internet Direct (Indy) Version 10.1.5

847

TIdFTPListBase Class

Classes

These methods are normally overriden in descendant classes that recognize and parse specific directory listing formats returned by a remote FTP server. References to TIdFTPListBase descendants are used in the ListParserClass property in the TIdFTP (

759) client.

Units with TIdFTPListBase descendant classes must be included in the uses clause in the source code for your application. Use the RegisterFTPListParser ( 2893) and UnregisterFTPListParser ( 2932) routines to manage registrations for descendant classes using the TIdFTPRegParseList ( 949) variable for the parser framework. See Also TIdFTPListParseClass (

3028)

TIdFTP.ListParserClass (

821)

RegisterFTPListParser (

2893)

UnregisterFTPListParser ( TIdFTPRegParseList (

2932)

949)

GParserList

TIdFTPListBase Members The following tables list the members exposed by TIdFTPListBase. Methods Method

Description

CheckListing ( GetIdent (

848)

849)

ParseListing (

849)

Detertmines if the class recognizes the specified directory listing format. Identifies the directory listing format supported by the parser class. Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPListBase Methods The Methods of the TIdFTPListBase class are listed here. Methods Method

Description

CheckListing ( GetIdent (

848)

849)

ParseListing (

849)

Detertmines if the class recognizes the specified directory listing format. Identifies the directory listing format supported by the parser class. Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPListBase.CheckListing Method Detertmines if the class recognizes the specified directory listing format. Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; virtual;

848

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListBase Class

Parameters Parameters

Description

AListing

Directory listing to examine.

ASysDescript

System description from the remote FTP server. Default value is ''.

ADetails

Indicates if file details are supported for the directory listing format. Default value is True.

Returns boolean - True when the directory listing format is handled by the current parser class. Description CheckListing is a virtual Boolean class function used to detertmine if the class recognizes the specified directory listing format. AListing contains the text from an FTP server response that represents the directory listing format to be examined. The parser class uses values in AListing to determine if the specified directory listing format is supported in the current object instance. CheckListing is essentially an abstract method and must be reimplemented in a descendant class that recognizes a specific directory listing format. Use ParseListing (

849) to implement parsing of the content in the directory listing, and updating of the structured directory listing.

Use ParseLine to implement parsing of file, directory, or device information found in an individual line in the directory listing. Use GetIdent (

849) to access the identifier for the directory listing format supported by the current parser class.

TIdFTPListBase.GetIdent Method Identifies the directory listing format supported by the parser class. Pascal class function GetIdent: String; virtual; Returns String - Identifier for the directory listing format. Description GetIdent is a virtual String class function that identifies the directory listing format supported by the parser class. GetIdent must be overridden in a descendant class to provide the identifier for the directory listing format.

TIdFTPListBase.ParseListing Method Parses and stores values found in a directory listing response from a remote FTP server. Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; virtual; Parameters Parameters

Description

AListing

Text representing the directory listing response from a remote FTP server.

ADir

Container for the structured directory listing.

Returns boolean - True on success. Description ParseListing is a virtual Boolean class function used to parse and store values found in a directory listing response from a remote FTP server. ParseListing iterates over lines of text found in the AListing argument and populates the structured dirctory listing container in ADir Internet Direct (Indy) Version 10.1.5

849

TIdFTPListBaseHeader Class

Classes

using non-blank values. ParseListing calls the MakeNewItem method to create new entries in the structured directory listing container and assigns the non-blank line of text to the Data property for the TIdFTPListItem ( 851) instance. Finally, ParseListing calls the ParseLine method to derive values for properties in the TIdFTPListItem ( 851) instance using the textual data assigned to the collection item. ParseListing returns True when the method has been successfully completed.

TIdFTPListBaseHeader Class File IdFTPListParseBase (

4636)

Hierarchy

Pascal TIdFTPListBaseHeader = class(TIdFTPListBase); Description TIdFTPListBaseHeader TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPListBaseHeader Members The following tables list the members exposed by TIdFTPListBaseHeader. Methods Method

Description

CheckListing ( GetIdent (

851)

849)

ParseListing (

Identifies the directory listing format supported by the parser class.

851)

Legend Method virtual

TIdFTPListBaseHeader Methods The Methods of the TIdFTPListBaseHeader class are listed here. Methods Method

Description

CheckListing (

851)

ParseListing (

851)

Legend Method virtual

850

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListItem Class

TIdFTPListBaseHeader.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description TIdFTPListBaseHeader.CheckListing overridden class method.

TIdFTPListBaseHeader.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

3089). 857).

Returns boolean Description TIdFTPListBaseHeader.ParseListing overridden class method.

TIdFTPListItem Class Represents items added to the structured directory listing collection for the Indy FTP client. File IdFTPList (

4634)

Hierarchy

Pascal TIdFTPListItem = class(TIdCollectionItem); Description TIdFTPListItem is a TIdCollectionItem ( directory listing for the Indy FTP client. Internet Direct (Indy) Version 10.1.5

3011) descendant that represents items added to the TIdFTPListItems (

857) structured

851

TIdFTPListItem Class

Classes

TIdFTPListItem contains properties that represent common information for items parsed from an FTP response and added to the structured directory listing in TIdFTP ( 759) client. These properties include the following:

Property

Description

Data (

855)

Values parsed from the FTP directory listing response and used to initialize properties in the collection item.

Size (

857)

Size (

ModifiedDate 856) FileName (

(

857) allocated for the resource on the remote FTP server.

Last modified date and time for the resource on the remote FTP server.

855)

File name for the resource.

LocalFileName ( 855)

Suggested file name for the resopurce if stored on the local file system.

ItemType (

855)

Type of item represented by the collection entry.

SizeAvail (

857)

Indicates if file size information is available for the resource on the remote FTP server.

ModifiedAvail 856)

(

Indicates if last modification date and time information is available for the resource on the remote FTP server.

PermissionDisplay User-displayable representation of permissions assigned for the resource on the remote FTP server. ( 856) Use the Assign (

853) method to copy property values from another TIdFTPListItem instance into the current object instance.

Some remote FTP server file systems support additional values that can be detected and parsed by a registered parser in the FTP client. For those parser implementations, TIdFTPListItem may be use as an ancestor class for the collection item that maintains additional file system information. See Also TIdCollectionItem (

3011)

TIdFTPListItems (

857)

TIdFTP.DirectoryListing (

818)

TIdFTPListItem Members The following tables list the members exposed by TIdFTPListItem. Properties Property Data (

Description 855)

Data from a directory listing response used to populate properties in the collection item.

FileName (

855)

ItemType (

855)

LocalFileName (

Name for a file as assigned on the remote FTP server. Indicates the type of item represented by the collection entry. 855)

ModifiedAvail (

856)

ModifiedDate (

856)

PermissionDisplay ( Size (

857)

SizeAvail (

Suggested file name to used for the local file system. Indicates if last modification date and time values are available for the collection item. Last modification date and time for the resource on the remote FTP server.

856)

User-displayable representation of permissions for the collection item. Indicates the allocated size for the file resource on the remote FTP server.

857)

Indicates if file size information is available in the Size (

857) property for the collection item.

Methods Method 853)

Copies property values from another structured directory listing entry.

Create (

853)

Constructor for the collection item.

Destroy (

852

Description

Assign (

854)

Frees the collection item.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListItem Class

Legend Method virtual Property

TIdFTPListItem Methods The Methods of the TIdFTPListItem class are listed here. Methods Method

Description

Assign (

853)

Copies property values from another structured directory listing entry.

Create (

853)

Constructor for the collection item.

Destroy (

854)

Frees the collection item.

Legend Method virtual

TIdFTPListItem.Assign Method Copies property values from another structured directory listing entry. Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Object with values to assign to the current object instance.

Description Assign is an overridden method used to copy property values from the TIdFTPListItem ( collection item. Assign ensures that the object instance in ASource is cast to a TIdFTPListItem ( the following properties:

Data (

851) object instance prior to copying values for

855)

ItemType ( Size (

851) instance in ASource into the current

855)

857)

ModifiedDate ( FileName (

856)

855)

Please note that Assign does not call the inherited Assign method.

TIdFTPListItem.Create Constructor Constructor for the collection item. Pascal constructor Create( AOwner: TIdCollection ); override; Internet Direct (Indy) Version 10.1.5

853

TIdFTPListItem Class

Classes

Parameters Parameters

Description

AOwner

Collection that owns the entry.

Description Create is the overridden constructor for the collection item. Create calls the inherited constructo using the value in AOwner as the owner of the collection item. Creates sets the default values for properties in the collection item entry, including:

Property

Default Value

Data (

'' (empty string)

855)

ItemType ( Size (

855)

ditFile

857)

0

ModifiedDate ( FileName (

856)

0.0 (empty date/time value)

855)

LocalFileName ( SizeAvail (

'' (empty string) 855)

'' (empty string)

857)

ModifiedAvail (

True

856)

Use Free to destroy (

True 854) the current object instance.

See Also Data ( 855) ItemType ( ModifiedAvail ( 856)

855) Size (

857) ModifiedDate (

856) FileName (

855) LocalFileName (

855) SizeAvail (

857)

TIdFTPListItem.Destroy Destructor Frees the collection item. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the collection item. Destroy calls the inherited destructor prior to exiting from the method.

TIdFTPListItem Properties The Properties of the TIdFTPListItem class are listed here. Properties Property Data (

Description 855)

Data from a directory listing response used to populate properties in the collection item.

FileName (

855)

ItemType (

855)

LocalFileName (

Name for a file as assigned on the remote FTP server. Indicates the type of item represented by the collection entry. 855)

ModifiedAvail (

856)

ModifiedDate (

856)

PermissionDisplay ( Size (

857)

SizeAvail (

854

Suggested file name to used for the local file system. Indicates if last modification date and time values are available for the collection item. Last modification date and time for the resource on the remote FTP server.

856)

User-displayable representation of permissions for the collection item. Indicates the allocated size for the file resource on the remote FTP server.

857)

Indicates if file size information is available in the Size (

857) property for the collection item.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListItem Class

Legend Property

TIdFTPListItem.Data Property Data from a directory listing response used to populate properties in the collection item. Pascal property Data: string; Description Data is a String property that represents the values from a directory listing response used to populate properties in the collection item. Values in the Data property are assigned when the registered ListParserClass for the FTP client calls its' ParseListing ( 2883) method. Values assigned to the Data property are subsequently used when the ListParserClass for the FTP client calls its' ParseLine method. See Also TIdFTPListBase.ParseListing (

849)

TIdFTPListBase.ParseLine ListParserClass

TIdFTPListItem.FileName Property Name for a file as assigned on the remote FTP server. Pascal property FileName: string; Description FileName is a String property that represents the name for a file as assigned on the remote FTP server. Use LocalFileName (

855) to access a suggested filename for use when saving the file on the local system.

See Also LocalFilename

TIdFTPListItem.ItemType Property Indicates the type of item represented by the collection entry. Pascal property ItemType: TIdDirItemType; Description ItemType is a TIdDirItemType (

2948) property that indicates the type of item represented by the collection entry.

Values in ItemType are assigned when the registered ListParserClass for the the FTP client is used to parse the content in the Data ( 855) property. The values used and allowed in the ItemType property are dependent on the file system capabilities implemented on the remote FTP server in Host. In other words, not all of the enumeration values in TIdDirItemType ( 2948) are used and supported in every TIdFTPListBase ( 847) descendant.

TIdFTPListItem.LocalFileName Property Suggested file name to used for the local file system.

Internet Direct (Indy) Version 10.1.5

855

TIdFTPListItem Class

Classes

Pascal property LocalFileName: string; Description LocalFileName is a String property that represents the suggested file to use when storing a copy of the file indicated in Filename on the local file system. LocalFileName essentially consists of the value in Filename after removing path information and any file system specifics (like version markers in VMS). Values in LocalFileName are assigned when the registered ListParserClass for the the FTP client is used to parse the content in the Data ( 855) property.

TIdFTPListItem.ModifiedAvail Property Indicates if last modification date and time values are available for the collection item. Pascal property ModifiedAvail: Boolean; Description ModifiedAvail is a Boolean property that indicates if the last modification date and time value in the ModifiedDate ( available for the collection item.

856) property is

ModifiedAvail is updated when the registered ListParserClass for the FTP client is used to examine the content in Data ( 855) in its' ParseLine method. ModifiedAvail will contain False when the remote file system does not provide last modification date and time values, or when the expected listing format does not contain a recognizable marker for the value. Use SizeAvail (

857) to determine if file size information is available for the collection item.

See Also ModifiedDate ( SizeAvail ( Data (

856)

857)

855)

TIdFTP.ListParserClass (

821)

TIdFTPListParserBase.ParseLine

TIdFTPListItem.ModifiedDate Property Last modification date and time for the resource on the remote FTP server. Pascal property ModifiedDate: TIdDateTime; Description ModifiedDate is a TIdDateTime ( FTP server.

4733) property that indicates the last modification date and time for the resource on the remote

Values in LocalFileName ( 855) are assigned when the registered ListParserClass for the the FTP client is used to parse the content in the Data ( 855) property. Please note that some FTP server file systems do not provide last modificiation date and time values. Use ModifiedAvail ( determine if an actual value was received in the directory listing response from the remote FTP server.

856) to

TIdFTPListItem.PermissionDisplay Property User-displayable representation of permissions for the collection item.

856

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListItems Class

Pascal property PermissionDisplay: String; Description PermissionDisplay is a String property containing a user-displayable representation of permissions assigned to the collection item on the remote FTP server. Values in PermissionDisplay are assigned when the registered ListParserClass for the the FTP client is used to parse the content in the Data ( 855) property. Please note that some FTP server file systems do not provide permissions data in a directory listing response. In this siutation, PermissionsDisplay will contain an empty string ('').

TIdFTPListItem.Size Property Indicates the allocated size for the file resource on the remote FTP server. Pascal property Size: Int64; Description Size is an Int64 property that indicates the allocated size for the file resource on the remote FTP server. Values in Size are assigned when the registered ListParserClass for the the FTP client is used to parse the content in the Data ( 855) property. Please note that some FTP server file systems do not provide file size values. Use SizeAvail ( was received in the directory listing response from the remote FTP server.

857) to determine if an actual value

TIdFTPListItem.SizeAvail Property Indicates if file size information is available in the Size (

857) property for the collection item.

Pascal property SizeAvail: Boolean; Description SizeAvail is a Boolean property used to indicate if file size information is available in the Size (

857) property for the collection item.

SizeAvail is updated when the registered ListParserClass for the FTP client is used to examine the content in Data ( 855) in its' ParseLine method. SizeAvail will contain False when the remote file system does not provide file size values, or when the expected listing format does not contain a recognizable marker for the value. Use ModifiedAvail (

856) to determine if last modification date and time values are available for the collection item.

TIdFTPListItems Class Implements a container for items used in the structured directory listing in the Indy FTP client. File IdFTPList (

4634)

Hierarchy

Pascal TIdFTPListItems = class(TIdCollection); Internet Direct (Indy) Version 10.1.5

857

TIdFTPListItems Class

Classes

Description TIdFTPListItems is a TIdCollection ( listing in the Indy FTP client.

3011) descendant that implements a container for items used in the structured directory

TIdFTPListItems is used to access, store, and maintain TIdFTPListItem ( 851) instances in the collection created using the Add ( 859) method. TIdFTPListItems provides indexed access to the Items ( 860) in the collection by their ordinal position, and also allows locating a specific TIdFTPListItem ( 851) object instance using the IndexOf ( 859) method. TIdFTPListItems introduces the DirectoryName ( represented by Items ( 860) in the collection.

860) property that can be used to identify the directory on the remote FTP server

TIdFTPListItems is the type used to implement the DirectoryListing property in the TIdFTP (

759) client.

TIdFTPListItems instances are also passed as an argument to the ExtListItem and OnCreateFTPList methods in the FTP client. See Also TIdCollection (

3011)

TIdFTPListItem (

851)

TIdFTP.DirectoryListing (

818)

TIdFTP.ListParserClass (

821)

TIdFTP.ExtListItem (

776)

TIdFTP.OnCreateFTPList (

836)

TIdFTPListItems Members The following tables list the members exposed by TIdFTPListItems. Properties Property

Description

DirectoryName ( Items (

860)

860)

Identifies the directory on the remote FTP server represented by the items in the collection. Provides indexed access to entries in the structured directory listing collection.

Methods Method Add (

Description 859)

Create ( IndexOf (

Creates and adds a new entry in the structured directory listing collection.

859) 859)

Constructor for the object instance. Locates a specific item in the structured directory listing collection.

Legend Method Property

TIdFTPListItems Methods The Methods of the TIdFTPListItems class are listed here. Methods Method Add (

Description 859)

Create ( IndexOf (

Creates and adds a new entry in the structured directory listing collection.

859) 859)

Constructor for the object instance. Locates a specific item in the structured directory listing collection.

Legend Method

858

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListItems Class

TIdFTPListItems.Add Method Creates and adds a new entry in the structured directory listing collection. Pascal function Add: TIdFTPListItem; Returns TIdFTPListItem (

851) - File or directory entry added to the collection.

Description Add is a TIdFTPListItem (

851) function used to create (

859) and add a new entry in the structured directory listing collection.

Add calls the inherited method and ensures that the return value is cast to a TIdFTPListItem ( 851) object instance. Use the Delete and Clear methods inherited from TIdCollection ( 3011) to maintain the Items ( 860) in the collection. Add is used when the ListParserClass for the FTP client needs to make a new entry in the structured directory listing after calling its' ParseListing ( 2883) and ParseLine methods. See Also TIdFTPListItem (

851)

TIdFTP.DirectoryListing (

818)

TIdFTPListBase.MakeNewItem TIdFTPListBase.ParseListing (

849)

TIdFTPListBase.ParseLine

TIdFTPListItems.Create Constructor Constructor for the object instance. Pascal constructor Create; reintroduce; Description Create is the reintroduced constructor for the collection. Create calls the inherited constructor using TIdFTPListItem ( Use Add (

851) as the class type used for new Items (

860) in the collection.

859) to create and store new collection items in the container.

TIdFTPListItems.IndexOf Method Locates a specific item in the structured directory listing collection. Pascal function IndexOf( AItem: TIdFTPListItem ): Integer; Parameters Parameters

Description

AItem

Item to locate in the structured directory listing collection.

Returns Integer - Ordinal position of the requested collection item. Description IndexOf is an Integer function used to locate the TIdFTPListItem ( Internet Direct (Indy) Version 10.1.5

851) instance specified in AItem in the Items (

860) for the 859

TIdFTPListOutput Class

Classes

collection. IndexOf returns a zero-based value that indicates the ordinal position of AItem in the collection Items ( AItem cannot be found in the collection Items ( 860).

860), or -1 when

IndexOf iterates over the object instances in Items ( 860) to perform the object comparision required for the method. Use the Items ( 860) property to access the collection item in AItem using the ordinal position indicated in the retuirn value for the method.

TIdFTPListItems Properties The Properties of the TIdFTPListItems class are listed here. Properties Property

Description

DirectoryName ( Items (

860)

860)

Identifies the directory on the remote FTP server represented by the items in the collection. Provides indexed access to entries in the structured directory listing collection.

Legend Property

TIdFTPListItems.DirectoryName Property Identifies the directory on the remote FTP server represented by the items in the collection. Pascal property DirectoryName: string; Description DirectoryName is a string property that can be used to identify the directory on the remote FTP server represented by the items in the structured directory listing collection. DirectoryName can be used in registered DirectoryListing parsers to store the directory name prior to parsing the FTP server response for a directory listing. Changing the value in the DirectoryName causes all existing Items ( 860) in the container to be cleared.

TIdFTPListItems.Items Property Provides indexed access to entries in the structured directory listing collection. Pascal property Items [AIndex: Integer]: TIdFTPListItem; Description Items is a TIdFTPListItem ( 851) property that provides indexed access to TIdFTPListItem ( structured directory listing collection.

851) instances maintained in the

Items provides both read and write access to collection items using their zero-based ordinal position in the collection. Items is the default property for the TIdFTPListItems ( Use IndexOf ( Use Add (

857) collection.

859) to locate a specific object instance in the collection.

859), Delete, and Clear to maintain the items in the collection.

TIdFTPListOutput Class File IdFTPListOutput (

860

4635)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListOutput Class

Hierarchy

Pascal TIdFTPListOutput = class(TIdCollection); Description TIdFTPListOutput is a TIdCollection (

3011) descendant.

See Also TIdCollection (

3011)

TIdFTPListOutput Members The following tables list the members exposed by TIdFTPListOutput. Properties Property

Description

DirFormat (

863)

ExportTotalLine ( Items (

864)

864)

Output (

864)

Switches (

864)

Methods Method Add (

Description 862)

Create ( IndexOf (

862) 862)

LISTOutputDir (

862)

MLISTOutputDir (

863)

NLISTOutputDir (

863)

Legend Method virtual Property

TIdFTPListOutput Methods The Methods of the TIdFTPListOutput class are listed here. Methods Method Add (

Description 862)

Create ( IndexOf (

862) 862)

LISTOutputDir (

862)

MLISTOutputDir (

863)

NLISTOutputDir (

863)

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

861

TIdFTPListOutput Class

Classes

TIdFTPListOutput.Add Method Pascal function Add: TIdFTPListOutputItem; Returns TIdFTPListOutputItem (

864)

Description Add is a method. Add returns a TIdFTPListOutputItem (

864) value.

TIdFTPListOutput.Create Constructor Pascal constructor Create; reintroduce; Description Create is a reintroduced constructor for the object instance.

TIdFTPListOutput.IndexOf Method Pascal function IndexOf( AItem: TIdFTPListOutputItem ): Integer; Parameters Parameters

Description

AItem

Type is TIdFTPListOutputItem (

864).

Returns Integer Description IndexOf is a method. IndexOf returns a Integer value.

TIdFTPListOutput.LISTOutputDir Method Pascal procedure LISTOutputDir( AOutput: TIdStrings ); virtual; Parameters Parameters

Description

AOutput

Type is TIdStrings (

3089).

Description LISTOutputDir is a virtual method.

862

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListOutput Class

TIdFTPListOutput.MLISTOutputDir Method Pascal procedure MLISTOutputDir( AOutput: TIdStrings; AMLstOpts: TIdFTPFactOutputs ); virtual; Parameters Parameters

Description

AOutput

Type is TIdStrings (

AMLstOpts

Type is TIdFTPFactOutputs (

3089). 3028).

Description MLISTOutputDir is a virtual method.

TIdFTPListOutput.NLISTOutputDir Method Pascal procedure NLISTOutputDir( AOutput: TIdStrings ); virtual; Parameters Parameters

Description

AOutput

Type is TIdStrings (

3089).

Description NLISTOutputDir is a virtual method.

TIdFTPListOutput Properties The Properties of the TIdFTPListOutput class are listed here. Properties Property

Description

DirFormat (

863)

ExportTotalLine ( Items (

864)

864)

Output ( Switches (

864) 864)

Legend Property

TIdFTPListOutput.DirFormat Property Pascal property DirFormat: TIdDirOutputFormat; Description DirFormat is a Public TIdDirOutputFormat (

Internet Direct (Indy) Version 10.1.5

2949) property. Write access for the property is implemented using FDirFormat.

863

TIdFTPListOutputItem Class

Classes

TIdFTPListOutput.ExportTotalLine Property Pascal property ExportTotalLine: Boolean; Description ExportTotalLine is a Public Boolean property. Write access for the property is implemented using FExportTotalLine.

TIdFTPListOutput.Items Property Pascal property Items [AIndex: Integer]: TIdFTPListOutputItem; Description Items is a Public TIdFTPListOutputItem (

864) property. Write access for the property is implemented using SetItems.

Items is the default property for the object instance.

TIdFTPListOutput.Output Property Pascal property Output: String; Returns is a Public String property. Write access for the property is implemented using FOutput.

TIdFTPListOutput.Switches Property Pascal property Switches: String; Description Switches is a Public String property. Write access for the property is implemented using FSwitches.

TIdFTPListOutputItem Class File IdFTPListOutput (

4635)

Hierarchy

Pascal TIdFTPListOutputItem = class(TIdFTPListItem); Description TIdFTPListOutputItem is a TIdFTPListItem (

851) descendant.

See Also TIdFTPListItem (

864

851)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListOutputItem Class

TIdFTPListOutputItem Members The following tables list the members exposed by TIdFTPListOutputItem. Properties Property

Description

CreationDate (

866)

CreationDateGMT ( Data (

866)

855)

DirError (

Data from a directory listing response used to populate properties in the collection item.

866)

FileName (

855)

GroupName ( Inode (

Name for a file as assigned on the remote FTP server.

866)

866)

ItemType (

855)

Indicates the type of item represented by the collection entry.

LastAccessDate (

867)

LastAccessDateGMT ( LinkCount (

LinkedItemName (

867)

LocalFileName (

855)

MLISTPermissions ( 856)

ModifiedDate (

856)

ModifiedDateGMT ( NumberBlocks (

Suggested file name to used for the local file system.

867)

ModifiedAvail (

Indicates if last modification date and time values are available for the collection item. Last modification date and time for the resource on the remote FTP server. 867)

867)

OwnerName (

868)

PermissionDisplay ( Size (

867)

867)

856)

User-displayable representation of permissions for the collection item.

857)

Indicates the allocated size for the file resource on the remote FTP server.

SizeAvail (

857)

UniqueID (

868)

Indicates if file size information is available in the Size (

UnixGroupPermissions (

868)

UnixOtherPermissions (

868)

UnixOwnerPermissions ( WinAttribs (

857) property for the collection item.

868)

868)

Methods Method

Description

Assign (

853)

Copies property values from another structured directory listing entry.

Create (

853)

Constructor for the collection item.

Destroy (

854)

Frees the collection item.

Legend Property Method virtual

TIdFTPListOutputItem Properties The Properties of the TIdFTPListOutputItem class are listed here. Properties Property

Description

CreationDate (

866)

CreationDateGMT ( DirError (

GroupName ( Inode (

866)

866) 866)

866)

LastAccessDate (

867)

Internet Direct (Indy) Version 10.1.5

865

TIdFTPListOutputItem Class LastAccessDateGMT ( LinkCount (

867)

867)

LinkedItemName (

867)

MLISTPermissions (

867)

ModifiedDateGMT (

867)

NumberBlocks ( OwnerName ( UniqueID (

867) 868)

868)

UnixGroupPermissions (

868)

UnixOtherPermissions (

868)

UnixOwnerPermissions ( WinAttribs (

Classes

868)

868)

Legend Property

TIdFTPListOutputItem.CreationDate Property Pascal property CreationDate: TIdDateTime; Description CreationDate is a Public TIdDateTime (

4733) property. Write access for the property is implemented using FCreationDate.

TIdFTPListOutputItem.CreationDateGMT Property Pascal property CreationDateGMT: TIdDateTime; Description CreationDateGMT is a Public TIdDateTime ( FCreationDateGMT.

4733) property. Write access for the property is implemented using

TIdFTPListOutputItem.DirError Property Pascal property DirError: Boolean; Description DirError is a Public Boolean property. Write access for the property is implemented using FDirError.

TIdFTPListOutputItem.GroupName Property Pascal property GroupName: string; Description GroupName is a Public string property. Write access for the property is implemented using FGroupName.

TIdFTPListOutputItem.Inode Property Pascal property Inode: Integer; Description Inode is a Public Integer property. Write access for the property is implemented using FInode. 866

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPListOutputItem Class

TIdFTPListOutputItem.LastAccessDate Property Pascal property LastAccessDate: TIdDateTime; Description LastAccessDate is a Public TIdDateTime (

4733) property. Write access for the property is implemented using FLastAccessDate.

TIdFTPListOutputItem.LastAccessDateGMT Property Pascal property LastAccessDateGMT: TIdDateTime; Description LastAccessDateGMT is a Public TIdDateTime ( FLastAccessDateGMT.

4733) property. Write access for the property is implemented using

TIdFTPListOutputItem.LinkCount Property Pascal property LinkCount: Integer; Description LinkCount is a Public Integer property. Write access for the property is implemented using FLinkCount.

TIdFTPListOutputItem.LinkedItemName Property Pascal property LinkedItemName: string; Description LinkedItemName is a Public string property. Write access for the property is implemented using FLinkedItemName.

TIdFTPListOutputItem.MLISTPermissions Property Pascal property MLISTPermissions: string; Description MLISTPermissions is a Public string property. Write access for the property is implemented using FMLISTPermissions.

TIdFTPListOutputItem.ModifiedDateGMT Property Pascal property ModifiedDateGMT; Description ModifiedDateGMT is a Public property.

TIdFTPListOutputItem.NumberBlocks Property Pascal property NumberBlocks: Integer; Internet Direct (Indy) Version 10.1.5

867

TIdFTPLPAS400 Class

Classes

Description NumberBlocks is a Public Integer property. Write access for the property is implemented using FNumberBlocks.

TIdFTPListOutputItem.OwnerName Property Pascal property OwnerName: string; Description OwnerName is a Public string property. Write access for the property is implemented using FOwnerName.

TIdFTPListOutputItem.UniqueID Property Pascal property UniqueID: string; Description UniqueID is a Public string property. Write access for the property is implemented using FUniqueID.

TIdFTPListOutputItem.UnixGroupPermissions Property Pascal property UnixGroupPermissions: string; Description UnixGroupPermissions is a Public string property. Write access for the property is implemented using FUnixGroupPermissions.

TIdFTPListOutputItem.UnixOtherPermissions Property Pascal property UnixOtherPermissions: string; Description UnixOtherPermissions is a Public string property. Write access for the property is implemented using FUnixOtherPermissions.

TIdFTPListOutputItem.UnixOwnerPermissions Property Pascal property UnixOwnerPermissions: string; Description UnixOwnerPermissions is a Public string property. Write access for the property is implemented using FUnixOwnerPermissions.

TIdFTPListOutputItem.WinAttribs Property Pascal property WinAttribs: Cardinal; Description WinAttribs is a Public Cardinal property. Write access for the property is implemented using FWinAttribs.

868

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPAS400 Class

TIdFTPLPAS400 Class File IdFTPListParseAS400 (

4635)

Hierarchy

Pascal TIdFTPLPAS400 = class(TIdFTPLineOwnedList); Description TIdFTPLPAS400 is a TIdFTPLineOwnedList (

847) descendant.

See Also TIdFTPLineOwnedList (

847)

TIdFTPLPAS400 Members The following tables list the members exposed by TIdFTPLPAS400. Methods Method

Description

CheckListing ( GetIdent (

869)

870)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPAS400 Methods The Methods of the TIdFTPLPAS400 class are listed here. Methods Method

Description

CheckListing ( GetIdent (

869)

870)

Legend Method virtual

TIdFTPLPAS400.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override;

Internet Direct (Indy) Version 10.1.5

869

TIdFTPLPChameleonNewt Class

Classes

Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPAS400.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPBaseDOS Class File IdFTPListParseBase (

4636)

Hierarchy

Pascal TIdFTPLPBaseDOS = class(TIdFTPListBase); Description TIdFTPLPBaseDOS TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPChameleonNewt Class File IdFTPListParseChameleonNewt (

4637)

Hierarchy

870

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPChameleonNewt Class

Pascal TIdFTPLPChameleonNewt = class(TIdFTPLPBaseDOS); Description TIdFTPLPChameleonNewt is a TIdFTPLPBaseDOS (

870) descendant.

See Also TIdFTPLPBaseDOS (

870)

TIdFTPLPChameleonNewt Members The following tables list the members exposed by TIdFTPLPChameleonNewt. Methods Method

Description

CheckListing ( GetIdent (

871)

872)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPChameleonNewt Methods The Methods of the TIdFTPLPChameleonNewt class are listed here. Methods Method

Description

CheckListing ( GetIdent (

871)

872)

Legend Method virtual

TIdFTPLPChameleonNewt.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value. Internet Direct (Indy) Version 10.1.5

871

TIdFTPLPCiscoIOS Class

Classes

TIdFTPLPChameleonNewt.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPCiscoIOS Class File IdFTPListParseCiscoIOS (

4637)

Hierarchy

Pascal TIdFTPLPCiscoIOS = class(TIdFTPLPNList); Description TIdFTPLPCiscoIOS is a TIdFTPLPNList (

901) descendant.

See Also TIdFTPLPNList (

901)

TIdFTPLPCiscoIOS Members The following tables list the members exposed by TIdFTPLPCiscoIOS. Methods Method

Description

CheckListing ( GetIdent (

873)

873)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPCiscoIOS Methods The Methods of the TIdFTPLPCiscoIOS class are listed here. Methods Method

Description

CheckListing ( GetIdent (

872

873)

873)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPDistinctTCPIP Class

Legend Method virtual

TIdFTPLPCiscoIOS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPCiscoIOS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPDistinctTCPIP Class File IdFTPListParseDistinctTCPIP (

4637)

Hierarchy

Pascal TIdFTPLPDistinctTCPIP = class(TIdFTPLPBaseDOS); Description TIdFTPLPDistinctTCPIP is a TIdFTPLPBaseDOS (

870) descendant.

See Also TIdFTPLPBaseDOS (

870)

Internet Direct (Indy) Version 10.1.5

873

TIdFTPLPDistinctTCPIP Class

Classes

TIdFTPLPDistinctTCPIP Members The following tables list the members exposed by TIdFTPLPDistinctTCPIP. Methods Method

Description

CheckListing ( GetIdent (

874)

874)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPDistinctTCPIP Methods The Methods of the TIdFTPLPDistinctTCPIP class are listed here. Methods Method

Description

CheckListing ( GetIdent (

874)

874)

Legend Method virtual

TIdFTPLPDistinctTCPIP.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPDistinctTCPIP.GetIdent Method Pascal class function GetIdent: String; override; Returns String 874

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPEPLF Class

Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPEPLF Class File IdFTPListParseEPLF (

4638)

Hierarchy

Pascal TIdFTPLPEPLF = class(TIdFTPListBase); Description TIdFTPLPEPLF is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPEPLF Members The following tables list the members exposed by TIdFTPLPEPLF. Methods Method

Description

CheckListing ( GetIdent (

875)

876)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPEPLF Methods The Methods of the TIdFTPLPEPLF class are listed here. Methods Method

Description

CheckListing ( GetIdent (

875)

876)

Legend Method virtual

TIdFTPLPEPLF.CheckListing Method Pascal class function CheckListing( Internet Direct (Indy) Version 10.1.5

875

TIdFTPLPGOS7 Class

Classes

AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPEPLF.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPGOS7 Class File IdFTPListParseBullGCOS7 (

4636)

Hierarchy

Pascal TIdFTPLPGOS7 = class(TIdFTPLineOwnedList); Description TIdFTPLPGOS7 is a TIdFTPLineOwnedList (

847) descendant.

See Also TIdFTPLineOwnedList (

847)

TIdFTPLPGOS7 Members The following tables list the members exposed by TIdFTPLPGOS7. Methods Method CheckListing (

876

Description 877)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPGOS8 Class GetIdent (

877)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPGOS7 Methods The Methods of the TIdFTPLPGOS7 class are listed here. Methods Method

Description

CheckListing ( GetIdent (

877)

877)

Legend Method virtual

TIdFTPLPGOS7.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPGOS7.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

Internet Direct (Indy) Version 10.1.5

877

TIdFTPLPGOS8 Class

Classes

TIdFTPLPGOS8 Class File IdFTPListParseBullGCOS8 (

4637)

Hierarchy

Pascal TIdFTPLPGOS8 = class(TIdFTPListBase); Description TIdFTPLPGOS8 is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPGOS8 Members The following tables list the members exposed by TIdFTPLPGOS8. Methods Method

Description

CheckListing ( GetIdent (

878)

879)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPGOS8 Methods The Methods of the TIdFTPLPGOS8 class are listed here. Methods Method

Description

CheckListing ( GetIdent (

878)

879)

Legend Method virtual

TIdFTPLPGOS8.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override;

878

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPHellSoft Class

Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPGOS8.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPGOS8ListItem Class File IdFTPListParseBullGCOS8 (

4637)

Hierarchy

Pascal TIdFTPLPGOS8ListItem = class(TIdUnixPermFTPListItem); Description TIdFTPLPGOS8ListItem is a TIdUnixPermFTPListItem (

2543) descendant.

See Also TIdUnixPermFTPListItem (

2543)

TIdFTPLPHellSoft Class File IdFTPListParseHellSoft (

4638)

Hierarchy

Internet Direct (Indy) Version 10.1.5

879

TIdFTPLPHellSoft Class

Classes

Pascal TIdFTPLPHellSoft = class(TIdFTPLPNovellNetware); Description TIdFTPLPHellSoft is a TIdFTPLPNovellNetware (

902) descendant.

See Also TIdFTPLPNovellNetware (

902)

TIdFTPLPHellSoft Members The following tables list the members exposed by TIdFTPLPHellSoft. Methods Method

Description

CheckListing ( GetIdent (

880)

881)

ParseListing (

849)

ParseListing (

904)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPHellSoft Methods The Methods of the TIdFTPLPHellSoft class are listed here. Methods Method

Description

CheckListing ( GetIdent (

880)

881)

Legend Method virtual

TIdFTPLPHellSoft.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. 880

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPKA9Q Class

CheckListing returns a boolean value.

TIdFTPLPHellSoft.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPKA9Q Class File IdFTPListParseKA9Q (

4638)

Hierarchy

Pascal TIdFTPLPKA9Q = class(TIdFTPListBaseHeader); Description TIdFTPLPKA9Q is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPKA9Q Members The following tables list the members exposed by TIdFTPLPKA9Q. Methods Method

Description

CheckListing ( GetIdent (

882)

882)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPKA9Q Methods The Methods of the TIdFTPLPKA9Q class are listed here. Methods Method CheckListing (

Description 882)

Internet Direct (Indy) Version 10.1.5

881

TIdFTPLPMicrowareOS9 Class GetIdent (

Classes

882)

Legend Method virtual

TIdFTPLPKA9Q.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPKA9Q.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPMicrowareOS9 Class File IdFTPListParseMicrowareOS9 (

4638)

Hierarchy

Pascal TIdFTPLPMicrowareOS9 = class(TIdFTPListBaseHeader); Description TIdFTPLPMicrowareOS9 is a TIdFTPListBaseHeader (

882

850) descendant.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPMList Class

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPMicrowareOS9 Members The following tables list the members exposed by TIdFTPLPMicrowareOS9. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

883)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPMicrowareOS9 Methods The Methods of the TIdFTPLPMicrowareOS9 class are listed here. Methods Method GetIdent (

Description 883)

Legend Method virtual

TIdFTPLPMicrowareOS9.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPMList Class File IdFTPListParseBase (

4636)

Hierarchy

Internet Direct (Indy) Version 10.1.5

883

TIdFTPLPMList Class

Classes

Pascal TIdFTPLPMList = class(TIdFTPListBase); Description TIdFTPLPMList TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPMList Members The following tables list the members exposed by TIdFTPLPMList. Methods Method

Description

CheckListing ( GetIdent (

884)

885)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPMList Methods The Methods of the TIdFTPLPMList class are listed here. Methods Method

Description

CheckListing ( GetIdent (

884)

885)

Legend Method virtual

TIdFTPLPMList.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description TIdFTPLPMList.CheckListing overridden class method.

884

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPMPiX Class

TIdFTPLPMList.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description TIdFTPLPMList.GetIdent overridden class method.

TIdFTPLPMPiX Class File IdFTPListParseMPEiX (

4639)

Hierarchy

Pascal TIdFTPLPMPiX = class(TIdFTPLPMPiXBase); Description TIdFTPLPMPiX is a TIdFTPLPMPiXBase (

886) descendant.

See Also TIdFTPLPMPiXBase (

886)

TIdFTPLPMPiX Members The following tables list the members exposed by TIdFTPLPMPiX. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

886)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPMPiX Methods The Methods of the TIdFTPLPMPiX class are listed here. Methods Method GetIdent (

Description 886)

Internet Direct (Indy) Version 10.1.5

885

TIdFTPLPMPiXBase Class

Classes

Legend Method virtual

TIdFTPLPMPiX.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPMPiXBase Class File IdFTPListParseMPEiX (

4639)

Hierarchy

Pascal TIdFTPLPMPiXBase = class(TIdFTPListBaseHeader); Description TIdFTPLPMPiXBase is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPMPiXBase Members The following tables list the members exposed by TIdFTPLPMPiXBase. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

887)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPMPiXBase Methods The Methods of the TIdFTPLPMPiXBase class are listed here. 886

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPMPiXWithPOSIX Class

Methods Method GetIdent (

Description 887)

Legend Method virtual

TIdFTPLPMPiXBase.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPMPiXWithPOSIX Class File IdFTPListParseMPEiX (

4639)

Hierarchy

Pascal TIdFTPLPMPiXWithPOSIX = class(TIdFTPLPMPiXBase); Description TIdFTPLPMPiXWithPOSIX is a TIdFTPLPMPiXBase (

886) descendant.

See Also TIdFTPLPMPiXBase (

886)

TIdFTPLPMPiXWithPOSIX Members The following tables list the members exposed by TIdFTPLPMPiXWithPOSIX. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

888)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

887

TIdFTPLPMusic Class

Classes

TIdFTPLPMPiXWithPOSIX Methods The Methods of the TIdFTPLPMPiXWithPOSIX class are listed here. Methods Method GetIdent (

Description 888)

Legend Method virtual

TIdFTPLPMPiXWithPOSIX.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPMusic Class File IdFTPListParseMusic (

4639)

Hierarchy

Pascal TIdFTPLPMusic = class(TIdFTPListBaseHeader); Description TIdFTPLPMusic is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPMusic Members The following tables list the members exposed by TIdFTPLPMusic. Methods Method 848)

CheckListing (

851)

GetIdent (

888

Description

CheckListing (

Detertmines if the class recognizes the specified directory listing format.

889)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPMVS Class

Legend Method virtual

TIdFTPLPMusic Methods The Methods of the TIdFTPLPMusic class are listed here. Methods Method GetIdent (

Description 889)

Legend Method virtual

TIdFTPLPMusic.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPMVS Class File IdFTPListParseMVS (

4639)

Hierarchy

Pascal TIdFTPLPMVS = class(TIdFTPListBaseHeader); Description TIdFTPLPMVS is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPMVS Members The following tables list the members exposed by TIdFTPLPMVS. Methods Method CheckListing (

Description 848)

Internet Direct (Indy) Version 10.1.5

Detertmines if the class recognizes the specified directory listing format.

889

TIdFTPLPMVSJESInterface1 Class CheckListing ( GetIdent (

Classes

851)

890)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPMVS Methods The Methods of the TIdFTPLPMVS class are listed here. Methods Method GetIdent (

Description 890)

Legend Method virtual

TIdFTPLPMVS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPMVSJESInterface1 Class File IdFTPListParseMVS (

4639)

Hierarchy

Pascal TIdFTPLPMVSJESInterface1 = class(TIdFTPListBase); Description TIdFTPLPMVSJESInterface1 is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPMVSJESInterface1 Members The following tables list the members exposed by TIdFTPLPMVSJESInterface1. 890

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPMVSJESInterface1 Class

Methods Method

Description

CheckListing ( GetIdent (

891)

891)

ParseListing (

892)

Legend Method virtual

TIdFTPLPMVSJESInterface1 Methods The Methods of the TIdFTPLPMVSJESInterface1 class are listed here. Methods Method

Description

CheckListing ( GetIdent (

891)

891)

ParseListing (

892)

Legend Method virtual

TIdFTPLPMVSJESInterface1.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPMVSJESInterface1.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method.

Internet Direct (Indy) Version 10.1.5

891

TIdFTPLPMVSJESInterface2 Class

Classes

GetIdent returns a String value.

TIdFTPLPMVSJESInterface1.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

3089). 857).

Returns boolean Description ParseListing is a overridden class method. ParseListing returns a boolean value.

TIdFTPLPMVSJESInterface2 Class File IdFTPListParseMVS (

4639)

Hierarchy

Pascal TIdFTPLPMVSJESInterface2 = class(TIdFTPListBase); Description TIdFTPLPMVSJESInterface2 is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPMVSJESInterface2 Members The following tables list the members exposed by TIdFTPLPMVSJESInterface2. Methods Method

Description

CheckListing ( GetIdent (

893)

893)

ParseListing (

893)

Legend Method virtual

892

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPMVSJESInterface2 Class

TIdFTPLPMVSJESInterface2 Methods The Methods of the TIdFTPLPMVSJESInterface2 class are listed here. Methods Method

Description

CheckListing ( GetIdent (

893)

893)

ParseListing (

893)

Legend Method virtual

TIdFTPLPMVSJESInterface2.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPMVSJESInterface2.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPMVSJESInterface2.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override;

Internet Direct (Indy) Version 10.1.5

893

TIdFTPLPMVSPartitionedDataSet Class

Classes

Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

3089). 857).

Returns boolean Description ParseListing is a overridden class method. ParseListing returns a boolean value.

TIdFTPLPMVSPartitionedDataSet Class File IdFTPListParseMVS (

4639)

Hierarchy

Pascal TIdFTPLPMVSPartitionedDataSet = class(TIdFTPListBaseHeader); Description TIdFTPLPMVSPartitionedDataSet is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPMVSPartitionedDataSet Members The following tables list the members exposed by TIdFTPLPMVSPartitionedDataSet. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

895)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPMVSPartitionedDataSet Methods The Methods of the TIdFTPLPMVSPartitionedDataSet class are listed here. Methods Method GetIdent (

894

Description 895)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPNCSAforDOS Class

Legend Method virtual

TIdFTPLPMVSPartitionedDataSet.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPNCSAforDOS Class File IdFTPListParseNCSAForDOS (

4640)

Hierarchy

Pascal TIdFTPLPNCSAforDOS = class(TIdFTPListBaseHeader); Description TIdFTPLPNCSAforDOS is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPNCSAforDOS Members The following tables list the members exposed by TIdFTPLPNCSAforDOS. Methods Method

Description

CheckListing ( GetIdent (

896)

896)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPNCSAforDOS Methods The Methods of the TIdFTPLPNCSAforDOS class are listed here.

Internet Direct (Indy) Version 10.1.5

895

TIdFTPLPNCSAforMACOS Class

Classes

Methods Method

Description

CheckListing ( GetIdent (

896)

896)

Legend Method virtual

TIdFTPLPNCSAforDOS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPNCSAforDOS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPNCSAforMACOS Class File IdFTPListParseNCSAForMACOS (

4640)

Hierarchy

Pascal TIdFTPLPNCSAforMACOS = class(TIdFTPLPNList);

896

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPNCSAforMACOS Class

Description TIdFTPLPNCSAforMACOS is a TIdFTPLPNList (

901) descendant.

See Also TIdFTPLPNList (

901)

TIdFTPLPNCSAforMACOS Members The following tables list the members exposed by TIdFTPLPNCSAforMACOS. Methods Method

Description

CheckListing ( GetIdent (

897)

898)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPNCSAforMACOS Methods The Methods of the TIdFTPLPNCSAforMACOS class are listed here. Methods Method

Description

CheckListing ( GetIdent (

897)

898)

Legend Method virtual

TIdFTPLPNCSAforMACOS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

Internet Direct (Indy) Version 10.1.5

897

TIdFTPLPNetwarePSUDos Class

Classes

TIdFTPLPNCSAforMACOS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPNetwarePSUDos Class File IdFTPListParseNovellNetwarePSU (

4640)

Hierarchy

Pascal TIdFTPLPNetwarePSUDos = class(TIdFTPListBase); Description TIdFTPLPNetwarePSUDos is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPNetwarePSUDos Members The following tables list the members exposed by TIdFTPLPNetwarePSUDos. Methods Method

Description

CheckListing ( GetIdent (

899)

899)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPNetwarePSUDos Methods The Methods of the TIdFTPLPNetwarePSUDos class are listed here. Methods Method

Description

CheckListing ( GetIdent (

898

899)

899)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPNetwarePSUNFS Class

Legend Method virtual

TIdFTPLPNetwarePSUDos.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPNetwarePSUDos.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPNetwarePSUNFS Class File IdFTPListParseNovellNetwarePSU (

4640)

Hierarchy

Pascal TIdFTPLPNetwarePSUNFS = class(TIdFTPListBase); Description TIdFTPLPNetwarePSUNFS is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

Internet Direct (Indy) Version 10.1.5

899

TIdFTPLPNetwarePSUNFS Class

Classes

TIdFTPLPNetwarePSUNFS Members The following tables list the members exposed by TIdFTPLPNetwarePSUNFS. Methods Method

Description

CheckListing ( GetIdent (

900)

900)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPNetwarePSUNFS Methods The Methods of the TIdFTPLPNetwarePSUNFS class are listed here. Methods Method

Description

CheckListing ( GetIdent (

900)

900)

Legend Method virtual

TIdFTPLPNetwarePSUNFS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPNetwarePSUNFS.GetIdent Method Pascal class function GetIdent: String; override; Returns String 900

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPNList Class

Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPNList Class File IdFTPListParseBase (

4636)

Hierarchy

Pascal TIdFTPLPNList = class(TIdFTPListBase); Description TIdFTPLPNList TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPNList Members The following tables list the members exposed by TIdFTPLPNList. Methods Method

Description

CheckListing ( GetIdent (

901)

902)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPNList Methods The Methods of the TIdFTPLPNList class are listed here. Methods Method

Description

CheckListing ( GetIdent (

901)

902)

Legend Method virtual

TIdFTPLPNList.CheckListing Method Pascal class function CheckListing( Internet Direct (Indy) Version 10.1.5

901

TIdFTPLPNovellNetware Class

Classes

AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description TIdFTPLPNList.CheckListing overridden class method.

TIdFTPLPNList.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description TIdFTPLPNList.GetIdent overridden class method.

TIdFTPLPNovellNetware Class File IdFTPListParseNovellNetware (

4640)

Hierarchy

Pascal TIdFTPLPNovellNetware = class(TIdFTPListBase); Description TIdFTPLPNovellNetware is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPNovellNetware Members The following tables list the members exposed by TIdFTPLPNovellNetware. Methods Method

Description

CheckListing ( GetIdent (

903)

ParseListing (

902

903) 904)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPNovellNetware Class

Legend Method virtual

TIdFTPLPNovellNetware Methods The Methods of the TIdFTPLPNovellNetware class are listed here. Methods Method

Description

CheckListing ( GetIdent (

903)

903)

ParseListing (

904)

Legend Method virtual

TIdFTPLPNovellNetware.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPNovellNetware.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

Internet Direct (Indy) Version 10.1.5

903

TIdFTPLPOS2 Class

Classes

TIdFTPLPNovellNetware.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

3089). 857).

Returns boolean Description ParseListing is a overridden class method. ParseListing returns a boolean value.

TIdFTPLPOS2 Class File IdFTPListParseOS2 (

4641)

Hierarchy

Pascal TIdFTPLPOS2 = class(TIdFTPLPBaseDOS); Description TIdFTPLPOS2 is a TIdFTPLPBaseDOS (

870) descendant.

See Also TIdFTPLPBaseDOS (

870)

TIdFTPLPOS2 Members The following tables list the members exposed by TIdFTPLPOS2. Methods Method

Description

CheckListing ( GetIdent (

905)

905)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

904

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPPCNFSD Class

TIdFTPLPOS2 Methods The Methods of the TIdFTPLPOS2 class are listed here. Methods Method

Description

CheckListing ( GetIdent (

905)

905)

Legend Method virtual

TIdFTPLPOS2.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPOS2.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPPCNFSD Class File IdFTPListParsePCNFSD (

4641)

Internet Direct (Indy) Version 10.1.5

905

TIdFTPLPPCNFSD Class

Classes

Hierarchy

Pascal TIdFTPLPPCNFSD = class(TIdFTPListBase); Description TIdFTPLPPCNFSD is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPPCNFSD Members The following tables list the members exposed by TIdFTPLPPCNFSD. Methods Method

Description

CheckListing ( GetIdent (

906)

907)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPPCNFSD Methods The Methods of the TIdFTPLPPCNFSD class are listed here. Methods Method

Description

CheckListing ( GetIdent (

906)

907)

Legend Method virtual

TIdFTPLPPCNFSD.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean 906

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPSterCommEntUx Class

Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPPCNFSD.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPSterComEntBase Class File IdFTPListParseStercomUnixEnt (

4642)

Hierarchy

Pascal TIdFTPLPSterComEntBase = class(TIdFTPListBaseHeader); Description TIdFTPLPSterComEntBase is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPSterCommEntUx Class File IdFTPListParseStercomUnixEnt (

4642)

Hierarchy

Pascal TIdFTPLPSterCommEntUx = class(TIdFTPLPSterComEntBase); Description TIdFTPLPSterCommEntUx is a TIdFTPLPSterComEntBase (

907) descendant.

See Also TIdFTPLPSterComEntBase (

907)

Internet Direct (Indy) Version 10.1.5

907

TIdFTPLPSterCommEntUx Class

Classes

TIdFTPLPSterCommEntUx Members The following tables list the members exposed by TIdFTPLPSterCommEntUx. Methods Method

Description

CheckListing ( GetIdent (

908)

908)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPSterCommEntUx Methods The Methods of the TIdFTPLPSterCommEntUx class are listed here. Methods Method

Description

CheckListing ( GetIdent (

908)

908)

Legend Method virtual

TIdFTPLPSterCommEntUx.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPSterCommEntUx.GetIdent Method Pascal class function GetIdent: String; override;

908

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPSterCommEntUxNS Class

Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPSterCommEntUxNS Class File IdFTPListParseStercomUnixEnt (

4642)

Hierarchy

Pascal TIdFTPLPSterCommEntUxNS = class(TIdFTPLPSterComEntBase); Description TIdFTPLPSterCommEntUxNS is a TIdFTPLPSterComEntBase (

907) descendant.

See Also TIdFTPLPSterComEntBase (

907)

TIdFTPLPSterCommEntUxNS Members The following tables list the members exposed by TIdFTPLPSterCommEntUxNS. Methods Method

Description

CheckListing ( GetIdent (

910)

910)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPSterCommEntUxNS Methods The Methods of the TIdFTPLPSterCommEntUxNS class are listed here. Methods Method

Description

CheckListing ( GetIdent (

910)

910)

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

909

TIdFTPLPSterCommEntUxRoot Class

Classes

TIdFTPLPSterCommEntUxNS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPSterCommEntUxNS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPSterCommEntUxRoot Class File IdFTPListParseStercomUnixEnt (

4642)

Hierarchy

Pascal TIdFTPLPSterCommEntUxRoot = class(TIdFTPLPSterComEntBase); Description TIdFTPLPSterCommEntUxRoot is a TIdFTPLPSterComEntBase (

907) descendant.

See Also TIdFTPLPSterComEntBase (

910

907)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPSterCommEntUxRoot Class

TIdFTPLPSterCommEntUxRoot Members The following tables list the members exposed by TIdFTPLPSterCommEntUxRoot. Methods Method

Description

CheckListing ( GetIdent (

911)

911)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPSterCommEntUxRoot Methods The Methods of the TIdFTPLPSterCommEntUxRoot class are listed here. Methods Method

Description

CheckListing ( GetIdent (

911)

911)

Legend Method virtual

TIdFTPLPSterCommEntUxRoot.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPSterCommEntUxRoot.GetIdent Method Pascal class function GetIdent: String; override;

Internet Direct (Indy) Version 10.1.5

911

TIdFTPLPSterCommExpOS390 Class

Classes

Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPSterCommExpOS390 Class File IdFTPListParseStercomOS390Exp (

4641)

Hierarchy

Pascal TIdFTPLPSterCommExpOS390 = class(TIdFTPListBase); Description TIdFTPLPSterCommExpOS390 is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPSterCommExpOS390 Members The following tables list the members exposed by TIdFTPLPSterCommExpOS390. Methods Method

Description

CheckListing ( GetIdent (

913)

913)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPSterCommExpOS390 Methods The Methods of the TIdFTPLPSterCommExpOS390 class are listed here. Methods Method

Description

CheckListing ( GetIdent (

913)

913)

Legend Method virtual

912

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPStratusVOS Class

TIdFTPLPSterCommExpOS390.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPSterCommExpOS390.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPStratusVOS Class File IdFTPListParseStratusVOS (

4642)

Hierarchy

Pascal TIdFTPLPStratusVOS = class(TIdFTPListBase); Description TIdFTPLPStratusVOS is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

Internet Direct (Indy) Version 10.1.5

913

TIdFTPLPStratusVOS Class

Classes

TIdFTPLPStratusVOS Members The following tables list the members exposed by TIdFTPLPStratusVOS. Methods Method

Description

CheckListing ( GetIdent (

914)

914)

ParseListing (

915)

Legend Method virtual

TIdFTPLPStratusVOS Methods The Methods of the TIdFTPLPStratusVOS class are listed here. Methods Method

Description

CheckListing ( GetIdent (

914)

914)

ParseListing (

915)

Legend Method virtual

TIdFTPLPStratusVOS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPStratusVOS.GetIdent Method Pascal class function GetIdent: String; override;

914

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPSuperTCP Class

Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPStratusVOS.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

3089). 857).

Returns boolean Description ParseListing is a overridden class method. ParseListing returns a boolean value.

TIdFTPLPSuperTCP Class File IdFTPListParseSuperTCP (

4642)

Hierarchy

Pascal TIdFTPLPSuperTCP = class(TIdFTPListBase); Description TIdFTPLPSuperTCP is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPSuperTCP Members The following tables list the members exposed by TIdFTPLPSuperTCP. Methods Method

Description

CheckListing ( GetIdent (

916)

916)

ParseListing (

849)

Internet Direct (Indy) Version 10.1.5

Parses and stores values found in a directory listing response from a remote FTP server.

915

TIdFTPLPTandemGuardian Class

Classes

Legend Method virtual

TIdFTPLPSuperTCP Methods The Methods of the TIdFTPLPSuperTCP class are listed here. Methods Method

Description

CheckListing ( GetIdent (

916)

916)

Legend Method virtual

TIdFTPLPSuperTCP.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPSuperTCP.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

916

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPTandemGuardian Class

TIdFTPLPTandemGuardian Class File IdFTPListParseTandemGuardian (

4643)

Hierarchy

Pascal TIdFTPLPTandemGuardian = class(TIdFTPListBaseHeader); Description TIdFTPLPTandemGuardian is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPTandemGuardian Members The following tables list the members exposed by TIdFTPLPTandemGuardian. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

917)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPTandemGuardian Methods The Methods of the TIdFTPLPTandemGuardian class are listed here. Methods Method GetIdent (

Description 917)

Legend Method virtual

TIdFTPLPTandemGuardian.GetIdent Method Pascal class function GetIdent: String; override; Returns String

Internet Direct (Indy) Version 10.1.5

917

TIdFTPLPTOPS20 Class

Classes

Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPTOPS20 Class File IdFTPListParseTOPS20 (

4643)

Hierarchy

Pascal TIdFTPLPTOPS20 = class(TIdFTPListBase); Description TIdFTPLPTOPS20 is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPTOPS20 Members The following tables list the members exposed by TIdFTPLPTOPS20. Methods Method

Description

CheckListing ( GetIdent (

918)

919)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPTOPS20 Methods The Methods of the TIdFTPLPTOPS20 class are listed here. Methods Method

Description

CheckListing ( GetIdent (

918)

919)

Legend Method virtual

TIdFTPLPTOPS20.CheckListing Method Pascal class function CheckListing( 918

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPTSXPlus Class

AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPTOPS20.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPTSXPlus Class File IdFTPListParseTSXPlus (

4643)

Hierarchy

Pascal TIdFTPLPTSXPlus = class(TIdFTPListBaseHeader); Description TIdFTPLPTSXPlus is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPTSXPlus Members The following tables list the members exposed by TIdFTPLPTSXPlus. Methods Method CheckListing (

Description 920)

Internet Direct (Indy) Version 10.1.5

919

TIdFTPLPUnisysClearPath Class GetIdent (

Classes

920)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPTSXPlus Methods The Methods of the TIdFTPLPTSXPlus class are listed here. Methods Method

Description

CheckListing ( GetIdent (

920)

920)

Legend Method virtual

TIdFTPLPTSXPlus.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPTSXPlus.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

920

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPUnisysClearPath Class

TIdFTPLPUnisysClearPath Class File IdFTPListParseUnisysClearPath (

4643)

Hierarchy

Pascal TIdFTPLPUnisysClearPath = class(TIdFTPListBaseHeader); Description TIdFTPLPUnisysClearPath is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPUnisysClearPath Members The following tables list the members exposed by TIdFTPLPUnisysClearPath. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

921)

ParseListing (

922)

Legend Method virtual

TIdFTPLPUnisysClearPath Methods The Methods of the TIdFTPLPUnisysClearPath class are listed here. Methods Method GetIdent (

Description 921)

ParseListing (

922)

Legend Method virtual

TIdFTPLPUnisysClearPath.GetIdent Method Pascal class function GetIdent: String; override; Returns String

Internet Direct (Indy) Version 10.1.5

921

TIdFTPLPUnitree Class

Classes

Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPUnisysClearPath.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

3089). 857).

Returns boolean Description ParseListing is a overridden class method. ParseListing returns a boolean value.

TIdFTPLPUnitree Class File IdFTPListParseUnix (

4644)

Hierarchy

Pascal TIdFTPLPUnitree = class(TIdFTPLPUnix); Description TIdFTPLPUnitree is a TIdFTPLPUnix (

923) descendant.

See Also TIdFTPLPUnix (

923)

TIdFTPLPUnitree Members The following tables list the members exposed by TIdFTPLPUnitree. Methods Method 848)

CheckListing (

924)

GetIdent (

922

Description

CheckListing (

Detertmines if the class recognizes the specified directory listing format.

923)

ParseListing (

849)

ParseListing (

925)

Parses and stores values found in a directory listing response from a remote FTP server.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPUnix Class

Legend Method virtual

TIdFTPLPUnitree Methods The Methods of the TIdFTPLPUnitree class are listed here. Methods Method GetIdent (

Description 923)

Legend Method virtual

TIdFTPLPUnitree.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPUnix Class File IdFTPListParseUnix (

4644)

Hierarchy

Pascal TIdFTPLPUnix = class(TIdFTPListBase); Description TIdFTPLPUnix is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPUnix Members The following tables list the members exposed by TIdFTPLPUnix. Methods Method CheckListing (

Description 924)

Internet Direct (Indy) Version 10.1.5

923

TIdFTPLPUnix Class GetIdent (

Classes

924)

ParseListing (

925)

Legend Method virtual

TIdFTPLPUnix Methods The Methods of the TIdFTPLPUnix class are listed here. Methods Method

Description

CheckListing ( GetIdent (

924)

924)

ParseListing (

925)

Legend Method virtual

TIdFTPLPUnix.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPUnix.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

924

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPVMBFS Class

TIdFTPLPUnix.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

3089). 857).

Returns boolean Description ParseListing is a overridden class method. ParseListing returns a boolean value.

TIdFTPLPVMBFS Class File IdFTPListParseVM (

4644)

Hierarchy

Pascal TIdFTPLPVMBFS = class(TIdFTPListBase); Description TIdFTPLPVMBFS is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPVMBFS Members The following tables list the members exposed by TIdFTPLPVMBFS. Methods Method

Description

CheckListing ( GetIdent (

926)

926)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

925

TIdFTPLPVMCMS Class

Classes

TIdFTPLPVMBFS Methods The Methods of the TIdFTPLPVMBFS class are listed here. Methods Method

Description

CheckListing ( GetIdent (

926)

926)

Legend Method virtual

TIdFTPLPVMBFS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVMBFS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPVMCMS Class File IdFTPListParseVM (

926

4644)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPVMCMS Class

Hierarchy

Pascal TIdFTPLPVMCMS = class(TIdFTPListBase); Description TIdFTPLPVMCMS is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPVMCMS Members The following tables list the members exposed by TIdFTPLPVMCMS. Methods Method

Description

CheckListing ( GetIdent (

927)

928)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPVMCMS Methods The Methods of the TIdFTPLPVMCMS class are listed here. Methods Method

Description

CheckListing ( GetIdent (

927)

928)

Legend Method virtual

TIdFTPLPVMCMS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Internet Direct (Indy) Version 10.1.5

927

TIdFTPLPVMS Class

Classes

Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVMCMS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPVMS Class File IdFTPListParseVMS (

4644)

Hierarchy

Pascal TIdFTPLPVMS = class(TIdFTPListBase); Description TIdFTPLPVMS is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPVMS Members The following tables list the members exposed by TIdFTPLPVMS. Methods Method

Description

CheckListing ( GetIdent (

929)

929)

ParseListing (

929)

Legend Method virtual

TIdFTPLPVMS Methods The Methods of the TIdFTPLPVMS class are listed here.

928

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPVMS Class

Methods Method

Description

CheckListing ( GetIdent (

929)

929)

ParseListing (

929)

Legend Method virtual

TIdFTPLPVMS.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVMS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPVMS.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

Internet Direct (Indy) Version 10.1.5

3089). 857).

929

TIdFTPLPVSELibrary Class

Classes

Returns boolean Description ParseListing is a overridden class method. ParseListing returns a boolean value.

TIdFTPLPVSELibrary Class File IdFTPListParseVSE (

4645)

Hierarchy

Pascal TIdFTPLPVSELibrary = class(TIdFTPListBase); Description TIdFTPLPVSELibrary is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPVSELibrary Members The following tables list the members exposed by TIdFTPLPVSELibrary. Methods Method

Description

CheckListing ( GetIdent (

931)

931)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPVSELibrary Methods The Methods of the TIdFTPLPVSELibrary class are listed here. Methods Method

Description

CheckListing ( GetIdent (

931)

931)

Legend Method virtual

930

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPVSEPowerQueue Class

TIdFTPLPVSELibrary.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVSELibrary.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPVSEPowerQueue Class File IdFTPListParseVSE (

4645)

Hierarchy

Pascal TIdFTPLPVSEPowerQueue = class(TIdFTPListBase); Description TIdFTPLPVSEPowerQueue is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

Internet Direct (Indy) Version 10.1.5

931

TIdFTPLPVSEPowerQueue Class

Classes

TIdFTPLPVSEPowerQueue Members The following tables list the members exposed by TIdFTPLPVSEPowerQueue. Methods Method

Description

CheckListing ( GetIdent (

932)

932)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPVSEPowerQueue Methods The Methods of the TIdFTPLPVSEPowerQueue class are listed here. Methods Method

Description

CheckListing ( GetIdent (

932)

932)

Legend Method virtual

TIdFTPLPVSEPowerQueue.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVSEPowerQueue.GetIdent Method Pascal class function GetIdent: String; override; Returns String 932

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPVSERootDir Class

Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPVSERootDir Class File IdFTPListParseVSE (

4645)

Hierarchy

Pascal TIdFTPLPVSERootDir = class(TIdFTPListBase); Description TIdFTPLPVSERootDir is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPVSERootDir Members The following tables list the members exposed by TIdFTPLPVSERootDir. Methods Method

Description

CheckListing ( GetIdent (

933)

934)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPVSERootDir Methods The Methods of the TIdFTPLPVSERootDir class are listed here. Methods Method

Description

CheckListing ( GetIdent (

933)

934)

Legend Method virtual

TIdFTPLPVSERootDir.CheckListing Method Pascal class function CheckListing( Internet Direct (Indy) Version 10.1.5

933

TIdFTPLPVSESubLibrary Class

Classes

AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVSERootDir.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPVSESubLibrary Class File IdFTPListParseVSE (

4645)

Hierarchy

Pascal TIdFTPLPVSESubLibrary = class(TIdFTPListBase); Description TIdFTPLPVSESubLibrary is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPVSESubLibrary Members The following tables list the members exposed by TIdFTPLPVSESubLibrary. Methods Method CheckListing (

934

Description 935)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPVSEVSAMCatalog Class GetIdent (

935)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPVSESubLibrary Methods The Methods of the TIdFTPLPVSESubLibrary class are listed here. Methods Method

Description

CheckListing ( GetIdent (

935)

935)

Legend Method virtual

TIdFTPLPVSESubLibrary.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVSESubLibrary.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

Internet Direct (Indy) Version 10.1.5

935

TIdFTPLPVSEVSAMCatalog Class

Classes

TIdFTPLPVSEVSAMCatalog Class File IdFTPListParseVSE (

4645)

Hierarchy

Pascal TIdFTPLPVSEVSAMCatalog = class(TIdFTPListBase); Description TIdFTPLPVSEVSAMCatalog is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPVSEVSAMCatalog Members The following tables list the members exposed by TIdFTPLPVSEVSAMCatalog. Methods Method

Description

CheckListing ( GetIdent (

936)

937)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPVSEVSAMCatalog Methods The Methods of the TIdFTPLPVSEVSAMCatalog class are listed here. Methods Method

Description

CheckListing ( GetIdent (

936)

937)

Legend Method virtual

TIdFTPLPVSEVSAMCatalog.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override;

936

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPVSEVTOC Class

Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVSEVSAMCatalog.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPVSEVTOC Class File IdFTPListParseVSE (

4645)

Hierarchy

Pascal TIdFTPLPVSEVTOC = class(TIdFTPListBase); Description TIdFTPLPVSEVTOC is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPVSEVTOC Members The following tables list the members exposed by TIdFTPLPVSEVTOC. Methods Method

Description

CheckListing ( GetIdent (

938)

938)

ParseListing (

849)

Internet Direct (Indy) Version 10.1.5

Parses and stores values found in a directory listing response from a remote FTP server.

937

TIdFTPLPVxWorks Class

Classes

Legend Method virtual

TIdFTPLPVSEVTOC Methods The Methods of the TIdFTPLPVSEVTOC class are listed here. Methods Method

Description

CheckListing ( GetIdent (

938)

938)

Legend Method virtual

TIdFTPLPVSEVTOC.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPVSEVTOC.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

938

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPVxWorks Class

TIdFTPLPVxWorks Class File IdFTPListParseVxWorks (

4645)

Hierarchy

Pascal TIdFTPLPVxWorks = class(TIdFTPListBaseHeader); Description TIdFTPLPVxWorks is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPVxWorks Members The following tables list the members exposed by TIdFTPLPVxWorks. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

939)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPVxWorks Methods The Methods of the TIdFTPLPVxWorks class are listed here. Methods Method GetIdent (

Description 939)

Legend Method virtual

TIdFTPLPVxWorks.GetIdent Method Pascal class function GetIdent: String; override; Returns String

Internet Direct (Indy) Version 10.1.5

939

TIdFTPLPWfFTP Class

Classes

Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPWfFTP Class File IdFTPListParseWfFTP (

4645)

Hierarchy

Pascal TIdFTPLPWfFTP = class(TIdFTPListBaseHeader); Description TIdFTPLPWfFTP is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPWfFTP Members The following tables list the members exposed by TIdFTPLPWfFTP. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

Detertmines if the class recognizes the specified directory listing format.

941)

ParseListing (

849)

ParseListing (

851)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPWfFTP Methods The Methods of the TIdFTPLPWfFTP class are listed here. Methods Method GetIdent (

Description 941)

Legend Method virtual

940

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPWindowsNT Class

TIdFTPLPWfFTP.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPWindowsNT Class File IdFTPListParseWindowsNT (

4646)

Hierarchy

Pascal TIdFTPLPWindowsNT = class(TIdFTPListBase); Description TIdFTPLPWindowsNT is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPWindowsNT Members The following tables list the members exposed by TIdFTPLPWindowsNT. Methods Method

Description

CheckListing ( GetIdent (

942)

942)

ParseListing (

942)

Legend Method virtual

TIdFTPLPWindowsNT Methods The Methods of the TIdFTPLPWindowsNT class are listed here. Methods Method

Description

CheckListing ( GetIdent (

942)

942)

ParseListing (

942)

Internet Direct (Indy) Version 10.1.5

941

TIdFTPLPWindowsNT Class

Classes

Legend Method virtual

TIdFTPLPWindowsNT.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPWindowsNT.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPWindowsNT.ParseListing Method Pascal class function ParseListing( AListing: TIdStrings; ADir: TIdFTPListItems ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ADir

Type is TIdFTPListItems (

3089). 857).

Returns boolean Description ParseListing is a overridden class method.

942

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLPWinQVNet Class

ParseListing returns a boolean value.

TIdFTPLPWinQVNet Class File IdFTPListParseWinQVTNET (

4646)

Hierarchy

Pascal TIdFTPLPWinQVNet = class(TIdFTPListBase); Description TIdFTPLPWinQVNet is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLPWinQVNet Members The following tables list the members exposed by TIdFTPLPWinQVNet. Methods Method

Description

CheckListing ( GetIdent (

943)

944)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLPWinQVNet Methods The Methods of the TIdFTPLPWinQVNet class are listed here. Methods Method

Description

CheckListing ( GetIdent (

943)

944)

Legend Method virtual

TIdFTPLPWinQVNet.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Internet Direct (Indy) Version 10.1.5

943

TIdFTPLPXecomMicroRTOS Class

Classes

Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLPWinQVNet.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLPXecomMicroRTOS Class File IdFTPListParseXecomMicroRTOS (

4646)

Hierarchy

Pascal TIdFTPLPXecomMicroRTOS = class(TIdFTPListBaseHeader); Description TIdFTPLPXecomMicroRTOS is a TIdFTPListBaseHeader (

850) descendant.

See Also TIdFTPListBaseHeader (

850)

TIdFTPLPXecomMicroRTOS Members The following tables list the members exposed by TIdFTPLPXecomMicroRTOS. Methods Method

Description

CheckListing (

848)

CheckListing (

851)

GetIdent (

945)

ParseListing (

944

Detertmines if the class recognizes the specified directory listing format.

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPLVirtualReader Class ParseListing (

851)

Legend Method virtual

TIdFTPLPXecomMicroRTOS Methods The Methods of the TIdFTPLPXecomMicroRTOS class are listed here. Methods Method GetIdent (

Description 945)

Legend Method virtual

TIdFTPLPXecomMicroRTOS.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value.

TIdFTPLVirtualReader Class File IdFTPListParseVM (

4644)

Hierarchy

Pascal TIdFTPLVirtualReader = class(TIdFTPListBase); Description TIdFTPLVirtualReader is a TIdFTPListBase (

847) descendant.

See Also TIdFTPListBase (

847)

TIdFTPLVirtualReader Members The following tables list the members exposed by TIdFTPLVirtualReader.

Internet Direct (Indy) Version 10.1.5

945

TIdFtpProxySettings Class

Classes

Methods Method

Description

CheckListing ( GetIdent (

946)

946)

ParseListing (

849)

Parses and stores values found in a directory listing response from a remote FTP server.

Legend Method virtual

TIdFTPLVirtualReader Methods The Methods of the TIdFTPLVirtualReader class are listed here. Methods Method

Description

CheckListing ( GetIdent (

946)

946)

Legend Method virtual

TIdFTPLVirtualReader.CheckListing Method Pascal class function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; override; Parameters Parameters

Description

AListing

Type is TIdStrings (

ASysDescript

Scope is const. Type is String. Default value is ''.

ADetails

Scope is const. Type is Boolean. Default value is True.

3089).

Returns boolean Description CheckListing is a overridden class method. CheckListing returns a boolean value.

TIdFTPLVirtualReader.GetIdent Method Pascal class function GetIdent: String; override; Returns String Description GetIdent is a overridden class method. GetIdent returns a String value. 946

Internet Direct (Indy) Version 10.1.5

Classes

TIdFtpProxySettings Class

TIdFtpProxySettings Class File IdFTP (

4629)

Hierarchy

Pascal TIdFtpProxySettings = class(TIdPersistent); Description TIdFtpProxySettings is a TIdPersistent (

3073) descendant.

See Also TIdPersistent (

3073)

TIdFtpProxySettings Members The following tables list the members exposed by TIdFtpProxySettings. Properties Property Host (

Description 948)

Password ( Port (

948)

948)

ProxyType (

949)

UserName (

949)

Methods Method Assign (

Description 948)

Legend Method virtual Property

TIdFtpProxySettings Methods The Methods of the TIdFtpProxySettings class are listed here. Methods Method Assign (

Description 948)

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

947

TIdFtpProxySettings Class

Classes

TIdFtpProxySettings.Assign Method Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Type is TIdPersistent (

3073).

Description Assign is a overridden method.

TIdFtpProxySettings Properties The Properties of the TIdFtpProxySettings class are listed here. Properties Property

Description

Host (

948)

Password ( Port (

948)

948)

ProxyType (

949)

UserName (

949)

Legend Property

TIdFtpProxySettings.Host Property Pascal property Host: String; Description Host is a Published String property. Write access for the property is implemented using FHost.

TIdFtpProxySettings.Password Property Pascal property Password: String; Description Password is a Published String property. Write access for the property is implemented using FPassword.

TIdFtpProxySettings.Port Property Pascal property Port: Integer; Description Port is a Published Integer property. Write access for the property is implemented using FPort.

948

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPRegParseList Class

TIdFtpProxySettings.ProxyType Property Pascal property ProxyType: TIdFtpProxyType; Description ProxyType is a Published TIdFtpProxyType (

2951) property. Write access for the property is implemented using FProxyType.

TIdFtpProxySettings.UserName Property Pascal property UserName: String; Description UserName is a Published String property. Write access for the property is implemented using FUserName.

TIdFTPRegParseList Class Maintains a list of registered parsers for creating structured directory listings in the Indy FTP client. File IdFTPListParseBase (

4636)

Hierarchy

Pascal TIdFTPRegParseList = class(TIdList); Description TIdFTPRegParseList is a TIdList ( 3055) descendant used to maintain registered parsers for creating structured directory listings in the Indy FTP client. TIdFTPRegParseList introduces convenience methods that can be used to examine parser capabilties, check directory listing formats, and to parse structured directory listings by calling methods in the TIdFTPListParserBase class descendants. A single instance of TIdFTPRegParseList is for the GParserList variable. TIdFTPRegParseList is used to register and unregister directory listing parser classes available for use in the framework. Use RegisterFTPListParser (

2893) to register a specific parser class for use with the FTP client.

Use UnregisterFTPListParser (

2932) to disable use of a specific parser class in the FTP client.

See Also TIdList (

3055)

TIdFTPRegParseList GParserList RegisterFTPListParser ( UnregisterFTPListParser (

2893) 2932)

TIdFTPRegParseList Members The following tables list the members exposed by TIdFTPRegParseList. Internet Direct (Indy) Version 10.1.5

949

TIdFTPRegParseList Class

Classes

Methods Method

Description

CheckListing (

950)

CheckListParse (

Finds a registered parser class for a directory listing format.

951)

CheckListParseCapa ( Create (

Examines and parses a structured directory listing using registered parser classes. 951)

952)

Constructor for the object instance.

EnumFTPListParsers ( ParseListing (

Locates a registered list parser class for a specific directory listing format and parses the structured directory listing.

952)

952)

Locates the identifiers for registered parser classes available in the parser list. Parses text in a directory listing into the structured directory listing container.

Legend Method virtual

TIdFTPRegParseList Methods The Methods of the TIdFTPRegParseList class are listed here. Methods Method

Description

CheckListing (

950)

CheckListParse (

CheckListParseCapa ( Create (

Finds a registered parser class for a directory listing format.

951)

Examines and parses a structured directory listing using registered parser classes. 951)

952)

Constructor for the object instance.

EnumFTPListParsers ( ParseListing (

Locates a registered list parser class for a specific directory listing format and parses the structured directory listing.

952)

952)

Locates the identifiers for registered parser classes available in the parser list. Parses text in a directory listing into the structured directory listing container.

Legend Method virtual

TIdFTPRegParseList.CheckListing Method Finds a registered parser class for a directory listing format. Pascal function CheckListing( AListing: TIdStrings; const ASysDescript: String = ''; const ADetails: Boolean = True ): String; virtual; Parameters Parameters

Description

AListing

Text to examine.

ASysDescript

System description for the response. Default value is '' (empty string).

ADetails

Indicates if details are included in the directory listing format. Default value is True.

Returns String - Identifier for the directory listing parser used for the listing format. Description CheckListing is a virtual String function used to find a registered parser class for the directory listing text passed in AListing. CheckListing returns a string value with the identifier for the parser class that can handle the directory listing format in AListing. If a registered parser class cannot be located, the return value is an empty string (''). Use CheckListParse ( Use ParseListing ( 950

951) to locate a parser class and to parse values into the structured directory listing.

952) to text values into a structured directory listing using the parser class identifier retuened from the method. Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPRegParseList Class

See Also CheckListParse ( ParseListing (

951)

952)

TIdFTPRegParseList.CheckListParse Method Examines and parses a structured directory listing using registered parser classes. Pascal function CheckListParse( AListing: TIdStrings; ADir: TIdFTPListItems; var VFormat: String; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; virtual; Parameters Parameters

Description

AListing

Text for the directory listing to examine and parse.

ADir

Structured directory listing collection for parsed values.

VFormat

Format identifier for parser class.

ASysDescript

System description for the remote FTP server. Default value is ''.

ADetails

Indicates if file and directory details are available in the structured directory listing. Default value is True.

Returns boolean - True on success. Description CheckListParse is a virtual Boolean function used to examine the text for a directory listing, to locate a registered parser for the listing format, and to create ( 952) and store values in the structured directory listing. CheckListParse examines the textual values in AListing to locate a registered parser class in the list that support the format. CheckListParse assignes the identifer from the registered parser class to the VFormat argument. CheckListParse calls the ParseListing ( the ADir argument.

952) method to create (

952) and store the contents of the structured directory listing in

CheckListParse returns True on successful completion of the method, or False if a registered parser class cannot be located for the directory listing format. Use CheckListing (

950) to locate a registered parser without parsing the content of the structured directory listing.

TIdFTPRegParseList.CheckListParseCapa Method Locates a registered list parser class for a specific directory listing format and parses the structured directory listing. Pascal function CheckListParseCapa( AListing: TIdStrings; ADir: TIdFTPListItems; var VFormat: String; var VClass: TIdFTPListParseClass; const ASysDescript: String = ''; const ADetails: Boolean = True ): boolean; virtual; Parameters Parameters

Description

AListing

Text values representing the directory listing.

ADir

Structured directory listing used to store values parsed from the textual content.

Internet Direct (Indy) Version 10.1.5

951

TIdFTPRegParseList Class

Classes

VFormat

Identifier for the list parser class used in the method.

VClass

Reference to the list parser class used for the method.

ASysDescript

System description for the remote FTP server. Default value is ''.

ADetails

Indicates if file and directory details are available in the structured directory listing. Default value is True.

Returns boolean - True on success. Description CheckListParseCapa is a virtual Boolean function used to locate a registered list parser class for a specific directory listing and parses the structured directory listing. CheckListParseCapa calls the ParseListing ( listing format.

952) method in the TIdFTPListParserBase class instance located for the directory

CheckListParseCapa clears any existing entries in the ADir structured directory listing argument.

TIdFTPRegParseList.Create Constructor Constructor for the object instance. Pascal constructor Create; overload; Description Create is an overloaded constructor for the object instance. Create calls the inherited constructor priorto exiting from the method. See Also Create

TIdFTPRegParseList.EnumFTPListParsers Method Locates the identifiers for registered parser classes available in the parser list. Pascal procedure EnumFTPListParsers( AData: TIdStrings ); Parameters Parameters

Description

AData

List of identifiers for the registered parser classes.

Description EnumFTPListParsers is a method used to locate the names or identifiers for registered list parser classes available in the registered parser list. EnumFTPListParsers clears any existing content in the AData argument proper to locating identifiers to store in the argument. EnumFTPListParsers iterates over the object instances stored in the GParserList variable defined for the framework, and adds the identifiers for the list parser classes to the AData argument.

TIdFTPRegParseList.ParseListing Method Parses text in a directory listing into the structured directory listing container. Pascal function ParseListing( AListing: TIdStrings; 952

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPSecurityOptions Class

ADir: TIdFTPListItems; const AFormatID: String ): boolean; virtual; Parameters Parameters

Description

AListing

Tesxt to parse using the parser class.

ADir

COntainer for the structured directory listing.

AFormatID

Identifier for the list parser class.

Returns boolean -True on success. Description ParseListing is a virtual Boolean function used to parse the text in a directory listing into the structured directory listing container. ParseListing clears any existing entries in the ADir argument prior to parsing the text in AListing using the parser class specified in AFormatID. ParseListing calls the ParseListing method in the TIdFTPListParserBase class toperform the actual parsing of values stored in AListing.

TIdFTPSecurityOptions Class File IdFTPServer (

4648)

Hierarchy

Pascal TIdFTPSecurityOptions = class(TIdPersistent); Description TIdFTPSecurityOptions is a TIdPersistent (

3073) descendant.

See Also TIdPersistent (

3073)

TIdFTPSecurityOptions Members The following tables list the members exposed by TIdFTPSecurityOptions. Properties Property

Description

BlockAllPORTTransfers (

955)

DisableSTATCommand (

955)

DisableSYSTCommand (

955)

InvalidPassDelay (

955)

NoReservedRangePORT ( PasswordAttempts ( PermitCCC (

955)

956)

956)

RequirePASVFromSameIP (

956)

RequirePORTFromSameIP (

956)

Internet Direct (Indy) Version 10.1.5

953

TIdFTPSecurityOptions Class

Classes

Methods Method

Description

Assign (

954)

Create (

954)

Legend Method virtual Property

TIdFTPSecurityOptions Methods The Methods of the TIdFTPSecurityOptions class are listed here. Methods Method

Description

Assign (

954)

Create (

954)

Legend Method virtual

TIdFTPSecurityOptions.Assign Method Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Type is TIdPersistent (

3073).

Description Assign is a overridden method.

TIdFTPSecurityOptions.Create Constructor Pascal constructor Create; virtual; Description Create is a virtual constructor for the object instance.

TIdFTPSecurityOptions Properties The Properties of the TIdFTPSecurityOptions class are listed here. Properties Property

Description

BlockAllPORTTransfers (

955)

DisableSTATCommand (

955)

DisableSYSTCommand (

955)

InvalidPassDelay (

955)

NoReservedRangePORT (

954

955)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPSecurityOptions Class

PasswordAttempts ( PermitCCC (

956)

956)

RequirePASVFromSameIP (

956)

RequirePORTFromSameIP (

956)

Legend Property

TIdFTPSecurityOptions.BlockAllPORTTransfers Property Pascal property BlockAllPORTTransfers: Boolean; Description BlockAllPORTTransfers is a Published Boolean property. Write access for the property is FBlockAllPORTTransfers. The default value for the property is DEF_FTP_BLOCK_ALL_PORTS ( 3183).

implemented

using

is

implemented

using

is

implemented

using

TIdFTPSecurityOptions.DisableSTATCommand Property Pascal property DisableSTATCommand: Boolean; Description DisableSTATCommand is a Published Boolean property. Write access for the property FDisableSTATCommand. The default value for the property is DEF_FTP_DISABLE_STAT ( 3184).

TIdFTPSecurityOptions.DisableSYSTCommand Property Pascal property DisableSYSTCommand: Boolean; Description DisableSYSTCommand is a Published Boolean property. Write access for the property FDisableSYSTCommand. The default value for the property is DEF_FTP_DISABLE_SYST ( 3184).

TIdFTPSecurityOptions.InvalidPassDelay Property Pascal property InvalidPassDelay: Cardinal; Description InvalidPassDelay is a Published Cardinal property. Write access for the property is implemented using FInvalidPassDelay. The default value for the property is DEF_FTP_INVALIDPASS_DELAY ( 3185).

TIdFTPSecurityOptions.NoReservedRangePORT Property Pascal property NoReservedRangePORT: Boolean; Description NoReservedRangePORT is a Published Boolean property. Write access for the property is implemented FNoReservedRangePORT. The default value for the property is DEF_FTP_NO_RESERVED_PORTS ( 3185).

Internet Direct (Indy) Version 10.1.5

using

955

TIdFTPServer Class

Classes

TIdFTPSecurityOptions.PasswordAttempts Property Pascal property PasswordAttempts: Cardinal; Description PasswordAttempts is a Published Cardinal property. Write access for the property is implemented using FPasswordAttempts. The default value for the property is DEF_FTP_PASSWORDATTEMPTS ( 3185).

TIdFTPSecurityOptions.PermitCCC Property Pascal property PermitCCC: Boolean; Description PermitCCC is a Published Boolean property. Write access for the property is implemented using FPermitCCC. The default value for the property is DEF_FTP_PERMIT_CCC ( 3186).

TIdFTPSecurityOptions.RequirePASVFromSameIP Property Pascal property RequirePASVFromSameIP: Boolean; Description RequirePASVFromSameIP is a Published Boolean property. Write access for the property is implemented using FRequirePASVFromSameIP. The default value for the property is DEF_FTP_PASV_SAME_IP ( 3185).

TIdFTPSecurityOptions.RequirePORTFromSameIP Property Pascal property RequirePORTFromSameIP: Boolean; Description RequirePORTFromSameIP is a Published Boolean property. Write access for the property is implemented using FRequirePORTFromSameIP. The default value for the property is DEF_FTP_PORT_SAME_IP ( 3186).

TIdFTPServer Class File IdFTPServer (

4648)

Hierarchy

Pascal TIdFTPServer = class(TIdExplicitTLSServer); Description TIdFTPServer is a TIdExplicitTLSServer (

691) descendant.

See Also TIdExplicitTLSServer ( 956

691) Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServer Class

TIdFTPServer Members The following tables list the members exposed by TIdFTPServer. Properties Property Active (

Description 458)

Indicates if the server is running and listening for client connections.

AllowAnonymousLogin (

959)

AnonymousAccounts (

960)

AnonymousPassStrictCheck ( Bindings (

960)

461)

Container for socket handles allocated by the server.

CommandHandlers ( Compressor (

330)

Command handlers used in the server implementation.

960)

ContextClass (

461)

Contexts (

Class reference used to create (

462)

CustomSystID (

960)

DefaultDataPort ( DefaultPort (

960)

462)

DirFormat (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server.

Identifies the default port number used to listen for new connections.

960)

EndOfHelpLine (

961)

ExceptionReply (

331)

FTPFileSystem (

961)

FTPSecurityOptions ( Greeting (

Response code and text used for exceptions occurring in the server.

961)

331)

HelpReply (

"Welcome" message sent to new connections accepted in listener thread(s).

332)

Response sent when the HELP command is issued for a client connection.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

Represents the IOHandler used by listener threads for the server.

465)

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

MaxConnectionReply ( MaxConnections ( MLSDFacts (

332)

Indicates the maximum numer of client connections allowed for the server.

961)

OnAfterBind (

466)

OnExecute (

2379)

Event handler signalled after binding socket handles for listener threads. Event handler used to execute the task for a client connection.

PASVBoundPortMax (

961)

PASVBoundPortMin (

961)

PathProcessing ( ReplyTexts (

962)

333)

Represents protocol responses used in the server implementation.

ReplyUnknownCommand (

333)

ReplyUnknownSITCommand ( ReuseSocket ( Scheduler (

466)

SystemType (

Represents the response message used for an unkown command.

962) Indicates reuse of local addresses for listener threads.

466)

SITECommands (

Identifies the thread-based or fiber-based scheduler used in the server. 962)

962)

TerminateWaitTime ( UserAccounts ( UseTLS (

Response used when the maximum number of client connections is exceeded.

465)

468)

Specifies the time a server should wait while terminating executable tasks for client connections.

962)

962)

Version (

269)

WorkTarget (

359)

Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

267)

Constructor for the object instance.

Destroy (

959)

DoWork (

357)

EndWork (

Triggers the OnBeginWork event.

358)

Internet Direct (Indy) Version 10.1.5

Triggers the OnWork event handler. Triggers the OnEndWork event handler.

957

TIdFTPServer Class GetVersion ( CType (

Classes

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnAfterCommandHandler ( OnAfterUserLogin (

334)

OnBeforeCommandHandler ( OnBeforeConnect ( OnChangeDirectory (

Event handler signalled proper to establishing a client connection to the server.

468)

Event handler signalled prior to executing a listener thread.

964)

964)

OnConnect (

469)

OnCRCFile (

964)

Event handler signalled for establishing new client connections.

OnCustomListDirectory (

964)

OnCustomPathProcess ( OnDataPortAfterBind (

964) 965)

OnDataPortBeforeBind ( OnDeleteFile (

469)

OnException (

Event handler signalled when disconnecting the client connection.

470)

Event handler for exceptions raised in a peer thread.

OnFileExistCheck (

965)

OnGetFileDate (

965)

OnGetFileSize (

965)

OnGreeting (

965)

965)

OnDisconnect (

966)

OnListDirectory (

966)

OnListenException (

470)

OnLoginFailureBanner ( OnMakeDirectory ( OnMD5Cache (

Event handler for an exception in a listener thread.

966)

OnLoginSuccessBanner (

966)

966)

966)

OnMD5Verify (

967)

967)

OnPASVBeforeBind ( OnPASVReply (

967)

OnQuitBanner (

967)

967)

OnRemoveDirectory ( OnRenameFile (

967)

968)

OnRetrieveFile (

968)

OnSetATTRIB (

968)

OnSetCreationTime (

968)

OnSetModifiedTime (

968)

OnSiteCHGRP (

968)

OnSiteCHMOD (

969)

OnSiteCHOWN (

969)

OnSiteUMASK ( OnSiteUTIME ( OnStat (

Represents the event handler signalled after CommandHandler usgage.

964)

OnCombineFiles (

OnMLST (

335)

468)

OnBeforeListenerRun ( OnClientID (

Represents the event handler signalled after CommandHandler usgage.

963)

969) 969)

969)

OnStatus (

359)

OnStoreFile (

Represents the current connection status event handler.

969)

OnUserLogin (

970)

Legend Method virtual Property read only Event

958

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServer Class

TIdFTPServer Methods The Methods of the TIdFTPServer class are listed here. Methods Method

Description

Destroy (

959)

Legend Destructor virtual

TIdFTPServer.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdFTPServer Properties The Properties of the TIdFTPServer class are listed here. Properties Property

Description

AllowAnonymousLogin (

959)

AnonymousAccounts (

960)

AnonymousPassStrictCheck ( Compressor ( CustomSystID (

960)

DefaultDataPort ( DirFormat (

960)

960)

EndOfHelpLine (

961)

FTPFileSystem (

961)

FTPSecurityOptions ( MLSDFacts (

961)

961)

PASVBoundPortMax (

961)

PASVBoundPortMin (

961)

PathProcessing (

962)

ReplyUnknownSITCommand ( SITECommands ( SystemType (

962)

962)

962)

UserAccounts ( UseTLS (

960)

960)

962)

962)

Legend Property

TIdFTPServer.AllowAnonymousLogin Property Pascal property AllowAnonymousLogin: Boolean; Description AllowAnonymousLogin

is

a

Internet Direct (Indy) Version 10.1.5

Published

Boolean

property.

Write

access

for

the

property

is

implemented

using 959

TIdFTPServer Class

Classes

FAllowAnonymousLogin. The default value for the property is Id_DEF_AllowAnon (

3282).

TIdFTPServer.AnonymousAccounts Property Pascal property AnonymousAccounts: TIdStringList; Description AnonymousAccounts is a Published TIdStringList ( SetAnonymousAccounts.

3088) property. Write access for the property is implemented using

TIdFTPServer.AnonymousPassStrictCheck Property Pascal property AnonymousPassStrictCheck: Boolean; Description AnonymousPassStrictCheck is a Published Boolean property. Write access for the property is implemented using FAnonymousPassStrictCheck. The default value for the property is Id_DEF_PassStrictCheck ( 3282).

TIdFTPServer.Compressor Property Pascal property Compressor: TIdZLibCompressorBase; Description Compressor is a Published TIdZLibCompressorBase ( FCompressor.

2634) property. Write access for the property is implemented using

TIdFTPServer.CustomSystID Property Pascal property CustomSystID: String; Description CustomSystID is a Published String property. Write access for the property is implemented using FCustomSystID.

TIdFTPServer.DefaultDataPort Property Pascal property DefaultDataPort: Integer; Description DefaultDataPort is a Published Integer property. Write access for the property is implemented using FDefaultDataPort. The default value for the property is IdPORT_FTP_DATA ( 4000).

TIdFTPServer.DirFormat Property Pascal property DirFormat: TIdFTPDirFormat; Description DirFormat is a Published TIdFTPDirFormat ( 2950) property. Write access for the property is implemented using FDirFormat. The default value for the property is DEF_DIRFORMAT ( 3182). 960

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServer Class

TIdFTPServer.EndOfHelpLine Property Pascal property EndOfHelpLine: String; Description EndOfHelpLine is a Published String property. Write access for the property is implemented using FEndOfHelpLine.

TIdFTPServer.FTPFileSystem Property Pascal property FTPFileSystem: TIdFTPBaseFileSystem; Description FTPFileSystem is a Published TIdFTPBaseFileSystem ( SetFTPFileSystem.

839) property. Write access for the property is implemented using

TIdFTPServer.FTPSecurityOptions Property Pascal property FTPSecurityOptions: TIdFTPSecurityOptions; Description FTPSecurityOptions is a Published TIdFTPSecurityOptions ( SetFTPSecurityOptions.

953) property. Write access for the property is implemented using

TIdFTPServer.MLSDFacts Property Pascal property MLSDFacts: TIdMLSDAttrs; Description MLSDFacts is a Published TIdMLSDAttrs (

3060) property. Write access for the property is implemented using FMLSDFacts.

TIdFTPServer.PASVBoundPortMax Property Pascal property PASVBoundPortMax: Integer; Description PASVBoundPortMax is a Published Integer property. Write access for the property is implemented using SetPASVBoundPortMax. The default value for the property is DEF_PASV_BOUND_MAX ( 3193).

TIdFTPServer.PASVBoundPortMin Property Pascal property PASVBoundPortMin: Integer; Description PASVBoundPortMin is a Published Integer property. Write access for the property is implemented using SetPASVBoundPortMin. The default value for the property is DEF_PASV_BOUND_MIN ( 3193).

Internet Direct (Indy) Version 10.1.5

961

TIdFTPServer Class

Classes

TIdFTPServer.PathProcessing Property Pascal property PathProcessing: TIdFTPPathProcessing; Description PathProcessing is a Published TIdFTPPathProcessing ( 2951) property. Write access for the property is implemented using FPathProcessing. The default value for the property is DEF_PATHPROCESSING ( 3193).

TIdFTPServer.ReplyUnknownSITCommand Property Pascal property ReplyUnknownSITCommand: TIdReply; Description ReplyUnknownSITCommand is a Published TIdReply ( SetReplyUnknownSITECommand.

1836) property. Write access for the property is implemented using

TIdFTPServer.SITECommands Property Pascal property SITECommands: TIdCommandHandlers; Description SITECommands is a Published TIdCommandHandlers ( SetSITECommands.

350) property. Write access for the property is implemented using

TIdFTPServer.SystemType Property Pascal property SystemType: string; Description SystemType is a Published string property. Write access for the property is implemented using FSystemType.

TIdFTPServer.UserAccounts Property Pascal property UserAccounts: TIdCustomUserManager; Description UserAccounts is a Published TIdCustomUserManager ( SetUserAccounts.

482) property. Write access for the property is implemented using

TIdFTPServer.UseTLS Property Pascal property UseTLS; Description UseTLS is a Published property.

962

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServer Class

TIdFTPServer Events The Events of the TIdFTPServer class are listed here. Events Event

Description

OnAfterUserLogin (

963)

OnChangeDirectory ( OnClientID (

964)

964)

OnCombineFiles ( OnCRCFile (

964)

964)

OnCustomListDirectory (

964)

OnCustomPathProcess ( OnDataPortAfterBind (

964) 965)

OnDataPortBeforeBind ( OnDeleteFile (

OnFileExistCheck (

965)

OnGetFileDate (

965)

OnGetFileSize (

965)

OnGreeting (

965)

965)

966)

OnListDirectory (

966)

OnLoginFailureBanner (

966)

OnLoginSuccessBanner ( OnMakeDirectory ( OnMD5Cache (

966)

OnMD5Verify ( OnMLST (

966)

966)

967)

967)

OnPASVBeforeBind ( OnPASVReply (

967)

OnQuitBanner (

967)

967)

OnRemoveDirectory ( OnRenameFile (

967)

968)

OnRetrieveFile (

968)

OnSetATTRIB (

968)

OnSetCreationTime (

968)

OnSetModifiedTime (

968)

OnSiteCHGRP (

968)

OnSiteCHMOD (

969)

OnSiteCHOWN ( OnSiteUMASK ( OnSiteUTIME ( OnStat (

969) 969) 969)

969)

OnStoreFile (

969)

OnUserLogin (

970)

Legend Event

TIdFTPServer.OnAfterUserLogin Event Pascal property OnAfterUserLogin: TOnAfterUserLoginEvent; Description OnAfterUserLogin is a Published TOnAfterUserLoginEvent ( implemented using FOnAfterUserLogin.

Internet Direct (Indy) Version 10.1.5

3102) event handler property. Write access for the property is

963

TIdFTPServer Class

Classes

TIdFTPServer.OnChangeDirectory Event Pascal property OnChangeDirectory: TOnDirectoryEvent; Description OnChangeDirectory is a Published TOnDirectoryEvent ( implemented using FOnChangeDirectory.

3106) event handler property. Write access for the property is

TIdFTPServer.OnClientID Event Pascal property OnClientID: TIdOnClientID; Description OnClientID is a Published TIdOnClientID ( FOnClientID.

3068) event handler property. Write access for the property is implemented using

TIdFTPServer.OnCombineFiles Event Pascal property OnCombineFiles: TOnCombineFiles; Description OnCombineFiles is a Published TOnCombineFiles ( using FOnCombineFiles.

3103) event handler property. Write access for the property is implemented

TIdFTPServer.OnCRCFile Event Pascal property OnCRCFile: TOnCheckSumFile; Description OnCRCFile is a Published TOnCheckSumFile ( FOnCRCFile.

3102) event handler property. Write access for the property is implemented using

TIdFTPServer.OnCustomListDirectory Event Pascal property OnCustomListDirectory: TOnCustomListDirectoryEvent; Description OnCustomListDirectory is a Published TOnCustomListDirectoryEvent ( property is implemented using FOnCustomListDirectory.

3104) event handler property. Write access for the

TIdFTPServer.OnCustomPathProcess Event Pascal property OnCustomPathProcess: TOnCustomPathProcess; Description OnCustomPathProcess is a Published TOnCustomPathProcess ( implemented using FOnCustomPathProcess.

964

3105) event handler property. Write access for the property is

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServer Class

TIdFTPServer.OnDataPortAfterBind Event Pascal property OnDataPortAfterBind: TOnDataPortBind; Description OnDataPortAfterBind is a Published TOnDataPortBind ( implemented using FOnDataPortAfterBind.

3105) event handler property. Write access for the property is

TIdFTPServer.OnDataPortBeforeBind Event Pascal property OnDataPortBeforeBind: TOnDataPortBind; Description OnDataPortBeforeBind is a Published TOnDataPortBind ( implemented using FOnDataPortBeforeBind.

3105) event handler property. Write access for the property is

TIdFTPServer.OnDeleteFile Event Pascal property OnDeleteFile: TOnFileEvent; Description OnDeleteFile is a Published TOnFileEvent ( FOnDeleteFile.

3106) event handler property. Write access for the property is implemented using

TIdFTPServer.OnFileExistCheck Event Pascal property OnFileExistCheck: TOnCheckFileEvent; Description OnFileExistCheck is a Published TOnCheckFileEvent ( implemented using FOnFileExistCheck.

3102) event handler property. Write access for the property is

TIdFTPServer.OnGetFileDate Event Pascal property OnGetFileDate: TOnGetFileDateEvent; Description OnGetFileDate is a Published TOnGetFileDateEvent ( using FOnGetFileDate.

3106) event handler property. Write access for the property is implemented

TIdFTPServer.OnGetFileSize Event Pascal property OnGetFileSize: TOnGetFileSizeEvent; Description OnGetFileSize is a Published TOnGetFileSizeEvent ( using FOnGetFileSize.

Internet Direct (Indy) Version 10.1.5

3107) event handler property. Write access for the property is implemented

965

TIdFTPServer Class

Classes

TIdFTPServer.OnGreeting Event Pascal property OnGreeting: TIdOnBanner; Description OnGreeting is a Published TIdOnBanner ( FOnGreeting.

3067) event handler property. Write access for the property is implemented using

TIdFTPServer.OnListDirectory Event Pascal property OnListDirectory: TOnListDirectoryEvent; Description OnListDirectory is a Published TOnListDirectoryEvent ( implemented using FOnListDirectory.

3108) event handler property. Write access for the property is

TIdFTPServer.OnLoginFailureBanner Event Pascal property OnLoginFailureBanner: TIdOnBanner; Description OnLoginFailureBanner is a Published TIdOnBanner ( using FOnLoginFailureBanner.

3067) event handler property. Write access for the property is implemented

TIdFTPServer.OnLoginSuccessBanner Event Pascal property OnLoginSuccessBanner: TIdOnBanner; Description OnLoginSuccessBanner is a Published TIdOnBanner ( implemented using FOnLoginSuccessBanner.

3067) event handler property. Write access for the property is

TIdFTPServer.OnMakeDirectory Event Pascal property OnMakeDirectory: TOnDirectoryEvent; Description OnMakeDirectory is a Published TOnDirectoryEvent ( using FOnMakeDirectory.

3106) event handler property. Write access for the property is implemented

TIdFTPServer.OnMD5Cache Event Pascal property OnMD5Cache: TOnCacheChecksum; Description OnMD5Cache is a Published TOnCacheChecksum ( using FOnMD5Cache.

966

3102) event handler property. Write access for the property is implemented

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServer Class

TIdFTPServer.OnMD5Verify Event Pascal property OnMD5Verify: TOnVerifyChecksum; Description OnMD5Verify is a Published TOnVerifyChecksum ( using FOnMD5Verify.

3115) event handler property. Write access for the property is implemented

TIdFTPServer.OnMLST Event Pascal property OnMLST: TIdOnMLST; Description OnMLST is a Published TIdOnMLST ( FOnMLST.

3071) event handler property. Write access for the property is implemented using

TIdFTPServer.OnPASVBeforeBind Event Pascal property OnPASVBeforeBind: TIdOnPASV; Description OnPASVBeforeBind is a Published TIdOnPASV ( using FOnPASVBeforeBind.

3071) event handler property. Write access for the property is implemented

TIdFTPServer.OnPASVReply Event Pascal property OnPASVReply: TIdOnPASV; Description OnPASVReply is a Published TIdOnPASV ( FOnPASVReply.

3071) event handler property. Write access for the property is implemented using

TIdFTPServer.OnQuitBanner Event Pascal property OnQuitBanner: TIdOnBanner; Description OnQuitBanner is a Published TIdOnBanner ( FOnQuitBanner.

3067) event handler property. Write access for the property is implemented using

TIdFTPServer.OnRemoveDirectory Event Pascal property OnRemoveDirectory: TOnDirectoryEvent; Description OnRemoveDirectory is a Published TOnDirectoryEvent ( implemented using FOnRemoveDirectory.

Internet Direct (Indy) Version 10.1.5

3106) event handler property. Write access for the property is

967

TIdFTPServer Class

Classes

TIdFTPServer.OnRenameFile Event Pascal property OnRenameFile: TOnRenameFileEvent; Description OnRenameFile is a Published TOnRenameFileEvent ( using FOnRenameFile.

3110) event handler property. Write access for the property is implemented

TIdFTPServer.OnRetrieveFile Event Pascal property OnRetrieveFile: TOnRetrieveFileEvent; Description OnRetrieveFile is a Published TOnRetrieveFileEvent ( using FOnRetrieveFile.

3111) event handler property. Write access for the property is implemented

TIdFTPServer.OnSetATTRIB Event Pascal property OnSetATTRIB: TOnSetATTRIB; Description OnSetATTRIB is a Published TOnSetATTRIB ( FOnSetATTRIB.

3112) event handler property. Write access for the property is implemented using

TIdFTPServer.OnSetCreationTime Event Pascal property OnSetCreationTime: TOnSetFileDateEvent; Description OnSetCreationTime is a Published TOnSetFileDateEvent ( implemented using FOnSetCreationTime.

3112) event handler property. Write access for the property is

TIdFTPServer.OnSetModifiedTime Event Pascal property OnSetModifiedTime: TOnSetFileDateEvent; Description OnSetModifiedTime is a Published TOnSetFileDateEvent ( implemented using FOnSetModifiedTime.

3112) event handler property. Write access for the property is

TIdFTPServer.OnSiteCHGRP Event Pascal property OnSiteCHGRP: TOnSiteCHGRP; Description OnSiteCHGRP is a Published TOnSiteCHGRP ( FOnSiteCHGRP.

968

3113) event handler property. Write access for the property is implemented using

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServer Class

TIdFTPServer.OnSiteCHMOD Event Pascal property OnSiteCHMOD: TOnSiteCHMOD; Description OnSiteCHMOD is a Published TOnSiteCHMOD ( using FOnSiteCHMOD.

3113) event handler property. Write access for the property is implemented

TIdFTPServer.OnSiteCHOWN Event Pascal property OnSiteCHOWN: TOnSiteCHOWN; Description OnSiteCHOWN is a Published TOnSiteCHOWN ( using FOnSiteCHOWN.

3113) event handler property. Write access for the property is implemented

TIdFTPServer.OnSiteUMASK Event Pascal property OnSiteUMASK: TOnSiteUMASK; Description OnSiteUMASK is a Published TOnSiteUMASK ( FOnSiteUMASK.

3113) event handler property. Write access for the property is implemented using

TIdFTPServer.OnSiteUTIME Event Pascal property OnSiteUTIME: TOnSiteUTIME; Description OnSiteUTIME is a Published TOnSiteUTIME ( FOnSiteUTIME.

3114) event handler property. Write access for the property is implemented using

TIdFTPServer.OnStat Event Pascal property OnStat: TIdOnFTPStatEvent; Description OnStat is a Published TIdOnFTPStatEvent ( FOnStat.

3069) event handler property. Write access for the property is implemented using

TIdFTPServer.OnStoreFile Event Pascal property OnStoreFile: TOnStoreFileEvent; Description OnStoreFile is a Published TOnStoreFileEvent ( FOnStoreFile.

Internet Direct (Indy) Version 10.1.5

3114) event handler property. Write access for the property is implemented using

969

TIdFTPServerContext Class

Classes

TIdFTPServer.OnUserLogin Event Pascal property OnUserLogin: TOnFTPUserLoginEvent; Description OnUserLogin is a Published TOnFTPUserLoginEvent ( implemented using FOnUserLogin.

3106) event handler property. Write access for the property is

TIdFTPServerContext Class File IdFTPServer (

4648)

Hierarchy

Pascal TIdFTPServerContext = class(TIdFTPServerContextBase); Description TIdFTPServerContext is a TIdFTPServerContextBase (

976) descendant.

See Also TIdFTPServerContextBase (

976)

TIdFTPServerContext Members The following tables list the members exposed by TIdFTPServerContext. Properties Property

Description

ALLOSize (

977)

Authenticated (

977)

AuthMechanism (

972)

BeforeRunDone ( Connection ( CurrentDir ( Data (

2332)

DataMode (

A user-specified object with values used during execution of the task. 973)

973)

DataPBSZCalled ( DataPort (

973)

973)

DataProtBufSize ( DataProtection ( DataStruct ( DataType (

973) 973)

974) 974)

HomeDir (

978)

MLSOpts (

974)

MSDOSMode ( Password (

974)

978)

PasswordAttempts (

974)

974)

RESTPos (

970

Represents the peer connection for a client session on the TCP server.

978)

DataChannel (

PASV (

2332)

379)

974)

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServerContext Class

RNFR (

978)

Server (

975)

SSCNOn ( UMask (

975) 975)

Username (

978)

UserSecurity ( UserType ( Yarn (

975)

979) 2333)

Represents the thread or fiber for executing the task.

ZLibCompressionLevel ( ZLibMemLevel (

975)

975)

ZLibStratagy (

976)

ZLibWindowBits (

976)

Methods Method Binding (

Description 378)

Create (

971)

Destroy (

972)

DoAfterRun (

2331)

DoBeforeRun ( DoRun (

2331)

2332)

Triggers execution of the event handler for the task. Triggers execution of the event handler for the task. Triggers execution of the event handler for the task.

RemoveFromList (

379)

Removes the session context from the list of session contexts in a TCP server.

Events Event

Description

OnAfterRun (

380)

OnBeforeRun ( OnRun (

380)

381)

Event handler signalled after execution of the client connection context. Event handler signalled before execution of the client connection context. Event handler signalled to execute the task for the client session context.

Legend Method virtual Property read only Event

TIdFTPServerContext Methods The Methods of the TIdFTPServerContext class are listed here. Methods Method Create ( Destroy (

Description 971) 972)

Legend Constructor virtual

TIdFTPServerContext.Create Constructor Pascal constructor Create( AConnection: TIdTCPConnection; AYarn: TIdYarn; AList: TIdThreadList = nil ); override;

Internet Direct (Indy) Version 10.1.5

971

TIdFTPServerContext Class

Classes

Parameters Parameters

Description

AConnection

Type is TIdTCPConnection (

AYarn

Type is TIdYarn (

AList

Type is TIdThreadList (

2349).

2632). 3093). Default value is nil.

Description Create is a overridden constructor for the object instance.

TIdFTPServerContext.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdFTPServerContext Properties The Properties of the TIdFTPServerContext class are listed here. Properties Property

Description

AuthMechanism (

972)

DataChannel (

973)

DataMode (

973)

DataPBSZCalled ( DataPort (

973)

973)

DataProtBufSize ( DataProtection ( DataStruct (

973) 973)

974)

DataType (

974)

MLSOpts (

974)

MSDOSMode (

974)

PasswordAttempts ( PASV (

RESTPos ( Server ( SSCNOn ( UMask (

974)

974) 974)

975) 975) 975)

UserSecurity (

975)

ZLibCompressionLevel ( ZLibMemLevel ( ZLibStratagy (

975)

975) 976)

ZLibWindowBits (

976)

Legend Property read only

TIdFTPServerContext.AuthMechanism Property Pascal property AuthMechanism: String;

972

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServerContext Class

Description AuthMechanism is a Public String property. Write access for the property is implemented using FAuthMechanism.

TIdFTPServerContext.DataChannel Property Pascal property DataChannel: TIdDataChannel; Description DataChannel is a Public read-only TIdDataChannel (

486) property.

TIdFTPServerContext.DataMode Property Pascal property DataMode: TIdFTPTransferMode; Description DataMode is a Public TIdFTPTransferMode (

2952) property. Write access for the property is implemented using FDataMode.

TIdFTPServerContext.DataPBSZCalled Property Pascal property DataPBSZCalled: Boolean; Description DataPBSZCalled is a Public Boolean property. Write access for the property is implemented using FDataPBSZCalled.

TIdFTPServerContext.DataPort Property Pascal property DataPort: Integer; Description DataPort is a Public read-only Integer property.

TIdFTPServerContext.DataProtBufSize Property Pascal property DataProtBufSize: Cardinal; Description DataProtBufSize is a Public Cardinal property. Write access for the property is implemented using FDataProtBufSize.

TIdFTPServerContext.DataProtection Property Pascal property DataProtection: TIdFTPDataPortSecurity; Description DataProtection is a Public TIdFTPDataPortSecurity ( FDataProtection.

Internet Direct (Indy) Version 10.1.5

2950) property. Write access for the property is implemented using

973

TIdFTPServerContext Class

Classes

TIdFTPServerContext.DataStruct Property Pascal property DataStruct: TIdFTPDataStructure; Description DataStruct is a Public TIdFTPDataStructure (

2950) property. Write access for the property is implemented using FDataStruct.

TIdFTPServerContext.DataType Property Pascal property DataType: TIdFTPTransferType; Description DataType is a Public TIdFTPTransferType (

2953) property. Write access for the property is implemented using FDataType.

TIdFTPServerContext.MLSOpts Property Pascal property MLSOpts: TIdFTPFactOutputs; Description MLSOpts is a Public TIdFTPFactOutputs (

3028) property. Write access for the property is implemented using FMLSOpts.

TIdFTPServerContext.MSDOSMode Property Pascal property MSDOSMode: Boolean; Description MSDOSMode is a Public Boolean property. Write access for the property is implemented using FMSDOSMode.

TIdFTPServerContext.PasswordAttempts Property Pascal property PasswordAttempts: Cardinal; Description PasswordAttempts is a Public Cardinal property. Write access for the property is implemented using FPasswordAttempts.

TIdFTPServerContext.PASV Property Pascal property PASV: Boolean; Description PASV is a Public Boolean property. Write access for the property is implemented using FPASV.

TIdFTPServerContext.RESTPos Property Pascal property RESTPos: Integer;

974

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServerContext Class

Description RESTPos is a Public Integer property. Write access for the property is implemented using FRESTPos.

TIdFTPServerContext.Server Property Pascal property Server: TIdFTPServer; Description Server is a Public TIdFTPServer (

956) property. Write access for the property is implemented using FServer.

TIdFTPServerContext.SSCNOn Property Pascal property SSCNOn: Boolean; Description SSCNOn is a Public Boolean property. Write access for the property is implemented using FSSCNOn.

TIdFTPServerContext.UMask Property Pascal property UMask: Integer; Description UMask is a Public Integer property. Write access for the property is implemented using FUMask.

TIdFTPServerContext.UserSecurity Property Pascal property UserSecurity: TIdFTPSecurityOptions; Description UserSecurity is a Public TIdFTPSecurityOptions ( SetUserSecurity.

953) property. Write access for the property is implemented using

TIdFTPServerContext.ZLibCompressionLevel Property Pascal property ZLibCompressionLevel: Integer; Description ZLibCompressionLevel is a Public Integer property. Write access for the property is implemented using FZLibCompressionLevel.

TIdFTPServerContext.ZLibMemLevel Property Pascal property ZLibMemLevel: Integer; Description ZLibMemLevel is a Public Integer property. Write access for the property is implemented using FZLibMemLevel.

Internet Direct (Indy) Version 10.1.5

975

TIdFTPServerContextBase Class

Classes

TIdFTPServerContext.ZLibStratagy Property Pascal property ZLibStratagy: Integer; Description ZLibStratagy is a Public Integer property. Write access for the property is implemented using FZLibStratagy.

TIdFTPServerContext.ZLibWindowBits Property Pascal property ZLibWindowBits: Integer; Description ZLibWindowBits is a Public Integer property. Write access for the property is implemented using FZLibWindowBits.

TIdFTPServerContextBase Class File IdFTPServerContextBase (

4650)

Hierarchy

Pascal TIdFTPServerContextBase = class(TIdContext); Description TIdFTPServerContextBase is a TIdContext (

376) descendant.

See Also TIdContext (

376)

TIdFTPServerContextBase Members The following tables list the members exposed by TIdFTPServerContextBase. Properties Property

Description

ALLOSize (

977)

Authenticated (

977)

BeforeRunDone ( Connection ( CurrentDir ( Data (

978)

RESTPos (

978)

A user-specified object with values used during execution of the task.

978)

Username (

978)

UserType (

979)

Yarn (

Represents the peer connection for a client session on the TCP server.

978)

Password ( RNFR (

2332)

978)

2332)

HomeDir (

976

379)

2333)

Represents the thread or fiber for executing the task.

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPServerContextBase Class

Methods Method

Description

Binding (

378)

Create (

378)

Create (

2330)

Destroy (

378)

Frees the object instance.

Destroy (

2331)

Frees the object instance.

DoAfterRun (

2331)

DoBeforeRun ( DoRun (

Constructor for the object instance.

2331)

2332)

Triggers execution of the event handler for the task. Triggers execution of the event handler for the task. Triggers execution of the event handler for the task.

RemoveFromList (

379)

Removes the session context from the list of session contexts in a TCP server.

Events Event

Description

OnAfterRun (

380)

OnBeforeRun ( OnRun (

380)

381)

Event handler signalled after execution of the client connection context. Event handler signalled before execution of the client connection context. Event handler signalled to execute the task for the client session context.

Legend Property read only Method virtual Event

TIdFTPServerContextBase Properties The Properties of the TIdFTPServerContextBase class are listed here. Properties Property

Description

ALLOSize (

977)

Authenticated ( CurrentDir ( HomeDir (

977)

978) 978)

Password (

978)

RESTPos (

978)

RNFR (

978)

Username (

978)

UserType (

979)

Legend Property

TIdFTPServerContextBase.ALLOSize Property Pascal property ALLOSize: Integer; Description ALLOSize is a Public Integer property. Write access for the property is implemented using FALLOSize.

TIdFTPServerContextBase.Authenticated Property Pascal property Authenticated: Boolean;

Internet Direct (Indy) Version 10.1.5

977

TIdFTPServerContextBase Class

Classes

Description Authenticated is a Public Boolean property. Write access for the property is implemented using FAuthenticated.

TIdFTPServerContextBase.CurrentDir Property Pascal property CurrentDir: string; Description CurrentDir is a Public string property. Write access for the property is implemented using FCurrentDir.

TIdFTPServerContextBase.HomeDir Property Pascal property HomeDir: string; Description HomeDir is a Public string property. Write access for the property is implemented using FHomeDir.

TIdFTPServerContextBase.Password Property Pascal property Password: string; Description Password is a Public string property. Write access for the property is implemented using FPassword.

TIdFTPServerContextBase.RESTPos Property Pascal property RESTPos: Integer; Description RESTPos is a Public Integer property. Write access for the property is implemented using FRESTPos.

TIdFTPServerContextBase.RNFR Property Pascal property RNFR: string; Description RNFR is a Public string property. Write access for the property is implemented using FRNFR.

TIdFTPServerContextBase.Username Property Pascal property Username: string; Description Username is a Public string property. Write access for the property is implemented using FUsername.

978

Internet Direct (Indy) Version 10.1.5

Classes

TIdFTPTZInfo Class

TIdFTPServerContextBase.UserType Property Pascal property UserType: TIdFTPUserType; Description UserType is a Public TIdFTPUserType (

2953) property. Write access for the property is implemented using FUserType.

TIdFTPTZInfo Class File IdFTP (

4629)

Hierarchy

Pascal TIdFTPTZInfo = class(TIdPersistent); Description TIdFTPTZInfo is a TIdPersistent (

3073) descendant.

See Also TIdPersistent (

3073)

TIdFTPTZInfo Members The following tables list the members exposed by TIdFTPTZInfo. Properties Property GMTOffset (

Description 980)

GMTOffsetAvailable (

980)

Methods Method Assign (

Description 980)

Legend Method virtual Property

TIdFTPTZInfo Methods The Methods of the TIdFTPTZInfo class are listed here. Methods Method Assign (

Description 980)

Internet Direct (Indy) Version 10.1.5

979

TIdGeneric Class

Classes

Legend Method virtual

TIdFTPTZInfo.Assign Method Pascal procedure Assign( Source: TIdPersistent ); override; Parameters Parameters

Description

Source

Type is TIdPersistent (

3073).

Description Assign is a overridden method.

TIdFTPTZInfo Properties The Properties of the TIdFTPTZInfo class are listed here. Properties Property GMTOffset (

Description 980)

GMTOffsetAvailable (

980)

Legend Property

TIdFTPTZInfo.GMTOffset Property Pascal property GMTOffset: TIdDateTime; Description GMTOffset is a Published TIdDateTime (

4733) property. Write access for the property is implemented using FGMTOffset.

TIdFTPTZInfo.GMTOffsetAvailable Property Pascal property GMTOffsetAvailable: Boolean; Description GMTOffsetAvailable is a Published Boolean property. Write access for the property is implemented using FGMTOffsetAvailable.

TIdGeneric Class Implements the base class for generic textual response added to collections in the DICT Server Protocol. File IdDICTCommon (

980

4615)

Internet Direct (Indy) Version 10.1.5

Classes

TIdGeneric Class

Hierarchy

Pascal TIdGeneric = class(TIdCollectionItem); Description TIdGeneric is a TIdCollectionItem ( the DICT Server Protocol.

3011) descendant that implements a base class for collection items used for textual replies in

TIdGeneric is the ancestor for collection items like TIdStrategy ( TIdGeneric provides the Name (

982) and Desc (

2255) and TIdDBInfo (

526).

981) properties used to identify and represent values in the textual responses.

See Also TIdCollectionItem ( TIdStrategy (

3011)

2255)

TIdDBInfo (

526)

TIdGeneric Members The following tables list the members exposed by TIdGeneric. Properties Property Desc ( Name (

Description 981)

Stores the Description for a value in a DICT protocol response.

982)

Stores the Name for a value in a DICT protocol response.

Legend Property

TIdGeneric Properties The Properties of the TIdGeneric class are listed here. Properties Property Desc ( Name (

Description 981)

Stores the Description for a value in a DICT protocol response.

982)

Stores the Name for a value in a DICT protocol response.

Legend Property

TIdGeneric.Desc Property Stores the Description for a value in a DICT protocol response. Pascal property Desc: String; Description Desc is a String property that represents the storage used for a See Also Name (

982)

Internet Direct (Indy) Version 10.1.5

981

TIdGopher Class

Classes

TIdGeneric.Name Property Stores the Name for a value in a DICT protocol response. Pascal property Name: String; Description Name is a String property that represents the storage used for a Named found in a textual response received in DICT protocol exchanges. See Also Desc (

981)

TIdGopher Class Implements a Gopher client. File IdGopher (

4656)

Hierarchy

Pascal TIdGopher = class(TIdTCPClientCustom); Description The TIdGopher is a TIdTCPClientCustom ( 2340) descendant that implements a client for the Internet Gopher protocol, as described in the Internet Standards document: RFC 1436- The Internet Gopher Protocol TIdGopher also implements partial support for the Gopher+ protocol as described in the document: Gopher+, Upward-Compatible Enhancements to the Internet Gopher protocol> Gopher is a distributed document system developed at the University of Minnesota as an attempt to make locating information resources intuitive for users through a series of structured menus leading to documents or pointers to other protocols such as Telnet and TN3270. While this has been succeeded by the World Wide Web, this is still useful for accessing legacy systems and has a low overhead due to its simplicity and structure. See Also TIdTCPClientCustom ( IndySupport (

2340)

15)

TIdGopher Members The following tables list the members exposed by TIdGopher. Properties Property BoundIP ( BoundPort (

Description 2345)

BoundPortMax (

982

Specifies the the local IP address to be used for the Socket (

2345) 2346)

Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

Represents the upper bounds for local port numbers derived when establishing the client connection.

Internet Direct (Indy) Version 10.1.5

Classes

TIdGopher Class

BoundPortMin (

2346)

ConnectTimeout ( Greeting ( Host (

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

2347)

Millseconds to wait for successful completion of a connection attempt.

2364)

Banner or welcome message for a connection to a protocol server.

986)

IP Address or host name for the Gopher server.

IOHandler (

2364)

The input / output mechanism for the connection.

LastCmdResult (

2367)

ManagedIOHandler ( OnAfterBind (

Response code and text for the last response from the peer connection.

2367)

Indicates tyhe IOHandler (

2347)

2364) for the connection is maintained by the object instance.

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin (

Event handler signalled for read and / or write operations. 2368)

OnWorkEnd ( Port (

2367)

Event handler signalled when beginning a read or write operation.

2369)

Event handler signalled when completing a read or write operation.

986)

Port number for the connection to the Gopher server.

ReadTimeout (

2349)

Socket (

2369)

Version (

269)

WorkTarget (

Millseconds to wait for successful completion of a read attempt. Provides access to the TIdIOHandlerSocket (

1331) for the connection.

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ConnectAndGetAll ( Connected ( Create (

2351)

2344)

Opens a connection and reads all data.

2353)

Indicates if the peer connection has been opened.

267)

Constructor for the object instance.

CreateIOHandler ( Destroy (

357)

Destroy (

2354)

2353)

2364) for the connection.

Frees the object instance. 2356)

Disconnects the peer connection.

357)

EndWork (

Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

GetExtendedMenu ( GetFile (

Creates the IOHandler ( Frees the object instance.

DisconnectNotifyPeer ( DoWork (

Determines if the peer has been gracefully disconnected.

984)

Gets the Gopher+ extended menu.

984)

GetInternalResponse ( GetMenu (

2356)

Reads response detail lines from a peer connection.

985)

Retrieves the Gopher menu.

GetTextFile (

985)

GetVersion (

269)

Search (

986)

CType (

267)

Create (

Version (

269) number for Indy component suite.

Perform a Gopher search using a query.

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

2363)

Sends the RFC protocol header values in a list to the connection. Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnMenuItem ( OnStatus (

987)

359)

Event handler for retrieved Gopher menu items. Represents the current connection status event handler.

Legend Method virtual Property

Internet Direct (Indy) Version 10.1.5

983

TIdGopher Class

Classes

read only Event

TIdGopher Methods The Methods of the TIdGopher class are listed here. Methods Method

Description

GetExtendedMenu ( GetFile (

Gets the Gopher+ extended menu.

984)

GetMenu (

985)

GetTextFile ( Search (

984)

Retrieves the Gopher menu.

985)

986)

Perform a Gopher search using a query.

Legend Method

TIdGopher.GetExtendedMenu Method Gets the Gopher+ extended menu. Pascal function GetExtendedMenu( ASelector: String; AView: String = '' ): TIdGopherMenu; Parameters Parameters

Description

ASelector

the selector used to retrieve the gopher menu

AView

alternative views listed for the item you are retrieving for a Gopher + server.

Returns TIdGopherMenu (

987) - Gopher+ extended menu or standard menu.

Description GetExtendedMenu is a TIdGopherMenu ( 987) function that gets an extended Gopher+ menu including additional Gopher+ information. GetExtendedMenu will also retrieve the standard Gopher menu if the server does not support Gopher+. We do not recommend that you use this procedure unless you are sure the server supports Gopher+ because a constant used in the Gopher+ Protocol greeting will conflict with the menu item type constant IdGopherItem_Redundant ( 3842) which could appear in the menu as a first item. To determine if a Gopher Server supports Gopher+, use the TIdGopherMenuItem.GopherPlusItem ( gopher menu which is referring to the item you want. The application is responsible for freeing the TIdGopherMenu (

993) property from the

987) returned by this function.

TIdGopher.GetFile Method Pascal procedure GetFile( ASelector: String; ADestStream: TIdStream; IsGopherPlus: Boolean = False; AView: String = '' );

984

Internet Direct (Indy) Version 10.1.5

Classes

TIdGopher Class

Parameters Parameters

Description

ASelector

Type is String.

ADestStream

Type is TIdStream (

IsGopherPlus

Type is Boolean. Default value is False.

AView

Type is String.

3087).

Description GetFile is a method.

TIdGopher.GetMenu Method Retrieves the Gopher menu. Pascal function GetMenu( ASelector: String; IsGopherPlus: Boolean = False; AView: String = '' ): TIdGopherMenu; Parameters Parameters

Description

ASelector

the selector for the Gopher item or an empty string to get the root item.

IsGopherPlus

Server supports Gopher+. Default value is False.

AView

Alternative view listed. Default value is ''.

Returns TIdGopherMenu (

987) - The standard Gopher menu.

Description GetMenu is a TIdGopherMenu ( 987) function used to retrieve a Gopher Menu. ISGopherPlus should be set to true for Gopher+ servers or false for non-gopher plus servers in case a menu starts with a "+". AView is an alternative view listed for the menu you are retrieving with Gopher+. The application is responsible for freeing the TIdGopherMenu (

987) returned by this function.

TIdGopher.GetTextFile Method Pascal procedure GetTextFile( ASelector: String; ADestStream: TIdStream; IsGopherPlus: Boolean = False; AView: String = '' ); Parameters Parameters

Description

ASelector

Type is String.

ADestStream

Type is TIdStream (

IsGopherPlus

Type is Boolean. Default value is False.

AView

Type is String.

3087).

Description GetTextFile is a method.

Internet Direct (Indy) Version 10.1.5

985

TIdGopher Class

Classes

TIdGopher.Search Method Perform a Gopher search using a query. Pascal function Search( ASelector: String; AQuery: String ): TIdGopherMenu; Parameters Parameters

Description

ASelector

the selector for the gopher item.

AQuery

the Gopher query string.

Returns TIdGopherMenu (

987) - The Gopher menu returned for the query.

Description Search is a TIdGopherMenu ( 987) function used to perform a Gopher search with the query specified by AQuery, and returns a Gopher Menu resulting from the search. Gopher+ syntax is not supported in AQuery. The application is responsible for freeing the TIdGopherMenu (

987) returned by this function.

TIdGopher Properties The Properties of the TIdGopher class are listed here. Properties Property

Description

Host (

986)

IP Address or host name for the Gopher server.

Port (

986)

Port number for the connection to the Gopher server.

Legend Property

TIdGopher.Host Property IP Address or host name for the Gopher server. Pascal property Host; Description Host is a published String property that identifies the IP address or host name to use for the client connection to the Gopher server.

TIdGopher.Port Property Port number for the connection to the Gopher server. Pascal property Port; Description Port is a TIdPort (

3076) property that identifies the port number used for connecting to a Gopher server.

TIdGopher ( 982) overrides the definition of the Port property to assign the default value to IdPORT_GOPHER ( required in the Gopher protocol specification. 986

4010), as

Internet Direct (Indy) Version 10.1.5

Classes

TIdGopherMenu Class

See Also IdPORT_GOPHER (

4010)

TIdGopher Events The Events of the TIdGopher class are listed here. Events Event

Description

OnMenuItem (

987)

Event handler for retrieved Gopher menu items.

Legend Event

TIdGopher.OnMenuItem Event Event handler for retrieved Gopher menu items. Pascal property OnMenuItem: TIdGopherMenuEvent; Description OnMenuItem is a TIdGopherMenuEvent ( 3029) event handler that is triggered for each menu item retrieved with the GetMenu ( 985), Search ( 986), and GetExtendedMenu ( 984) methods. OnMenuItem is used to display gopher menu items while the complete menu is downloaded. An application must assign a procedure to the event handler in order to respond to the event notification. See Also TIdGopher.GetMenu ( TIdGopher.Search (

985) 986)

TIdGopher.GetExtendedMenu (

984)

TIdGopherMenu Class Collection of Gopher menu items. File IdGopher (

4656)

Hierarchy

Pascal TIdGopherMenu = class(TIdCollection); Description TIdGopherMenu is a collection of TIdGopherMenuItem ( 989) instances, and encapsulates a Gopher menu or a Gopher + Extended Menu. TIdGopherMenu is returned by the following Gopher methods:

TIdGopher.GetExtendedMenu ( TIdGopher.GetMenu (

984)

985)

Internet Direct (Indy) Version 10.1.5

987

TIdGopherMenu Class

Classes

TIdGopher.Search (

986)

See Also TIdGopher.GetExtendedMenu ( TIdGopher.GetMenu ( TIdGopher.Search ( IndySupport (

984)

985) 986)

15)

TIdGopherMenu Members The following tables list the members exposed by TIdGopherMenu. Properties Property

Description

Items (

989)

Gopher menu items in the collection.

Methods Method Add (

Description 988)

Create (

Add a new Gopher menu item.

989)

Constructor for the object instance.

Legend Method Property

TIdGopherMenu Methods The Methods of the TIdGopherMenu class are listed here. Methods Method Add (

Description 988)

Create (

Add a new Gopher menu item.

989)

Constructor for the object instance.

Legend Method

TIdGopherMenu.Add Method Add a new Gopher menu item. Pascal function Add: TIdGopherMenuItem; Returns TIdGopherMenuItem (

989) - Gopher menu item added to the collection.

Description Add is a TIdGopherMenuItem ( 989) function that returns a new TIdGopherMenuItem ( ( 987) collection. Add is primarily for internal use in the TIdGopher ( 982) component.

989), and adds it to the TIdGopherMenu

See Also TIdGopherMenuItem ( TIdGopherMenu ( 988

989)

987) Internet Direct (Indy) Version 10.1.5

Classes

TIdGopherMenuItem Class

TIdGopher (

982)

TIdGopherMenu.Create Constructor Constructor for the object instance. Pascal constructor Create; reintroduce; Description Create is the constructor for the object instance, and is used by TIdGopher.GetMenu ( 984) to create the menu for the Gopher selector.

985) and TIdGopher.GetExtendedMenu (

See Also TIdGopher.GetMenu (

985)

TIdGopher.GetExtendedMenu (

984)

TIdGopherMenu Properties The Properties of the TIdGopherMenu class are listed here. Properties Property Items (

Description 989)

Gopher menu items in the collection.

Legend Property

TIdGopherMenu.Items Property Gopher menu items in the collection. Pascal property Items [ Index: Integer ]: TIdGopherMenuItem; Parameters Parameters

Description

Index

Position in the collection.

Description Items is an indexed TIdGopherMenuItem ( 989) property that provides access to the individual Gopher menu items in the collection. Index values can range from 0 to Count-1. Items is the default property for TIdGopherMenu ( 987).

TIdGopherMenuItem Class Implements a Gopher menu item. File IdGopher (

4656)

Hierarchy

Internet Direct (Indy) Version 10.1.5

989

TIdGopherMenuItem Class

Classes

Pascal TIdGopherMenuItem = class(TIdCollectionItem); Description TIdGopherMenuItem is a TIdCollectionItem ( the Internet Standards document:

3011) descendant that implements an Internet Gopher menu item, as described in

RFC 1436 - The Internet Gopher Protocol TIdGopherMenuItem also implements support for the Gopher+ item block as described in the document: Gopher+, Upward-Compatible Enhancements to the Internet Gopher protocol See Also IndySupport (

15)

TIdGopherMenuItem Members The following tables list the members exposed by TIdGopherMenuItem. Properties Property

Description

AAbstract (

992)

AdminEMail ( Ask (

992)

Geog (

992)

GopherBlock (

993)

GopherPlusItem (

993)

ItemType (

993)

LastModified ( Location (

993)

993)

Selector ( Server ( Title (

993)

993)

Organization ( Port (

Summary for the Gopher item.

992)

994) 994)

994)

URL (

994)

Views (

994)

Alternate representations of the Gopher item.

Methods Method Create ( Destroy (

Description 991)

Constructor for the object instance.

991)

DoneSettingInfoBlock (

991)

Legend Constructor virtual Property read only

TIdGopherMenuItem Methods The Methods of the TIdGopherMenuItem class are listed here. Methods Method Create (

990

Description 991)

Constructor for the object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdGopherMenuItem Class Destroy (

991)

DoneSettingInfoBlock (

991)

Legend Constructor virtual

TIdGopherMenuItem.Create Constructor Constructor for the object instance. Pascal constructor Create( ACollection: TIdCollection ); override; Parameters Parameters

Description

ACollection

Owner of the collection item.

Description Create is the constructor for the object instance, and adds the new TIdGopherMenuItem ( in the ACollection parameter. Create is used internally in TIdGopher.GetMenu (

989) instance to the collection specified

985) and TIdGopher.GetExtendedMenu (

984) methods.

See Also TIdGopher.GetMenu (

985)

TIdGopher.GetExtendedMenu (

984)

TIdGopherMenuItem.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is the overridden destrucor for the object instance.

TIdGopherMenuItem.DoneSettingInfoBlock Method Pascal procedure DoneSettingInfoBlock; virtual; Description DoneSettingInfoBlock virtual

TIdGopherMenuItem Properties The Properties of the TIdGopherMenuItem class are listed here. Properties Property

Description

AAbstract (

992)

AdminEMail ( Ask ( Geog (

Summary for the Gopher item.

992)

992) 992)

GopherBlock (

993)

Internet Direct (Indy) Version 10.1.5

991

TIdGopherMenuItem Class GopherPlusItem ( ItemType ( Location (

993)

993)

Organization (

993)

993)

Selector ( Server ( Title (

993)

993)

LastModified (

Port (

Classes

994) 994)

994)

URL ( Views (

994) 994)

Alternate representations of the Gopher item.

Legend Property read only

TIdGopherMenuItem.AAbstract Property Summary for the Gopher item. Pascal property AAbstract: TIdStringList; Description AAbstract is a read-only TStringList property that contains a summary for the Gopher item; e.g. "Read about our great products". AAbstract is available when using the TIdGopher.GetExtendedMenu ( 984) method and the Gopher Server ( 994) supports the Gopher+ protocol. The property name AAbstract is used in the Indy library to avoid a compiler conflict with the Abstract reserved word in Delphi. See Also TIdGopher.GetExtendedMenu (

984)

TIdGopherMenuItem.AdminEMail Property Pascal property AdminEMail: TIdEMailAddressItem; Description AdminEMail is a Public read-only TIdEMailAddressItem (

641) property

TIdGopherMenuItem.Ask Property Pascal property Ask: TIdHeaderList; Description Ask is a Public read-only TIdHeaderList (

1024) property

TIdGopherMenuItem.Geog Property Pascal property Geog: String; Description Geog is a Public read-only String property.

992

Internet Direct (Indy) Version 10.1.5

Classes

TIdGopherMenuItem Class

TIdGopherMenuItem.GopherBlock Property Pascal property GopherBlock: TIdHeaderList; Description GopherBlock is a Public read-only TIdHeaderList (

1024) property

TIdGopherMenuItem.GopherPlusItem Property Pascal property GopherPlusItem: Boolean; Description GopherPlusItem is a Public Boolean property.

TIdGopherMenuItem.ItemType Property Pascal property ItemType: Char; Description ItemType is a Public Char property.

TIdGopherMenuItem.LastModified Property Pascal property LastModified: String; Description LastModified is a Public read-only String property.

TIdGopherMenuItem.Location Property Pascal property Location: String; Description Location is a Public read-only String property

TIdGopherMenuItem.Organization Property Pascal property Organization: String; Description Organization is a Public read-only String property

TIdGopherMenuItem.Port Property Pascal property Port: Integer;

Internet Direct (Indy) Version 10.1.5

993

TIdGopherServer Class

Classes

Description Port is a Public Integer property.

TIdGopherMenuItem.Selector Property Pascal property Selector: String; Description Selector is a Public String property

TIdGopherMenuItem.Server Property Pascal property Server: String; Description Server is a Public String property.

TIdGopherMenuItem.Title Property Pascal property Title: String; Description Title is a Public String property.

TIdGopherMenuItem.URL Property Pascal property URL: String; Description URL is a Public read-only String property.

TIdGopherMenuItem.Views Property Alternate representations of the Gopher item. Pascal property Views: TIdStringList; Description Views is a read-only TStringList property that contains the Gopher views available for the Gopher item. Gopher Views are alternative forms of a document for different languages or in different formats. Views can be used when requesting the Gopher item with TIdGopher.GetFile ( 984) or TIdGopher.GetMenu ( 985). Views are available if you use the TIdGopher.GetExtendedMenu ( Gopher+ protocol.

984) method and the Gopher Server (

994) supports the

See Also TIdGopher.GetFile (

984)

TIdGopher.GetMenu (

985)

TIdGopher.GetExtendedMenu ( 994

984) Internet Direct (Indy) Version 10.1.5

Classes

TIdGopherServer Class

TIdGopherServer Class Implements a Gopher server. File IdGopherServer (

4658)

Hierarchy

Pascal TIdGopherServer = class(TIdCustomTCPServer); Description TIdGopherServer is a TIdTCPServer ( in the Internet Standards document:

2375) descendant that implements a server for the Internet Gopher protocol, as described

RFC 1436 - The Internet Gopher Protocol TIdGopherServer also implements partial support for the Gopher+ protocol as described in the document: Gopher+, Upward-Compatible Enhancements to the Internet Gopher protocol Gopher is a distributed document system developed at the University of Minnesota as an attempt to make locating information resources intuitive for users through a series of structured menus leading to documents or pointers to other protocols such as Telnet and TN3270. While Gopher has been succeeded by the World Wide Web, this is still useful for accessing legacy systems and has a low overhead due to its simplicity and structure. See Also TIdTCPServer (

2375) IndySupport (

15)

TIdGopherServer Members The following tables list the members exposed by TIdGopherServer. Properties Property Active (

Description 458)

AdminEmail ( Bindings (

Indicates if the server is running and listening for client connections. 999)

E-Mail address of the Gopher server maintainer.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

462)

DefaultPort (

462)

Class reference used to create (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server. Identifies the default port number used to listen for new connections.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

MaxConnections ( OnAfterBind (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

Indicates the maximum numer of client connections allowed for the server.

466)

ReuseSocket ( Scheduler (

Represents the IOHandler used by listener threads for the server.

465)

Event handler signalled after binding socket handles for listener threads.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( TruncateLength (

468)

Specifies the time a server should wait while terminating executable tasks for client connections.

999)

TruncateUserFriendlyName (

Maximum length of a Gopher menu item. 999)

Internet Direct (Indy) Version 10.1.5

Indicates that display text can be truncated.

995

TIdGopherServer Class Version (

Classes

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion (

Triggers the OnEndWork event handler.

269)

Version (

ReturnGopherItem (

996)

SendDirectoryEntry (

997)

SetTruncateLength (

998)

SetTruncateUserFriendlyName ( CType (

269) number for Indy component suite.

Formats a Gopher menu item for display. Send a Gopher menu item to the client. Write method for the TruncateLength ( 998)

999) property.

Write method for the UserFriendlyName property.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect ( OnException (

Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException ( OnPlusRequest ( OnStatus (

Event handler signalled prior to executing a listener thread.

469)

OnDisconnect (

OnRequest (

Event handler signalled proper to establishing a client connection to the server.

468)

Event handler for exceptions raised in a peer thread. 470)

Event handler for an exception in a listener thread.

1000)

Server event handler for a Gopher+ request.

1000)

Server event handler for Gopher requests.

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdGopherServer Methods The Methods of the TIdGopherServer class are listed here. Methods Method

Description

ReturnGopherItem (

996)

SendDirectoryEntry (

997)

SetTruncateLength (

998)

SetTruncateUserFriendlyName (

Formats a Gopher menu item for display. Send a Gopher menu item to the client. Write method for the TruncateLength ( 998)

999) property.

Write method for the UserFriendlyName property.

Legend Method

TIdGopherServer.ReturnGopherItem Method Formats a Gopher menu item for display. Pascal function ReturnGopherItem( ItemType: Char; 996

Internet Direct (Indy) Version 10.1.5

Classes

TIdGopherServer Class

UserFriendlyName: String; RealResourceName: String; HostServer: String; HostPort: Integer ): String; Parameters Parameters

Description

ItemType

Gopher item type.

UserFriendlyName

Display name for the menu item.

RealResourceName

Item selector or TN3270 hint.

HostServer

The server hosting the Gopher menu item.

HostPort

The port number for the Gopher server.

Returns String - Display values for the Gopher menu item. Description ReturnGopherItem is a String function that returns a properly formatted Gopher menu item provided with the information from the parameters. ItemType should be one of the following constants defined in GopherConsts.

TIdGopherServer.SendDirectoryEntry Method Send a Gopher menu item to the client. Pascal procedure SendDirectoryEntry( AContext: TIdContext; ItemType: Char; UserFriendlyName: String; RealResourceName: String; HostServer: String; HostPort: Integer ); Parameters Parameters

Description

AContext

The client connection to receive the Gopher item.

ItemType

The Gopher item type constant.

UserFriendlyName

Name to display on client menus.

RealResourceName

Item selector or a hint for logging into a Telnet or TN3270 service.

HostServer

Gopher Server hosting the item.

HostPort

Port number for the host.

Description SendDirectoryEntry is a procedure used to send a Gopher menu item to the client connection specified in AThread. ItemType contains a constant that identifies the item type, as defined in GopherConsts.pas, and normally contains of the following values:

Value

Meaning

IdGopherItem_Document ( IdGopherItem_Directory (

3840) 3840)

Item is a file Item is a directory

IdGopherItem_CSO (

3839)

Item is a CSO phone-book server

IdGopherItem_Error (

3840)

Error

IdGopherItem_BinHex (

3839)

Internet Direct (Indy) Version 10.1.5

Item is a BinHexed Macintosh file

997

TIdGopherServer Class

Classes

IdGopherItem_BinDOS ( IdGopherItem_UUE (

3839)

3844)

IdGopherItem_Search (

Item is DOS binary archive of some sort. Client must read until the TCP connection closes. Beware. Item is a UNIX (

3843)

4539) uuencoded file

Item is an Index-Search server

IdGopherItem_Telnet (

3843)

Item points to a text-based telnet session

IdGopherItem_Binary (

3839)

Item is a binary file. Client must read until the TCP connection closes. Beware.

IdGopherItem_Redundant ( IdGopherItem_TN3270 ( IdGopherItem_GIF (

3842)

3844)

3840)

Item is a redundant server Item points to a text-based tn3270 session Item is a GIF format graphics file

IdGopherItem_Image (

3841)

Item is some kind of image file Client decides how to display

IdGopherItem_HTML (

3841)

Website

IdGopherItem_MIME (

3842)

Mime encoded file

IdGopherItem_Information (

3841)

Not a file, just information

TIdGopherServer.SetTruncateLength Method Write method for the TruncateLength (

999) property.

Pascal procedure SetTruncateLength( length: Integer ); Description SetTruncateLength is a procedure that provides write acess to the TruncateLength ( length of a Gopher menu item line.

999) property, and updates the maximum

See Also TruncateLength (

999)

TIdGopherServer.SetTruncateUserFriendlyName Method Write method for the UserFriendlyName property. Pascal procedure SetTruncateUserFriendlyName( truncate: Boolean ); Description SetTruncateUserFriendlyName is a procedure that provides write access to the TruncateUserFriendlyName ( updates the value for the property.

999) property, and

See Also TruncateUserFriendlyName (

999)

TIdGopherServer Properties The Properties of the TIdGopherServer class are listed here. Properties Property AdminEmail (

998

Description 999)

E-Mail address of the Gopher server maintainer.

Internet Direct (Indy) Version 10.1.5

Classes

TIdGopherServer Class

TruncateLength (

999)

Maximum length of a Gopher menu item.

TruncateUserFriendlyName (

999)

Indicates that display text can be truncated.

Legend Property

TIdGopherServer.AdminEmail Property E-Mail address of the Gopher server maintainer. Pascal property AdminEmail: String; Description AdminEmail is a String property that identifies the name and/or email address for the maintainer of the Gopher server. For example:

TIdGopherServer.TruncateLength Property Maximum length of a Gopher menu item. Pascal property TruncateLength: Integer; Description TruncateLength is an Integer property that identifies the maximum length of the display text for a Gopher menu item. See Also TIdGopherMenuItem (

989)

TIdGopherServer.TruncateUserFriendlyName Property Indicates that display text can be truncated. Pascal property TruncateUserFriendlyName: Boolean; Description TruncateUserFriendlyName is a Boolean property that indicates if the display text for a Gopher menu item can be truncated to the length in TruncateLength ( 999). See Also TruncateLength (

999)

TIdGopherServer Events The Events of the TIdGopherServer class are listed here. Events Event

Description

OnPlusRequest ( OnRequest (

1000)

1000)

Server event handler for a Gopher+ request. Server event handler for Gopher requests.

Legend Event

Internet Direct (Indy) Version 10.1.5

999

TIdHash Class

Classes

TIdGopherServer.OnPlusRequest Event Server event handler for a Gopher+ request. Pascal property OnPlusRequest: TPlusRequestEvent; Parameters Parameters

Description

AThread

Client connection making the request.

ARequest

The Gopher selector for the requested item.

APlusData

The Gopher+ command and additional information for the request.

Description OnPlusRequest is a TPlusRequestEvent (

3116) event handler that allows the server application to respond to Gopher+ requests.

APlusData can includes the Gopher+ command in the first byte and additional information such as a requested View for an item and sometimes ASK block data sent from the client. The command byte in APlusData can be one of the following:

TIdGopherServer.OnRequest Event Server event handler for Gopher requests. Pascal property OnRequest: TRequestEvent; Parameters Parameters

Description

AThread

The client connection making the request.

ARequest

The Gopher selector from the client.

Description OnRequest is a TRequestEvent ( client connection in AThread.

3117) event handler that allows the server application to respond to Gopher requests from the

ARequest is the selector read from the client connection.

TIdHash Class Abstract base class for hashing algorithm ancestor classes. File IdHash (

4658)

Hierarchy

Pascal TIdHash = class(TIdBaseObject); Description TIdHash is a TObject descendant and the abstract ancestor for classes that implement a specific hashing algorithm to calculate a hash value of a specific size. TIdHash is an abstract ancestor class that does not have any properties, methods, or events. 1000

Internet Direct (Indy) Version 10.1.5

Classes

TIdHash128 Class

See Also TIdHash16 (

1003)

TIdHash32 (

1008)

TIdHash128 (

1001)

TIdHash160 (

1006)

TIdHash128 Class Implements a class to calculate a 128-bit hash value based on string- or stream-based input values. File IdHash (

4658)

Hierarchy

Pascal TIdHash128 = class(TIdHash); Description TIdHash128 is a TIdHash ( stream-based input values.

1000) descendant that implements calculation of a 128-bit hash value based on string- or

In TIdHash128, an abstract virtual method is declared for calculating the hash value for the input data from a stream. Applications should create instances of a descendant class that implements the abstract method for calculating the hash value for the content in a stream. See Also TIdHashMessageDigest (

1016)

TIdHash128.HashValue (

1002)

IndySupport (

15)

TIdHash128 Members The following tables list the members exposed by TIdHash128. Methods Method AsHex (

Description 1002)

HashValue (

Converts the hash value to it's hexadecimal representation. 1002)

Legend Method abstract

TIdHash128 Methods The Methods of the TIdHash128 class are listed here.

Internet Direct (Indy) Version 10.1.5

1001

TIdHash128 Class

Classes

Methods Method AsHex (

Description 1002)

HashValue (

Converts the hash value to it's hexadecimal representation. 1002)

Legend Method abstract

TIdHash128.AsHex Method Converts the hash value to it's hexadecimal representation. Pascal class function AsHex( const AValue: T4x4LongWordRecord ): string; Parameters Parameters

Description

AValue

The record containg LongWord values to converted to hex.

Returns String - Hexadecimal representation of the hash value. Description AsHex is String class function that converts the hash value specified in AValue to it's hexadecimal representation. AsHex allocates a string with the length needed to represent the multiple LongWord values in AValue. AsHex allows uses of the method without an existing instance of the TIdHash128 ( 1001) class. AsHex is used in TIdPOP3.Connect ( mechanism.

1775) when the MD5 hash value is converted to hex for used in the APOP authentication

Example sHex := TIdHash128.AsHex(HashValue(sUsername + sPassword)); sAPOPDigest := Lowercase(sHex); See Also TIdPOP3.Connect (

1775)

TIdHash128.HashValue Method Overload List Method TIdHash128.HashValue 1003) (

Description (string)

(

Implements calculation of a hash value for input data.

TIdHash128.HashValue (TIdStream) 1002)

TIdHash128.HashValue Method (TIdStream) Pascal function HashValue( AStream: TIdStream ): T4x4LongWordRecord; virtual; abstract; overload;

1002

Internet Direct (Indy) Version 10.1.5

Classes

TIdHash16 Class

Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns T4x4LongWordRecord (

2997)

Description TIdHash128.HashValue overloaded abstract virtual method. See Also TIdHash128.HashValue

TIdHash128.HashValue Method (string) Implements calculation of a hash value for input data. Pascal function HashValue( const ASrc: string ): T4x4LongWordRecord; overload; Parameters Parameters

Description

ASrc

String containing data used to calculate the hash value.

Returns T4x4LongWordRecord (

2997) - 128-bit hash value for the input data.

Description HashValue is an overloaded T4x4LongWordRecord ( to calculate the 128-bit hash value for the input data.

2997) function in TIdHash128 (

The string-based variant of HashValue creates a TIdStream ( overloaded HashValue method.

1001) that specifies the mechanism used

3087) instance used to calculate the hash value, and calls the

The stream-based variant of HashValue is an abstract virtual function that must be reimplemented in a descendant class, like TIdHashMessageDigest ( 1016), to support the specifics of the hashing algorithm. See Also TIdHash128.HashValue TIdHashMessageDigest ( IndySupport (

1016)

15)

TIdHash16 Class Implements a class to calculate a 16-bit hash value based on string- or stream-based input values. File IdHash (

4658)

Hierarchy

Pascal TIdHash16 = class(TIdHash); Internet Direct (Indy) Version 10.1.5

1003

TIdHash16 Class

Classes

Description TIdHash16 is a TIdHash ( input values.

1000) descendant that implements calculation of a 16-bit hash value based on string- or stream-based

TIdHash16 is a base class that specifies an abstract virtual method for calculating the hash value for the input data from a stream. Applications should create instances of a descendant class that implements the abstract methods. See Also TIdHash16 TIdHashCRC16 ( IndySupport (

1011)

15)

TIdHash16 Members The following tables list the members exposed by TIdHash16. Methods Method

Description

HashByte (

1004)

HashStart (

1005)

HashValue (

1005)

Legend Method abstract

TIdHash16 Methods The Methods of the TIdHash16 class are listed here. Methods Method

Description

HashByte (

1004)

HashStart (

1005)

HashValue (

1005)

Legend Method abstract

TIdHash16.HashByte Method Pascal procedure HashByte( var VRunningHash: Word; const AByte: Byte ); virtual; abstract; Parameters Parameters

Description

VRunningHash

Scope is var. Type is Word.

AByte

Scope is const. Type is Byte.

Description abstract virtual

1004

Internet Direct (Indy) Version 10.1.5

Classes

TIdHash16 Class

TIdHash16.HashStart Method Pascal procedure HashStart( var VRunningHash: Word ); virtual; abstract; Parameters Parameters

Description

VRunningHash

Scope is var. Type is Word.

Description abstract virtual

TIdHash16.HashValue Method Overload List Method TIdHash16.HashValue (string) ( (

Description 1005)

TIdHash16.HashValue (TIdStream) 1005)

TIdHash16.HashValue Method (TIdStream) Pascal function HashValue( AStream: TIdStream ): Word; virtual; abstract; overload; Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns Word Description TIdHash16.HashValue overloaded abstract virtual method. See Also TIdHash16.HashValue

TIdHash16.HashValue Method (string) Pascal function HashValue( const ASrc: string ): Word; overload; Parameters Parameters

Description

ASrc

String containing data used to calculate the hash value.

Returns Word - 16-bit hash value for the input data.

Internet Direct (Indy) Version 10.1.5

1005

TIdHash160 Class

Classes

Description HashValue is an overloaded Word function in TIdHash16 ( value for the input data.

1003) that specifies the mechanism used to calculate the 16-bit hash

The stream-based variant of HashValue is an abstract virtual function that must be reimplemented in a descendant class, like TIdHashCRC16 ( 1011), to support the specifics of the hashing algorithm. The string-based variant of HashValue relies on the overloaded implementation to calculate the hash value. See Also TIdHash16.HashValue TIdHashCRC16 ( IndySupport (

1011)

15)

TIdHash160 Class Implements a class to calculate a 160-bit hash value based on string- or stream-based input values. File IdHash (

4658)

Hierarchy

Pascal TIdHash160 = class(TIdHash); Description TIdHash160 is a TIdHash ( stream-based input values.

1000) descendant that implements calculation of a 160-bit hash value based on string- or

In TIdHash160, an abstract virtual method is declared for calculating the hash value for the input data from a stream. Applications should create instances of a descendant class that implements the abstract method for calculating the hash value for the content in a stream. See Also TIdHashSHA1 (

1022)

TIdHash160.HashValue ( IndySupport (

1007)

15)

TIdHash160 Members The following tables list the members exposed by TIdHash160. Methods Method AsHex (

Description 1007)

HashValue (

Converts the hash value to it's hexadecimal representation. 1007)

Legend Method abstract

1006

Internet Direct (Indy) Version 10.1.5

Classes

TIdHash160 Class

TIdHash160 Methods The Methods of the TIdHash160 class are listed here. Methods Method AsHex (

Description 1007)

HashValue (

Converts the hash value to it's hexadecimal representation. 1007)

Legend Method abstract

TIdHash160.AsHex Method Converts the hash value to it's hexadecimal representation. Pascal class function AsHex( const AValue: T5x4LongWordRecord ): string; Parameters Parameters

Description

AValue

The record containg LongWord values to converted to hex.

Returns String - Hexadecimal representation of the hash value. Description AsHex is String class function that converts the hash value specified in AValue to it's hexadecimal representation. AsHex allocates a string with the length needed to represent the multiple LongWord values in AValue. AsHex allows uses of the method without an existing instance of the TIdHash160 ( 1006) class. AsHex calls the ToHex (

2926) function to convert the data in AValue to it's hexadecimal representation.

See Also ToHex (

2926)

TIdHashSHA1 (

1022)

TIdHash160.HashValue Method Overload List Method TIdHash160.HashValue 1008) (

Description (string)

(

Calculates a 160-bit hash value for input data.

TIdHash160.HashValue (TIdStream) 1007)

TIdHash160.HashValue Method (TIdStream) Pascal function HashValue( AStream: TIdStream ): T5x4LongWordRecord; virtual; abstract; overload;

Internet Direct (Indy) Version 10.1.5

1007

TIdHash32 Class

Classes

Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns T5x4LongWordRecord (

2998)

Description TIdHash160.HashValue overloaded abstract virtual method. See Also TIdHash160.HashValue

TIdHash160.HashValue Method (string) Calculates a 160-bit hash value for input data. Pascal function HashValue( const ASrc: string ): T5x4LongWordRecord; overload; Parameters Parameters

Description

ASrc

String containing input data for the hash value calculation.

Returns T5x4LongWordRecord (

2998) - 160-Bit hash value for the calculation.

Description HashValue is an overloaded class method used to calculate a 160-bit hash value from input data provided in parameters to the method. HashValue creates a TIdStream (

3087) instance used to write the value in ASrc, and calls the overloaded Stream method.

As a class method, HashValue does not require an existing instance of TIdHash160 (

1006) to perform the hash value calculation.

The stream-based variant of HasHValue is an abstract virtual method, and must be overridden in a descendant class that implements the specifics of a hashing algorithm (like TIdHashSHA1 ( 1022)). See Also TIdHash160.HashValue TIdHashSHA1.HashValue (

1023)

TIdHash32 Class Implements a class to calculate a 32-bit hash value based on string- or stream-based input values. File IdHash (

4658)

Hierarchy

Pascal TIdHash32 = class(TIdHash);

1008

Internet Direct (Indy) Version 10.1.5

Classes

TIdHash32 Class

Description TIdHash32 is a TIdHash ( input values.

1000) descendant that implements calculation of a 32-bit hash value based on string- or stream-based

TIdHash32 is a base class that specifies an abstract virtual method for calculating the hash value for the input data from a stream. Applications should create instances of a descendant class that implements the abstract methods. See Also TIdHash32.HashValue ( TIdHashCRC32 ( IndySupport (

1010)

1013)

15)

TIdHash32 Members The following tables list the members exposed by TIdHash32. Methods Method

Description

HashByte (

1009)

HashStart (

1010)

HashValue (

1010)

Legend Method abstract

TIdHash32 Methods The Methods of the TIdHash32 class are listed here. Methods Method

Description

HashByte (

1009)

HashStart (

1010)

HashValue (

1010)

Legend Method abstract

TIdHash32.HashByte Method Pascal procedure HashByte( var VRunningHash: LongWord; const AByte: Byte ); virtual; abstract; Parameters Parameters

Description

VRunningHash

Scope is var. Type is LongWord.

AByte

Scope is const. Type is Byte.

Description abstract virtual

Internet Direct (Indy) Version 10.1.5

1009

TIdHash32 Class

Classes

TIdHash32.HashStart Method Pascal procedure HashStart( var VRunningHash: LongWord ); virtual; abstract; Parameters Parameters

Description

VRunningHash

Scope is var. Type is LongWord.

Description abstract virtual

TIdHash32.HashValue Method Overload List Method TIdHash32.HashValue (string) ( (

Description 1010)

Implements calculation of a hash value for input data.

TIdHash32.HashValue (TIdStream) 1010)

TIdHash32.HashValue Method (TIdStream) Pascal function HashValue( AStream: TIdStream ): LongWord; virtual; abstract; overload; Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns LongWord Description TIdHash32.HashValue overloaded abstract virtual method. See Also TIdHash32.HashValue

TIdHash32.HashValue Method (string) Implements calculation of a hash value for input data. Pascal function HashValue( const ASrc: string ): LongWord; overload; Parameters Parameters

Description

ASrc

String containing data used to calculate the hash value.

Returns LongWord - Hash value for the input data. 1010

Internet Direct (Indy) Version 10.1.5

Classes

TIdHashCRC16 Class

Description HashValue is an overloaded LongWord function in TIdHash32 ( hash value for the input data.

1008) that specifies the mechanism used to calculate the 32-bit

The stream-based variant of HashValue is an abstract virtual function that must be reimplemented in a descendant class, like TIdHashCRC32 ( 1013), to support the specifics of the hashing algorithm. The string-based variant of HashValue relies on the overloaded implementation to calculate the hash value. See Also TIdHashCRC32 ( IndySupport (

1013)

15) TIdHash32.HashValue

TIdHashCRC16 Class Implements methods used to calculate a 16-bit CRC value for data in an input stream. File IdHashCRC (

4659)

Hierarchy

Pascal TIdHashCRC16 = class(TIdHash16); Description TIdHashCRC16 is a TIdHash16 ( 1003) descendant that implements methods used to calculate a 16-bit Cyclic Redundnacy Check (CRC) value for data in an input stream. TIdHashCRC16 uses a pre-computed 512-byte lookup table for faster calculation of CRC values. See Also TIdHash16 (

1003)

TIdHashCRC16.HashValue ( IndySupport (

1012)

15)

TIdHashCRC16 Members The following tables list the members exposed by TIdHashCRC16. Methods Method

Description

HashByte (

1012)

HashStart (

1012)

HashValue (

1012)

HashValue (

1005)

Legend Method virtual abstract

Internet Direct (Indy) Version 10.1.5

1011

TIdHashCRC16 Class

Classes

TIdHashCRC16 Methods The Methods of the TIdHashCRC16 class are listed here. Methods Method

Description

HashByte (

1012)

HashStart (

1012)

HashValue (

1012)

Legend Method virtual

TIdHashCRC16.HashByte Method Pascal procedure HashByte( var VRunningHash: Word; const AByte: Byte ); override; Parameters Parameters

Description

VRunningHash

Scope is var. Type is Word.

AByte

Scope is const. Type is Byte.

Description HashByte is a overridden method.

TIdHashCRC16.HashStart Method Pascal procedure HashStart( var VRunningHash: Word ); override; Parameters Parameters

Description

VRunningHash

Scope is var. Type is Word.

Description HashStart is a overridden method.

TIdHashCRC16.HashValue Method Pascal function HashValue( AStream: TIdStream ): Word; override; Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns Word 1012

Internet Direct (Indy) Version 10.1.5

Classes

TIdHashCRC32 Class

Description HashValue is a overridden method. HashValue returns a Word value.

TIdHashCRC32 Class Implements methods used to calculate a 32-bit CRC value for data in an input stream. File IdHashCRC (

4659)

Hierarchy

Pascal TIdHashCRC32 = class(TIdHash32); Description TIdHashCRC32 is a TIdHash32 ( 1008) descendant that implements methods used to calculate a 32-bit Cyclic Redundnacy Check (CRC) value for data in an input stream. TIdHashCRC32 uses a pre-computed 1024-byte lookup table for faster calculation of CRC values. See Also TIdHash32 (

1008)

TIdHashCRC32.HashValue ( IndySupport (

1014)

15)

TIdHashCRC32 Members The following tables list the members exposed by TIdHashCRC32. Methods Method

Description

HashByte (

1014)

HashStart (

1014)

HashValue (

1014)

HashValue (

1010)

Legend Method virtual abstract

TIdHashCRC32 Methods The Methods of the TIdHashCRC32 class are listed here. Methods Method

Description

HashByte (

1014)

HashStart (

1014)

HashValue (

1014)

Internet Direct (Indy) Version 10.1.5

1013

TIdHashElf Class

Classes

Legend Method virtual

TIdHashCRC32.HashByte Method Pascal procedure HashByte( var VRunningHash: LongWord; const AByte: Byte ); override; Parameters Parameters

Description

VRunningHash

Scope is var. Type is LongWord.

AByte

Scope is const. Type is Byte.

Description HashByte is a overridden method.

TIdHashCRC32.HashStart Method Pascal procedure HashStart( var VRunningHash: LongWord ); override; Parameters Parameters

Description

VRunningHash

Scope is var. Type is LongWord.

Description HashStart is a overridden method.

TIdHashCRC32.HashValue Method Pascal function HashValue( AStream: TIdStream ): LongWord; override; Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns LongWord Description HashValue is a overridden method. HashValue returns a LongWord value.

TIdHashElf Class Implements a UNIX ( 1014

4539) ELF compatible hash calculation class. Internet Direct (Indy) Version 10.1.5

Classes

TIdHashElf Class

File IdHashElf (

4659)

Hierarchy

Pascal TIdHashElf = class(TIdHash32); Description TIdHashElf is a TIdHash32 ( 1008) descendant that implements calculation of hash values using a hashing algorithm compatible with the UNIX ( 4539) ELF object file and linker format. See Also TIdHashElf.HashValue ( IndySupport (

1016)

15)

TIdHashElf Members The following tables list the members exposed by TIdHashElf. Methods Method

Description

HashByte (

1015)

HashStart (

1016)

HashValue (

1016)

HashValue (

1010)

Legend Method virtual abstract

TIdHashElf Methods The Methods of the TIdHashElf class are listed here. Methods Method

Description

HashByte (

1015)

HashStart (

1016)

HashValue (

1016)

Legend Method virtual

TIdHashElf.HashByte Method Pascal procedure HashByte( var VRunningHash: LongWord; const AByte: Byte ); override;

Internet Direct (Indy) Version 10.1.5

1015

TIdHashMessageDigest Class

Classes

Parameters Parameters

Description

VRunningHash

Scope is var. Type is LongWord.

AByte

Scope is const. Type is Byte.

Description HashByte is a overridden method.

TIdHashElf.HashStart Method Pascal procedure HashStart( var VRunningHash: LongWord ); override; Parameters Parameters

Description

VRunningHash

Scope is var. Type is LongWord.

Description HashStart is a overridden method.

TIdHashElf.HashValue Method Pascal function HashValue( AStream: TIdStream ): LongWord; override; Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns LongWord Description HashValue is a overridden method. HashValue returns a LongWord value.

TIdHashMessageDigest Class Specifies the abstract base class for Indy message digest classes. File IdHashMessageDigest (

4660)

Hierarchy

Pascal TIdHashMessageDigest = class(TIdHash128); Description TIdHashMessageDigest is a TIdHash128 ( 1016

1001) descendant that acts an abstract base class for Indy classes that use a Internet Direct (Indy) Version 10.1.5

Classes

TIdHashMessageDigest2 Class

message digest algorithm to produce a 128-bit "fingerprint" for arbitrary bytes values in an input stream. Use TIdHashMessageDigest2 ( 1017), TIdHashMessageDigest4 ( classes to access a specific hashing algorithm.

1019), or TIdHashMessageDigest5 (

1021) descendant

See Also TIdHash128 (

1001)

TIdHashMessageDigest2 (

1017)

TIdHashMessageDigest4 (

1019)

TIdHashMessageDigest5 (

1021)

TIdHashMessageDigest2 Class Implements the RSA-MD2 message digest encryption algorithm. File IdHashMessageDigest (

4660)

Hierarchy

Pascal TIdHashMessageDigest2 = class(TIdHashMessageDigest); Description TIdHashMessageDigest2 is a TIdHashMessageDigest ( described in the Internet Standards documents:

1016) descendant that implements the RSA-MD2 encryption algorithm as

RFC 1115 - Privacy Enhancement for Internet Electronic Mail, Part III - Algorithms, Modes, and Identifiers RFC 1319 - The MD2 Message-Digest Algorithm TIdHashMessageDigest2 can be used in various cryptography implementations that require the RSA-MD2 algorithm, such as: RFC 1423 - Privacy Enhancement for Internet Electronic Mail, Part III: Algorithms, Modes, and Identifiers RFC 1507- Distributed Authentication Security Service RFC 1750 - Randomness Recommendations for Security RFC 2313 - PKCS #1: RSA Encryption Version 1.5 RFC 2315 - PKCS #7: Cryptographic Message Syntax Version 1.5 RFC 2440, OpenPGP Message Format RFC 2459- Internet X.509 Public Key Infrastructure Certificate and CRL Profile RFC 2660 - The Secure HyperText Transfer Protocol See Also TIdHashMessageDigest (

1016)

TIdHashMessageDigest4 (

1019)

TIdHashMessageDigest5 (

1021)

IndySupport (

15)

Internet Direct (Indy) Version 10.1.5

1017

TIdHashMessageDigest2 Class

Classes

TIdHashMessageDigest2 Members The following tables list the members exposed by TIdHashMessageDigest2. Methods Method AsHex (

Description 1002)

Converts the hash value to it's hexadecimal representation.

HashValue (

1002)

HashValue (

1018)

Legend Method abstract virtual

TIdHashMessageDigest2 Methods The Methods of the TIdHashMessageDigest2 class are listed here. Methods Method

Description

HashValue (

1018)

Legend Method virtual

TIdHashMessageDigest2.HashValue Method Overload List Method

Description

TIdHashMessageDigest2.HashValue (TIdStream) ( 1018) TIdHashMessageDigest2.HashValue (TIdStream, Int64, Int64) ( 1019)

TIdHashMessageDigest2.HashValue Method (TIdStream) Pascal function HashValue( AStream: TIdStream ): T4x4LongWordRecord; override; Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns T4x4LongWordRecord (

2997)

Description HashValue is a overridden method. HashValue returns a T4x4LongWordRecord (

1018

2997) value.

Internet Direct (Indy) Version 10.1.5

Classes

TIdHashMessageDigest4 Class

TIdHashMessageDigest2.HashValue Method (TIdStream, Int64, Int64) Pascal function HashValue( AStream: TIdStream; const ABeginPos: Int64; const AEndPos: Int64 ): T4x4LongWordRecord; overload; Parameters Parameters

Description

AStream

Type is TIdStream (

ABeginPos

Scope is const. Type is Int64.

AEndPos

Scope is const. Type is Int64.

3087).

Returns T4x4LongWordRecord (

2997)

Description HashValue is a overloaded method. HashValue returns a T4x4LongWordRecord (

2997) value.

See Also TIdHashMessageDigest2.HashValue

TIdHashMessageDigest4 Class Implements the MD4 message digest encryption algorithm. File IdHashMessageDigest (

4660)

Hierarchy

Pascal TIdHashMessageDigest4 = class(TIdHashMessageDigest); Description TIdHashMessageDigest4 is a TIdHashMessageDigest ( described in the Internet Standards document:

1016) descendant that implements the RSA-MD4 encryption algorithm as

RFC 1186 - MD4 Message Digest Algorithm TIdHashMessageDigest4 can be used in various cryptography implementations that require the RSA-MD4 algorithm. The RSA-MD4 algorithm takes an input message of an arbitrary length and produces a 128-bit "fingerprint" or "message digest" of the input. The MD4 algorithm is used for digital signature applications, where a large file must be "compressed" in a secure manner before being signed with the RSA public-key cryptosystem. The MD4 algorithm has been placed in the public domain. See Also TIdHashMessageDigest (

1016)

TIdHashMessageDigest2 (

1017)

TIdHashMessageDigest5 (

1021)

Internet Direct (Indy) Version 10.1.5

1019

TIdHashMessageDigest4 Class IndySupport (

Classes

15)

TIdHashMessageDigest4 Members The following tables list the members exposed by TIdHashMessageDigest4. Methods Method AsHex (

Description 1002)

Converts the hash value to it's hexadecimal representation.

HashValue (

1002)

HashValue (

1020)

Legend Method abstract virtual

TIdHashMessageDigest4 Methods The Methods of the TIdHashMessageDigest4 class are listed here. Methods Method

Description

HashValue (

1020)

Legend Method virtual

TIdHashMessageDigest4.HashValue Method Overload List Method

Description

TIdHashMessageDigest4.HashValue (TIdStream) ( 1020) TIdHashMessageDigest4.HashValue (TIdStream, Int64, Int64) ( 1021)

TIdHashMessageDigest4.HashValue Method (TIdStream) Pascal function HashValue( AStream: TIdStream ): T4x4LongWordRecord; override; Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns T4x4LongWordRecord (

2997)

Description HashValue is a overridden method. HashValue returns a T4x4LongWordRecord ( 1020

2997) value. Internet Direct (Indy) Version 10.1.5

Classes

TIdHashMessageDigest5 Class

TIdHashMessageDigest4.HashValue Method (TIdStream, Int64, Int64) Pascal function HashValue( AStream: TIdStream; const ABeginPos: Int64; const AEndPos: Int64 ): T4x4LongWordRecord; overload; Parameters Parameters

Description

AStream

Type is TIdStream (

ABeginPos

Scope is const. Type is Int64.

AEndPos

Scope is const. Type is Int64.

3087).

Returns T4x4LongWordRecord (

2997)

Description HashValue is a overloaded method. HashValue returns a T4x4LongWordRecord (

2997) value.

See Also TIdHashMessageDigest4.HashValue

TIdHashMessageDigest5 Class Implements the MD5 message digest encryption algorithm. File IdHashMessageDigest (

4660)

Hierarchy

Pascal TIdHashMessageDigest5 = class(TIdHashMessageDigest4); Description TIdHashMessageDigest5 is a TIdHashMessageDigest ( described in the Internet Standards document:

1016) descendant that implements the RSA-MD5 encryption algorithm as

RFC 1321 - The MD5 Message-Digest Algorithm TIdHashMessageDigest5 implements the MD5 algorithm used for digital signature applications, where a large file must be "compressed" in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA. The RSA-MD5 algorithm takes an input message of an arbitrary length and produces a 128-bit "fingerprint" or "message digest" of the input. The MD5 algorithm is an extension of the MD4 message-digest algorithm. MD5 is slightly slower than MD4, but is more "conservative" in design. MD5 exists to compensate for potential security holes that exist in MD4. The MD5 algorithm differs from MD4 in the following ways: A fourth round operation is added to the algorithm. Each step now has a unique additive constant. Rounding in second step of the algorithm has been made less symmetrical than it's MD4 predecessor. Each step accumulates the result of the previous step promoting an "avalanche effect". The input word order in rounds 2 and 3 is changed to make these patterns less predictable and repetitive. The shift amounts in each round have been approximately optimized, to yield a faster "avalanche effect." The shifts in Internet Direct (Indy) Version 10.1.5

1021

TIdHashSHA1 Class

Classes

each of the rounds is distinct. TIdHashMessageDigest5 can be used in various cryptography implementations that require the RSA-MD5 algorithm. Some MD5 implementations are described in the following documents: RFC 1828 - IP Authentication using Keyed MD5 RFC 1864 - The Content-MD5 Header Field RFC 2082 - RIP-2 MD5 Authentication RFC 2085 - HMAC-MD5 IP Authentication with Replay Prevention RFC 2385 - Protection of BGP Sessions via the TCP MD5 Signature Option RFC 2537 - RSA/MD5 KEYs and SIGs in the Domain Name System (DNS) The MD5 algorithm has been placed in the public domain. See Also TIdHashMessageDigest (

1016)

TIdHashMessageDigest2 (

1017)

TIdHashMessageDigest4 (

1019)

IndySupport (

15)

TIdHashSHA1 Class Implements a hashing class for the Secure Hash Algorithm 1 (SHA1). File IdHashSHA1 (

4660)

Hierarchy

Pascal TIdHashSHA1 = class(TIdHash160); Description TIdHashSHA1 is a TIdHash160 ( Internet Standards documents:

1006) descendant that implements the Secure Hash Algorithm 1 (SHA1), as described in the

RFC 3174 - US Secure Hash Algorithm 1 (SHA1) TIdHashSHA1 is based on principles similar to those used by Professor Ronald L. Rivest of MIT when designing the MD4 message digest algorithm, as described in the Internet Standards documents: RFC 1320 - The MD4 Message-Digest Algorithm RFC 1321 - The MD5 Message-Digest Algorithm TIdHashSHA1 implements the Secure Hash Algorithm 1 (SHA1) which computes a condensed representation of a message or a data file, and produces a 160-bit output called a message digest. The message digest be input to a signature algorithm which generates or verifies the signature for a message. SHA1 is called secure because it is computationally infeasible to find a message which corresponds to a given message digest, or to find two different messages which produce the same message digest. Any change to a message in transit will, with very high probability, result in a different message digest, and the signature will fail to verify. TIdHashSHA1 extends the ancestor class by providing an overridden HashValue ( 1023) method that implements the SHA1 algorithm. TIdHashSHA1 also includes protected members and methods required to manage the buffer and checksum values 1022

Internet Direct (Indy) Version 10.1.5

Classes

TIdHashSHA1 Class

required for the algorithm. See Also TIdHash160 (

1006)

TIdHashSHA1 Members The following tables list the members exposed by TIdHashSHA1. Methods Method AsHex (

Description 1007)

Converts the hash value to it's hexadecimal representation.

HashValue (

1007)

HashValue (

1023)

Legend Method abstract virtual

TIdHashSHA1 Methods The Methods of the TIdHashSHA1 class are listed here. Methods Method

Description

HashValue (

1023)

Legend Method virtual

TIdHashSHA1.HashValue Method Overload List Method (TIdStream) (

Description TIdHashSHA1.HashValue 1023)

TIdHashSHA1.HashValue (TIdStream, Int64, Int64) ( 1024)

TIdHashSHA1.HashValue Method (TIdStream) Pascal function HashValue( AStream: TIdStream ): T5x4LongWordRecord; override; overload; Parameters Parameters

Description

AStream

Type is TIdStream (

3087).

Returns T5x4LongWordRecord (

2998)

Internet Direct (Indy) Version 10.1.5

1023

TIdHeaderList Class

Classes

Description HashValue is a overridden,overloaded method. HashValue returns a T5x4LongWordRecord (

2998) value.

See Also TIdHashSHA1.HashValue

TIdHashSHA1.HashValue Method (TIdStream, Int64, Int64) Pascal function HashValue( AStream: TIdStream; const ABeginPos: Int64; const AEndPos: Int64 ): T5x4LongWordRecord; overload; Parameters Parameters

Description

AStream

Type is TIdStream (

ABeginPos

Scope is const. Type is Int64.

AEndPos

Scope is const. Type is Int64.

3087).

Returns T5x4LongWordRecord (

2998)

Description HashValue is a overloaded method. HashValue returns a T5x4LongWordRecord (

2998) value.

See Also TIdHashSHA1.HashValue

TIdHeaderList Class Implements a collection of header names and values. File IdHeaderList (

4661)

Hierarchy

Pascal TIdHeaderList = class(TIdStringList); Description TIdHeaderList is a TIdStringList ( 3088) descendant that implements a collection of header names and values, and facilitates the processing of headers used in many protocols such as Gopher+, HTTP, NNTP, POP3, SMTP, and in the storage of RFC-compliant messages. Features include the use of a ":" instead of a comma or equal sign ("=") for separating field names from values (this can be changed with the NameValueSeparator ( 1030) property), and optional header folding and unfolding. TIdHeaderList provides facilities provide for use of RFC-compliant header names and values as the internal storage for values in the header list.

1024

Internet Direct (Indy) Version 10.1.5

Classes

TIdHeaderList Class

See Also TIdMessage ( TIdHTTP (

1521)

1041)

IndySupport (

15)

TIdHeaderList Members The following tables list the members exposed by TIdHeaderList. Properties Property

Description

CaseSensitive ( FoldLength (

1028)

FoldLines (

1029)

Names (

1029)

NameValueSeparator ( UnfoldLines ( Values (

Indicates if case-sensitivity is used when comparing a header name to a value stored in Names (

1029)

1029).

Indicates the Maximum length of a header line before folding occurs. Indicates line folding is used when writing header values. 1030)

1030)

Delimiter(s) used to separate header names and header values. Indicates that header lines should be unfolded.

1030)

Allows access to header values by name.

Methods Method

Description

AddStdValues (

1025)

ConvertToStdValues ( Create (

1026)

Extract (

1027)

IndexOfName (

Converts text line in NAME=VALUE form to their TIdHeaderLIst ( 1026)

1024) representation.

Converts headers using a specific separator to NAME=VALUE form. Constructor for the object instance. Finds and stores all values for the given header name.

1027)

Index position in the list for the header with the specified name.

Legend Method Property read only

TIdHeaderList Methods The Methods of the TIdHeaderList class are listed here. Methods Method

Description

AddStdValues (

1025)

ConvertToStdValues ( Create (

1026)

Extract (

1027)

IndexOfName (

Converts text line in NAME=VALUE form to their TIdHeaderLIst ( 1026)

1024) representation.

Converts headers using a specific separator to NAME=VALUE form. Constructor for the object instance. Finds and stores all values for the given header name.

1027)

Index position in the list for the header with the specified name.

Legend Method

TIdHeaderList.AddStdValues Method Converts text line in NAME=VALUE form to their TIdHeaderLIst (

1024) representation.

Pascal procedure AddStdValues( ASrc: TIdStrings );

Internet Direct (Indy) Version 10.1.5

1025

TIdHeaderList Class

Classes

Parameters Parameters

Description

ASrc

Header valuesd in NAME=VALUE form.

Description AddStdValues is a procedure used to convert text values in the TIdStrings ( representation using NameValueSeparator ( 1030).

3089) container ASrc to their TIdHeaderList (

1024)

ASrc contains text representing header names and values in NAME=VALUE form. AddStdValues replaces the '=' character in each text line with the NameValueSeparator ( 1030) character(s) for their header representation. Use ConvertToStdValues (

1026) to convert header name and values to their NAME=VALUE form.

See Also TIdHeaderList.ConvertToStdValues (

1026)

TIdHeaderList.NameValueSeparator (

1030)

TIdHeaderList.ConvertToStdValues Method Converts headers using a specific separator to NAME=VALUE form. Pascal procedure ConvertToStdValues( ADest: TIdStrings ); Parameters Parameters

Description

ADest

Storage for header values in NAME=VALUE form.

Description ConvertToStdValues is a procedure used to convert text values in TIdHeaderList ( TIdStrings ( 3089) instance in ADest. ConvertToStdValues replaces the NameValueSeparator ( character used by TIdStrings ( 3089) descendants. Use AddStdValues (

1024) to a NAME=VALUE representation in the

1030) character(s) in each line in TIdHeaderList (

1025) to add text lines in NAME=VALUE form to a TIdHeaderList (

1024) with the '='

1024).

See Also TIdHeaderList.AddStdValues (

1025)

TIdHeaderList.NameValueSeparator (

1030)

TIdHeaderList.Create Constructor Constructor for the object instance. Pascal constructor Create; Description Create is the constructor for the object instance, and relies on the inherited Create method to initialize the object. Create sets the default values for the following properties:

Property NameValueSeparator (

1026

Value 1030)

': '

Internet Direct (Indy) Version 10.1.5

Classes

TIdHeaderList Class

CaseSensitive ( UnfoldLines ( FoldLines ( FoldLength (

1028)

False

1030)

True

1029)

True

1029)

78

See Also TIdHeaderList.NameValueSeparator ( TIdHeaderList.CaseSensitive ( TIdHeaderList.UnfoldLines ( TIdHeaderList.FoldLines ( TIdHeaderList.FoldLength (

1030)

1028)

1030) 1029) 1029)

TIdHeaderList.Extract Method Finds and stores all values for the given header name. Pascal procedure Extract( const AName: string; ADest: TIdStrings ); Parameters Parameters

Description

AName

Header name to be located and stored.

ADest

Stores all located header values.

Description Extract is a procedure that is used to search the header list for all occurrences of the header in AName. When the header in AName is located, the value of the header is added to ADest. ADest can, as a result, contain multiple values for the named header, with one value per line. When ADest is unassigned, no action is performed in the method. Set CaseSensitive ( instance.

1028) to indicate if case-sensitivity is important when comparing AName to header names in the object

Extract iterates over header Names (

1029) and Values (

1030), and adds Values (

1030) matching AName to ADest.

ADest is not cleared prior to use in Extract. Any existing values in ADest are unaffected. See Also TIdHeaderList.CaseSensitive ( TIdHeaderList.Names (

1029)

TIdHeaderList.Values (

1030)

1028)

TIdHeaderList.IndexOfName Method Index position in the list for the header with the specified name. Pascal function IndexOfName( const AName: string ): Integer; reintroduce;

Internet Direct (Indy) Version 10.1.5

1027

TIdHeaderList Class

Classes

Parameters Parameters

Description

AName

Header name to locate in the list.

Returns Integer - Position of the named header in the list, or -1 when not found. Description IndexOfName is an Integer function that returns the index position of the header with the name indicated in AName in the header list. IndexOfName work like Borland's TStrings.IndexOfName, but uses the delimiters defined in NameValueSeparator ( 1030), and respects the case sensitivity flag in the CaseSensitive ( 1028) property. IndexOfName ignores header Values (

1030) when locating the index position.

IndexOfName can return -1 when the header in Name does not exist in the header list. See Also TIdHeaderList.NameValueSeparator ( TIdHeaderList.Names (

1029)

TIdHeaderList.Values (

1030)

1030)

TIdHeaderList Properties The Properties of the TIdHeaderList class are listed here. Properties Property

Description

CaseSensitive ( FoldLength (

1028)

FoldLines (

1029)

Names (

1029)

NameValueSeparator ( UnfoldLines ( Values (

Indicates if case-sensitivity is used when comparing a header name to a value stored in Names (

1029)

1029).

Indicates the Maximum length of a header line before folding occurs. Indicates line folding is used when writing header values. 1030)

Delimiter(s) used to separate header names and header values.

1030)

Indicates that header lines should be unfolded.

1030)

Allows access to header values by name.

Legend Property read only

TIdHeaderList.CaseSensitive Property Indicates if case-sensitivity is used when comparing a header name to a value stored in Names (

1029).

Pascal property CaseSensitive: Boolean; Description CaseSensitive is a Boolean property that indicates if case-sensitivity is used when comparing a header name to a value stored in Names ( 1029). The default value for CaseSensitive is False, as assigned in the Create ( 1026) constructor. CaseSensitive is used in Extract ( Values ( 1030) properties.

1027) and IndexOfName (

1027), and when accessing the indexed Names (

1029) and

When CaseSensitive is False, the Name portion of a header is converted to uppercase prior to any comparision using the value. See Also TIdHeaderList.Extract (

1028

1027)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHeaderList Class

TIdHeaderList.IndexOfName (

1027)

TIdHeaderList.Names (

1029)

TIdHeaderList.Values (

1030)

TIdHeaderList.FoldLength Property Indicates the Maximum length of a header line before folding occurs. Pascal property FoldLength: Integer; Description FoldLength is an Integer property used to indicate the maximum length of a header line where folding occurs. The default value for FoldLength is 78, as assigned in the Create ( 1026) constructor. FoldLength is used when accessing a header value in Values ( When FoldLines ( 1030).

1030).

1029) is True, FoldLength is used to perform wrapping of text in the header line when writing to Values (

When UnfoldLines ( 1030).

1030) is True, FoldLength is used to perform wrapping of text in the header line when reading to Values (

See Also TIdHeaderList.FoldLines (

1029)

TIdHeaderList.UnfoldLines (

1030)

TIdHeaderList.Names (

1029)

TIdHeaderList.Values (

1030)

TIdHeaderList.FoldLines Property Indicates line folding is used when writing header values. Pascal property FoldLines: Boolean; Description FoldLines is a Boolean property used to indicate if the header value is separated into one or moe lines using the value in FoldLength ( 1029). The default value for FoldLines is True as assigned in the Create ( 1026) constructor. FoldLines is used when writing a new value to Values ( characters indicated in FoldLength ( 1029). Set UnfoldLines (

1030), and forces the value in the header to be wrapped at the number of

1030) to indicate the line folding is used when reading a header in Values (

1030).

See Also TIdHeaderList.FoldLength ( TIdHeaderList.Values (

1029)

1030)

TIdHeaderList.Names Property Pascal property Names [Index: Integer]: string;

Internet Direct (Indy) Version 10.1.5

1029

TIdHeaderList Class

Classes

TIdHeaderList.NameValueSeparator Property Delimiter(s) used to separate header names and header values. Pascal property NameValueSeparator: String; Description NameValueSeparator is a String property that represents the characters used as a delimiter between the header name and the header value in the textual representation of headers. The default value for NameValueSeparator is ': ', as assigned in the Create ( normally used in RFC-compliant header values. NameValueSeparator is used when reading and writing to Values ( Use ConvertToStdValues ( ( 1030). Use AddStdValues ( Values ( 1030).

1026) constructor, and represents the delimiter

1030) in the header list using their native representation.

1026) to get the header list using the native TStrings representation for Names (

1029) and Values

1025) to store items in the header list using the native TStrings representation for Names (

1029) and

See Also TIdHeaderList.Names (

1029)

TIdHeaderList.Values (

1030)

TIdHeaderList.ConvertToStdValues ( TIdHeaderList.AddStdValues (

1026)

1025)

TIdHeaderList.UnfoldLines Property Indicates that header lines should be unfolded. Pascal property UnfoldLines: Boolean; Description UnfoldLines is a Boolean property that indicates if Values (

1030) should be interpreted with line unfolding.

Setting UnfoldLines to False will cause reading an item in Values ( 1030) to not prform line unfolding. Setting UnfoldLines to True causes header lines with continuation characters to be returned with the preceding header line. Use FoldLines (

1029) to control line folding when writing an item to Values (

1030).

See Also TIdHeaderList.Values (

1030)

TIdHeaderList.FoldLines (

1029)

TIdHeaderList.Values Property Allows access to header values by name. Pascal property Values [const Name: string]: string; Parameters Parameters

Description

Name

Header name to be retrieved. Return Value:

String

Header value for the header name.

1030

Internet Direct (Indy) Version 10.1.5

Classes

TIdHL7 Class

Description Values is an Indexed String property that works like Borland's TStrings.Values except it uses the delimiter defined in NameValueSeparator ( 1030) as the seperator between the header name and value. Case sensitivity is set with the CaseSensitive (

1028) property, and if UnfoldLines (

1030) is True, lines will be unfolded.

Thus if UnfoldLines ( 1030) is set to true, the value in following Example for Values['Subject'] would be "This is a line which is folded. This is on another line." If UnfoldLines ( 1030) is set to False, the Value['Subject'] would equal = "This is a line which is folded." Subject: This is a line which is folded. This is on another line.

TIdHellSoftFTPListItem Class File IdFTPListParseHellSoft (

4638)

Hierarchy

Pascal TIdHellSoftFTPListItem = class(TIdNovellNetwareFTPListItem); Description TIdHellSoftFTPListItem is a TIdNovellNetwareFTPListItem (

1755) descendant.

See Also TIdNovellNetwareFTPListItem (

1755)

TIdHL7 Class File IdHL7 (

4661)

Hierarchy

Pascal TIdHL7 = class(TIdBaseComponent); Description TIdHL7 TIdBaseComponent (

266) descendant

See Also TIdBaseComponent (

266)

TIdHL7 Members The following tables list the members exposed by TIdHL7.

Internet Direct (Indy) Version 10.1.5

1031

TIdHL7 Class

Classes

Properties Property

Description

Address (

1037)

CommunicationMode ( ConnectionLimit ( IPMask (

1037)

IPRestriction ( IsListener (

1038)

1038)

IsServer ( ObjTag (

1038)

1038)

OnConnect (

1038)

OnDisconnect ( Port (

1037)

1037)

1038)

1038)

ReceiveTimeout (

1039)

ReconnectDelay (

1039)

Status (

1039)

StatusDesc ( TimeOut (

1039)

1039)

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

AsynchronousSend (

1033)

CheckSynchronousSendResult ( Connected ( Create (

267)

Destroy (

Constructor for the object instance.

1034)

EnforceWaitReplyTimeout ( GetMessage ( GetReply ( Going (

1034)

1034)

1034)

GetVersion (

269)

Version (

269) number for Indy component suite.

1035)

PreStop (

1035)

SendMessage ( SendReply (

1035)

1035)

Start (

1036)

Stop (

1036)

SynchronousSend ( CType (

1033)

1034)

1036)

267)

Create (

1274)

WaitForConnection (

1036)

Events Event

Description

OnConnCountChange ( OnMessageArrive ( OnReceiveError (

1040)

1040) 1040)

OnReceiveMessage (

1040)

Legend Method virtual Property read only Event

1032

Internet Direct (Indy) Version 10.1.5

Classes

TIdHL7 Class

TIdHL7 Methods The Methods of the TIdHL7 class are listed here. Methods Method

Description

AsynchronousSend (

1033)

CheckSynchronousSendResult ( Connected (

1034)

Destroy (

1034)

EnforceWaitReplyTimeout ( GetMessage ( GetReply ( Going (

1033)

1034)

1034)

1034)

1035)

PreStop (

1035)

SendMessage ( SendReply (

1035)

1035)

Start (

1036)

Stop (

1036)

SynchronousSend ( WaitForConnection (

1036) 1036)

Legend Method virtual

TIdHL7.AsynchronousSend Method Pascal function AsynchronousSend( AMsg: String ): TSendResponse; Parameters Parameters

Description

AMsg

Returns TSendResponse (

2988)

Description AsynchronousSend returns TSendResponse (

2988)

TIdHL7.CheckSynchronousSendResult Method Pascal procedure CheckSynchronousSendResult( AResult: TSendResponse; AMsg: String ); Parameters Parameters

Description

AResult AMsg

Description CheckSynchronousSendResult Internet Direct (Indy) Version 10.1.5

1033

TIdHL7 Class

Classes

TIdHL7.Connected Method Pascal function Connected: Boolean; Returns Boolean Description Connected returns Boolean

TIdHL7.Destroy Destructor Pascal destructor Destroy; override; Description Destroy overridden

TIdHL7.EnforceWaitReplyTimeout Method Pascal procedure EnforceWaitReplyTimeout; Description EnforceWaitReplyTimeout

TIdHL7.GetMessage Method Pascal function GetMessage( var VMsg: String ): TObject; Parameters Parameters

Description

VMsg

Returns TObject Description GetMessage returns TObject

TIdHL7.GetReply Method Pascal function GetReply( var VReply: String ): TSendResponse; Parameters Parameters

Description

VReply

1034

Internet Direct (Indy) Version 10.1.5

Classes

TIdHL7 Class

Returns TSendResponse (

2988)

Description GetReply returns TSendResponse (

2988)

TIdHL7.Going Method Pascal function Going: Boolean; Returns Boolean Description Going returns Boolean

TIdHL7.PreStop Method Pascal procedure PreStop; Description PreStop

TIdHL7.SendMessage Method Pascal procedure SendMessage( AMsg: String ); Parameters Parameters

Description

AMsg

Description SendMessage

TIdHL7.SendReply Method Pascal procedure SendReply( AMsgHnd: TObject; AReply: String ); Parameters Parameters

Description

AMsgHnd AReply

Description SendReply

Internet Direct (Indy) Version 10.1.5

1035

TIdHL7 Class

Classes

TIdHL7.Start Method Pascal procedure Start; Description Start

TIdHL7.Stop Method Pascal procedure Stop; Description Stop

TIdHL7.SynchronousSend Method Pascal function SynchronousSend( AMsg: String; var VReply: String ): TSendResponse; Parameters Parameters

Description

AMsg VReply

Returns TSendResponse (

2988)

Description SynchronousSend returns TSendResponse (

2988)

TIdHL7.WaitForConnection Method Pascal procedure WaitForConnection( AMaxLength: Integer ); Parameters Parameters

Description

AMaxLength

Description WaitForConnection

TIdHL7 Properties The Properties of the TIdHL7 class are listed here. Properties Property Address (

1036

Description 1037)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHL7 Class

CommunicationMode ( ConnectionLimit ( IPMask (

1037)

IPRestriction ( IsListener (

1038)

1038)

IsServer ( ObjTag (

1038)

1038)

OnConnect (

1038)

OnDisconnect ( Port (

1037)

1037)

1038)

1038)

ReceiveTimeout (

1039)

ReconnectDelay (

1039)

Status (

1039)

StatusDesc ( TimeOut (

1039)

1039)

Legend Property read only

TIdHL7.Address Property Pascal property Address: String; Description Address is a Published String property

TIdHL7.CommunicationMode Property Pascal property CommunicationMode: THL7CommunicationMode; Description CommunicationMode is a Published THL7CommunicationMode ( 3199)

2944) property default value is DEFAULT_COMM_MODE (

TIdHL7.ConnectionLimit Property Pascal property ConnectionLimit: Word; Description ConnectionLimit is a Published Word property default value is DEFAULT_CONN_LIMIT (

3199)

TIdHL7.IPMask Property Pascal property IPMask: String; Description IPMask is a Published String property

Internet Direct (Indy) Version 10.1.5

1037

TIdHL7 Class

Classes

TIdHL7.IPRestriction Property Pascal property IPRestriction: String; Description IPRestriction is a Published String property

TIdHL7.IsListener Property Pascal property IsListener: Boolean; Description IsListener is a Published Boolean property default value is DEFAULT_IS_LISTENER (

3199)

TIdHL7.IsServer Property Pascal property IsServer: Boolean; Description IsServer is a Public read-only Boolean property

TIdHL7.ObjTag Property Pascal property ObjTag: TObject; Description ObjTag is a Public TObject property

TIdHL7.OnConnect Property Pascal property OnConnect: TIdNotifyEvent; Description OnConnect is a Published TNotifyEventevent property

TIdHL7.OnDisconnect Property Pascal property OnDisconnect: TIdNotifyEvent; Description OnDisconnect is a Published TNotifyEventevent property

TIdHL7.Port Property Pascal property Port: Word;

1038

Internet Direct (Indy) Version 10.1.5

Classes

TIdHL7 Class

Description Port is a Published Word property default value is DEFAULT_PORT (

3200)

TIdHL7.ReceiveTimeout Property Pascal property ReceiveTimeout: Cardinal; Description ReceiveTimeout is a Published Cardinal property default value is DEFAULT_RECEIVE_TIMEOUT (

3200)

TIdHL7.ReconnectDelay Property Pascal property ReconnectDelay: Cardinal; Description ReconnectDelay is a Published Cardinal property default value is DEFAULT_RECONNECT_DELAY (

3200)

TIdHL7.Status Property Pascal property Status: TIdHL7Status; Description Status is a Public read-only TIdHL7Status (

2954) property

TIdHL7.StatusDesc Property Pascal property StatusDesc: String; Description StatusDesc is a Public read-only String property

TIdHL7.TimeOut Property Pascal property TimeOut: Cardinal; Description TimeOut is a Published Cardinal property default value is DEFAULT_TIMEOUT (

3200)

TIdHL7 Events The Events of the TIdHL7 class are listed here. Events Event

Description

OnConnCountChange ( OnMessageArrive ( OnReceiveError (

1040)

1040) 1040)

OnReceiveMessage (

1040)

Internet Direct (Indy) Version 10.1.5

1039

TIdHL7ClientThread Class

Classes

Legend Event

TIdHL7.OnConnCountChange Event Pascal property OnConnCountChange: TIdHL7ConnCountEvent; Description OnConnCountChange is a Published TIdHL7ConnCountEventevent property

TIdHL7.OnMessageArrive Event Pascal property OnMessageArrive: TMessageArriveEvent; Description OnMessageArrive is a Public TMessageArriveEventevent property

TIdHL7.OnReceiveError Event Pascal property OnReceiveError: TReceiveErrorEvent; Description OnReceiveError is a Published TReceiveErrorEventevent property

TIdHL7.OnReceiveMessage Event Pascal property OnReceiveMessage: TMessageReceiveEvent; Description OnReceiveMessage is a Public TMessageReceiveEventevent property

TIdHL7ClientThread Class File IdHL7 (

4661)

Hierarchy

Pascal TIdHL7ClientThread = class(TIdNativeThread); Description TIdHL7ClientThread TThread descendant See Also TThread

1040

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTP Class

TIdHL7ClientThread Members The following tables list the members exposed by TIdHL7ClientThread. Methods Method Create (

Description 1041)

Destroy (

1041)

Legend Constructor virtual

TIdHL7ClientThread Methods The Methods of the TIdHL7ClientThread class are listed here. Methods Method Create (

Description 1041)

Destroy (

1041)

Legend Constructor virtual

TIdHL7ClientThread.Create Constructor Pascal constructor Create( aOwner: TIdHL7 ); Parameters Parameters

Description

aOwner

Description Create

TIdHL7ClientThread.Destroy Destructor Pascal destructor Destroy; override; Description Destroy overridden

TIdHTTP Class Implements an HTTP client.

Internet Direct (Indy) Version 10.1.5

1041

TIdHTTP Class

Classes

File IdHTTP (

4662)

Hierarchy

Pascal TIdHTTP = class(TIdCustomHTTP); Description TIdHTTP is a TIdCustomHTTP ( 404) descendant that is a client implementation of the Hypertext Transfer Protocol (HTTP) as described in the Internet Standards documents: RFC 1945 - Hypertext Transfer Protocol version 1.0 [HTTP/1.0] RFC 2616 - Hypertext Transfer Protocol version 1.1 [HTTP/1.1] TIdHTTP publishes properties and event handlers on the ancestor classes to allow access from the client application, and the VCL streaming mechanism. TIdHTTP provides support for both HTTP 1.0 and HTTP 1.1 protocols. Note: Post ( protocol due to limited HTTP server support for the HTTP 1.1 specification.

412) is restricted to support for the HTTP 1.0

TIdHTTP also provides a CookieManager ( 1045) that implements an HTTP State Management mechanism as specified in the Internet Standards documents, and reference materials: RFC 2109 - HTTP State Management Mechanism RFC 2965 - HTTP State Management Mechanism Netscape Persistent Client State - HTTP Cookies TIdHTTP also supports the Secure Hypertext Transport protocol (HTTPS) as described in the Internet Standards document: RFC 2660 - The Secure HyperText Transfer Protocol You must install the Indy OpenSSL support .DLL's available at the Intelicom web site , or a third party SSL library to enable Secure Socket ( 2369) Layer support. Assign an instance of TIdSSLIOHandlerSocketBase ( use of the HTTPS protocol in HTTP requests.

2134) (or a descendant class) to the IOHandler (

2364) property to allow

See Also TIdCustomHTTP (

404)

TIdCookieManager (

382)

TIdSSLIOHandlerSocketBase ( IndySupport (

2134)

15)

TIdHTTP Members The following tables list the members exposed by TIdHTTP. Properties Property

Description

AllowCookies (

1044)

Indicates if the HTTP client accepts Cookies in response headers.

AuthenticationManager ( AuthProxyRetries ( AuthRetries ( BoundIP ( BoundPort (

1042

422)

2345) 2345)

421)

421)

Maintains authentication mechanisms, parameters, and URL (

431) for HTTP client requests.

Number of proxy authentication requests attempted for the client connection. Current number of authentication requests attempted for the client connection. Specifies the the local IP address to be used for the Socket ( Specifies the the port number to be used for the Socket (

2369) connection.

2369) connection.

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTP Class

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

Compressor (

1045)

Decodes the contents for "deflate (

2765)" or "gzip" content encodings.

ConnectTimeout (

2347)

Millseconds to wait for successful completion of a connection attempt.

CookieManager (

1045)

Maintains client persistent state information using Cookies.

Greeting (

2364)

Banner or welcome message for a connection to a protocol server.

HandleRedirects ( HTTPOptions ( IOHandler (

1046)

Indicates if the HTTP client can handle redirections to an alternate resource location.

1047)

Indicates the HTTP protocol options (

2364)

LastCmdResult (

2367)

ManagedIOHandler (

Response code and text for the last response from the peer connection.

2367)

MaxAuthRetries (

1047)

MaxHeaderLines (

425)

OnAfterBind (

411) applied to the client connection.

The input / output mechanism for the connection. Indicates tyhe IOHandler (

2364) for the connection is maintained by the object instance.

Maximum number of authentication requests allowed for the client connection. Maximum number of header lines allowed in an HTTP response.

2347)

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

2367)

Event handler signalled when disconnecting the peer connection.

2368)

OnWorkBegin (

Event handler signalled for read and / or write operations. 2368)

OnWorkEnd (

Event handler signalled when beginning a read or write operation.

2369)

ProtocolVersion (

Event handler signalled when completing a read or write operation.

1047)

Specifies the HTTP version.

ProxyParams (

1048)

Represents connection and user authorization values used for a Proxied client connection.

ReadTimeout (

2349)

Millseconds to wait for successful completion of a read attempt.

RedirectCount (

426)

RedirectMaximum ( Request (

Indicates the number of redirects encountered in the last request for the HTTP client.

1049)

Specifies the maximum number of redirects for the HTTP client.

1049)

Response (

Specifies the header values to send to the HTTP server.

428)

ResponseCode ( ResponseText ( Socket ( URL (

Specifies the header values received from the HTTP server. 428)

Specifies the response code received from a HTTP server.

429)

Specifies the text for a response received from a HTTP server.

2369)

Provides access to the TIdIOHandlerSocket (

431)

Version (

269)

WorkTarget (

1331) for the connection.

Represents the attributes of a resource accessed by an HTTP request. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ConnectAndGetAll ( Connected ( Create (

2351)

2344)

2353)

Determines if the peer has been gracefully disconnected. Opens a connection and reads all data. Indicates if the peer connection has been opened.

267)

Constructor for the object instance.

CreateIOHandler (

2353)

Creates the IOHandler (

Destroy (

357)

Frees the object instance.

Destroy (

407)

Frees the object instance.

Destroy (

2354)

Frees the object instance.

DisconnectNotifyPeer ( DoWork (

GetVersion (

Triggers the OnEndWork event handler.

CType ( Get ( Post ( Put ( Trace (

2356)

269)

Reads response detail lines from a peer connection. Version (

410)

Options (

Disconnects the peer connection. Triggers the OnWork event handler.

358)

GetInternalResponse ( Head (

2356)

357)

EndWork (

2364) for the connection.

269) number for Indy component suite.

Requests header values for a resource.

411)

Retrieves options and capabilities for a server resource.

267)

408) 411) 417) 419)

Create ( Connect (

1274) 2342)

CheckResponse (

2352)

Internet Direct (Indy) Version 10.1.5

1043

TIdHTTP Class

Classes

Disconnect (

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

Sends the RFC protocol header values in a list to the connection.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnAuthorization (

1050)

OnHeadersAvailable ( OnProxyAuthorization ( OnRedirect (

Event handler for authentication of an HTTP connection.

1050) 1050)

Event handler for selecting the HTTP client authentication mechanism for a proxy connection.

1051)

Event handler triggered for redirect requests.

OnSelectAuthorization (

1051)

OnSelectProxyAuthorization ( OnStatus (

Allows the client to decide if response processing should be continued based on headers returned in the HTTP response.

1052)

359)

Event handler triggered when the client selects an authentication mechanism for the connection. Event handler triggered when the client selects an authentication mechanism for the Proxied connection. Represents the current connection status event handler.

Legend Property read only Event Method virtual

TIdHTTP Properties The Properties of the TIdHTTP class are listed here. Properties Property

Description

AllowCookies ( Compressor (

1044) 1045)

CookieManager ( HTTPOptions ( ProtocolVersion (

2765)" or "gzip" content encodings.

Maintains client persistent state information using Cookies. Indicates if the HTTP client can handle redirections to an alternate resource location. Indicates the HTTP protocol options (

411) applied to the client connection.

1047)

Maximum number of authentication requests allowed for the client connection.

1047)

Specifies the HTTP version.

1048)

RedirectMaximum ( Request (

1046)

1047)

MaxAuthRetries ( ProxyParams (

Decodes the contents for "deflate (

1045)

HandleRedirects (

Indicates if the HTTP client accepts Cookies in response headers.

1049)

1049)

Represents connection and user authorization values used for a Proxied client connection. Specifies the maximum number of redirects for the HTTP client. Specifies the header values to send to the HTTP server.

Legend Property

TIdHTTP.AllowCookies Property Indicates if the HTTP client accepts Cookies in response headers. Pascal property AllowCookies: Boolean; Description AllowCookies is a published Boolean property in TIdHTTP ( 1041), and indicates if the HTTP client allows use of persistent state information using TIdCookie instances handled by CookieManager ( 1045). AllowCookies is used when an HTTP client retrieves headers for an HTTP Response ( 428), and processes Response ( 428) headers and cookie values. When AllowCookies is True, the HTTP client will ensure that CookieManager ( 1045) is instantiated prior to adding any TIdCookieRFC2109 ( 388) or TIdCookieRFC2965 ( 391) cookie instances detected in Response ( 428) headers. 1044

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTP Class

The default value for AllowCookies is True, as assigned in the Create (

267) constructor.

See Also TIdCustomHTTP.CookieManager ( TIdCookieRFC2109 (

388)

TIdCookieRFC2965 (

391)

422)

TIdHTTP.Compressor Property Decodes the contents for "deflate (

2765)" or "gzip" content encodings.

Pascal property Compressor: TIdZLibCompressorBase; Description Compressor is a TIdZLibCompressorBase ( 2634) property that represents the ZLib compression library object for use for HTTP responses having "deflate ( 2765)" or "gzip" encoding for its content. Compressor is used, when assigned, when reading an HTTP response with the desired ContentEncoding in Response ( 428). Applications must assign a TIdZLibCompressorBase ( 2634) (or descendant) class instance to the property to allow decoding of the content stream for the HTTP response. When Compressor is unassigned, the content stream for the response remains in its encoded content transfer encoding.

Compressor is not available on the .Net platform. See Also TIdZLibCompressorBase ( TIdHTTPResponse (

2634)

1085)

TIdHTTP.CookieManager Property Maintains client persistent state information using Cookies. Pascal property CookieManager: TIdCookieManager; Description CookieManager is a published TIdCookieManager ( 382) property in TIdHTTP ( 1041), and enables maintenance of persistent state information using Cookies for the HTTP Client connection. CookieManager is accessed when Cookies are detected during processing of headers in an HTTP response, or when preparing headers for an HTTP request. CookieManager is used by the HTTP client when AllowCookies (

1044) is True.

The client will ensure that CookieManager is instantiated prior to adding TIdCookieRFC2109 ( 388) or TIdCookieRFC2965 ( 391) class instances to the collection maintained in CookieManager. CookieManager is freed in the Destroy ( 407) method. See Also TIdCookieManager (

382)

TIdCookieRFC2109 (

388)

TIdCookieRFC2965 (

391)

TIdCustomHTTP (

404)

TIdCustomHTTP.DoRequest TIdCustomHTTP.Destroy (

407)

Internet Direct (Indy) Version 10.1.5

1045

TIdHTTP Class

Classes

TIdCustomHTTP.AllowCookies (

420)

TIdHTTP.HandleRedirects Property Indicates if the HTTP client can handle redirections to an alternate resource location. Pascal property HandleRedirects: Boolean; Description HandleRedirects is a published Boolean property in TIdHTTP ( 1041), and indicates if the HTTP client should handle redirects in a response from the HTTP server. Redirects are indicated by the HTTP Response ( 428) having a ResponseCode ( 428) in the range 300 to 307, and requires further action by the HTTP Client to fulfill the request. Redirection Response (

428) codes include the following:

Code Meaning 300

Multiple Choices. The request can be fulfilled with one of a set of resources, each with its own specific location. The HTTP client can select a preferred representation and redirect its request to that location.

301

Moved Permanently. The requested resource has been assigned a new permanent URI and any future references to this resource should use the new location specified in the Response ( 428).

302

Found. The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client should continue to use the URI in the Request ( 1049) for future requests.

304

Not Modified. If the client has performed a conditional GET request and access is allowed, but the document has not been modified, the server should respond with this status code. The 304 response should not contain a message body, and is always terminated by the first empty line after the header fields, and must include a Date header.

305

Use Proxy. The requested resource must be accessed through the proxy given by the Location header in the HTTP Response ( 428) containing the URI of the Proxy.

307

Temporary Redirect. The requested resource resides temporarily under a different URI. Since the redirection may be altered on occasion, the HTTP client should continue to use the URI in the RequestI for future requests.

HandleRedirects is used with RedirectMaximum ( 1049) in DoRequest to detect and prevent infinite redirection loops, by limiting the number of active redirections for the client to the value specified in RedirectMaximum ( 1049). When HandleRedirects is True, the HTTP Client will trigger the OnRedirect ( 1051) event handler to determine if the client can accept the redirection location found in an HTTP response. When accepted, the redirect causes a new HTTP request with the new location to be issued to fulfill the original request. When HandleRedirects is False, the OnRedirect ( 1051) event handler will be triggered, and an EIdProtocolReplyError exception will be raised when the redirect cannot be handled by the HTTP client. See Also TIdCustomHTTP.HandleRedirects (

423)

TIdCustomHTTP.ResponseCode (

428)

TIdCustomHTTP.ResponseText ( TIdCustomHTTP. Create (

267)

TIdHTTP.RedirectMaximum ( TIdHTTP.OnRedirect (

429)

1049)

1051)

EIdProtocolReplyError Id_TIdHTTP_HandleRedirects (

1046

3821)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTP Class

TIdHTTP.HTTPOptions Property Indicates the HTTP protocol options (

411) applied to the client connection.

Pascal property HTTPOptions: TIdHTTPOptions; Description HTTPOptions is a published TIdHTTPOptions ( 411) in use for an HTTP client.

3031) property that represents the TIdHTTPOption (

2954) protocol options (

HTTPOptions is used at various times when the client or the HTTP protocol handler needs to perform some action, including processing HTTP responses, preparing request parameters, and authentication of the client connection to a server or proxy. HTTPOptions can contain 0 (zero), 1, or more of the options (

411) values defined by TIdHTTPOption (

2954).

See Also TIdHTTPOptions (

3031)

TIdHTTPOption (

2954)

TIdHTTPProtocol (

1064)

TIdCustomHTTP.DoRequest TIdHTTP.ProtocolVersion ( TIdHTTP.Request (

1047)

1049)

TIdHTTP.MaxAuthRetries Property Maximum number of authentication requests allowed for the client connection. Pascal property MaxAuthRetries: Integer; Description MaxAuthRetries is an Integer property that represents the maximum number of retries permitted when performing authentication for the TIdHTTP ( 1041) client connection. MaxAuthRetries is used when an HTTP protocol handler for the client connection attempts to process a protocol response code that indicates authentication or proxy authentication is required (401 or 407). MaxAuthRetries is compared to the current number of authentication requests issued in AuthRetries ( 422) (or AuthProxyRetries ( 421)) to determine if additional authentication requests are allowed. When permitted, the request is performed using the OnAuthorization ( 1050) event handler. The default value for MaxAuthRetries is Id_TIdHTTP_MaxAuthRetries ( instance.

3822) as assigned during initialization of the component

See Also AuthRetries (

422)

AuthProxyRetries ( OnAuthorization ( TIdHTTPProtocol (

421) 1050) 1064)

TIdHTTP.ProtocolVersion Property Specifies the HTTP version.

Internet Direct (Indy) Version 10.1.5

1047

TIdHTTP Class

Classes

Pascal property ProtocolVersion: TIdHTTPProtocolVersion; Description ProtocolVersion is a published TIdHTTPProtocolVersion ( 2955) property in TIdHTTP ( used for Get ( 408), Head ( 410), and Post ( 412) methods for the HTTP client.

1041), and specifies the HTTP version

ProtocolVersion allows the following values and associated meanings:

Value

Meaning

pv1_0

HTTP 1.0

pv1_1

HTTP 1.1

The default value for ProtocolVersion is Id_TIdHTTP_ProtocolVersion (

3822).

See Also TIdCustomHTTP.Create ( TIdCustomHTTP.Get (

267)

408)

TIdCustomHTTP.Head (

410)

TIdCustomHTTP.Post (

412)

TIdCustomHTTP.Options ( TIdCustomHTTP.Trace ( TIdCustomHTTP.Put (

411) 419)

417)

TIdHTTPProtocolVersion (

2955)

TIdHTTP.ProxyParams Property Represents connection and user authorization values used for a Proxied client connection. Pascal property ProxyParams: TIdProxyConnectionInfo; Description ProxyParams is a published TIdProxyConnectionInfo ( HTTP request that requires a Proxy connection.

1795) property in TIdHTTP (

1041), and represents values used in an

ProxyParams contains properties that relect the Server, Port, Username, and Password used to open and authorize a connection to a Proxy server. ProxyParams also indicates if authentication uses the Basic Authentication algorithm. ProxyParams is used when TIdHTTP ( 1041) attempts to set the Host and Port number for the client connection, and when OnProxyAuthorization ( 1050) is triggered for the client connection. The Header representation for ProxyParams is used when the HTTP Protocol handler builds the HTTP request packet and tranmits its content to the host server. The Authetication mechanism in ProxyParams is reset when the OnDisconnected ( client connection.

2367) event handler is triggered for the HTTP

See Also TIdProxyConnectionInfo ( TIdHTTPProtocol (

1064)

TIdAuthentication (

253)

1795)

TIdHTTP.OnProxyAuthorization (

1048

1050)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTP Class

TIdHTTP.RedirectMaximum Property Specifies the maximum number of redirects for the HTTP client. Pascal property RedirectMaximum: Integer; Description RedirectMaximum is a published Integer property in TIdHTTP ( 1041), and specifies the maximum number of redirects that should be handled by the HTTP client. The default value for RedirectMaximum is 15. RedirectMaximum is provided to limit the effect of web-sites that perform numerous redirects, and to prevent stack overflow due to recursion. RedirectMaximum is used when HandleRedirects ( 1046) is True, otherwise it has no effect. RedirectMaximum is used with the internally maintained redirect count to determine when redirect handling is deferred to the application. When the redirect count exceeds the value of RedirectMaximum, DoRequest will signal the OnRedirect ( 1051) event handler to allow the application to respond to the redirect request. If the redirect is not handled by the application, an EIdProtocolReplyError exception will be raised. See Also TIdHTTP.HandleRedirects (

1046)

EIdProtocolReplyError

TIdHTTP.Request Property Specifies the header values to send to the HTTP server. Pascal property Request: TIdHTTPRequest; Description Request is a published TIdHTTPRequest ( 1072) property in TIdHTTP ( 1041), and is used to specify the header values to send to the HTTP server. Request headers allow the HTTP client to pass additional information about the request, or the request client, to the HTTP server. Request may contain the textual representation of Cookie values from the HTTP client, Host and Port information for a proxied connection, as well as values from TIdHTTP ( 1041) properties transmitted as message headers. Request is used in DoRequest to perform the HTTP transfer. Use Response (

428) to examine header values received in an HTTP protocol response from the server.

See Also TIdHTTPRequest (

1072)

TIdHTTPResponse (

1085)

TIdCustomHTTP.Response (

428)

TIdHTTP Events The Events of the TIdHTTP class are listed here. Events Event OnAuthorization (

Description 1050)

OnHeadersAvailable ( OnProxyAuthorization (

1050) 1050)

Internet Direct (Indy) Version 10.1.5

Event handler for authentication of an HTTP connection. Allows the client to decide if response processing should be continued based on headers returned in the HTTP response. Event handler for selecting the HTTP client authentication mechanism for a proxy connection.

1049

TIdHTTP Class OnRedirect (

Classes 1051)

OnSelectAuthorization (

Event handler triggered for redirect requests. 1051)

OnSelectProxyAuthorization (

Event handler triggered when the client selects an authentication mechanism for the connection.

1052)

Event handler triggered when the client selects an authentication mechanism for the Proxied connection.

Legend Event

TIdHTTP.OnAuthorization Event Event handler for authentication of an HTTP connection. Pascal property OnAuthorization: TIdOnAuthorization; Parameters Parameters

Description

Sender

HTTP Client generating the event notification.

VUserName

User identity for the HTTP request.

VPassword

User credentials for the HTTP request.

Handled

Indicates if the authentication attempt was successful.

Description OnAuthorization is a published TIdOnAuthorization ( 3067) property in TIdHTTP ( 1041), and represents the event handler signalled when an HTTP client connection needs to provide authentication data as part of an HTTP request / response protocol exchange. VUserName and VPassword are the authentication credentials found in the HTTP Request ( event handler.

1049), and can be updated in the

Handled indicates if the event handler has successfully authenticated using the client account credentials and method. See Also TIdCustomHTTP.OnAuthorization (

431)

TIdHTTP.OnHeadersAvailable Event Allows the client to decide if response processing should be continued based on headers returned in the HTTP response. Pascal property OnHeadersAvailable: TIdHTTPOnHeadersAvailable; Description OnHeadersAvailable is a TIdHTTPOnHeadersAvailable ( 3031) property that represents the event handler signalled when processing a response received by the HTTP client. OnHeadersAvailable allows the client to decide if response processing should be continued based on headers returned in the HTTP response. Applications must assign a procedure to the event handler to allow responding to the event notification. Set the value in the VContinue argument to False if the response should not be accepted and processed. This also causes a persistent connection (indicated in the KeepALive property in the Response ( 428)) to be closed. Use the values in the TIdHeaderList ( 1024) argument to the event handler to examine header values received for in the Response ( 428).

TIdHTTP.OnProxyAuthorization Event Event handler for selecting the HTTP client authentication mechanism for a proxy connection. Pascal property OnProxyAuthorization: TIdOnAuthorization;

1050

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTP Class

Parameters Parameters

Description

Sender

HTTP client generating the event notification.

AuthenticationClass

Authentication class to use for the connection.

AuthInfo

Header values to use in authectication.

Description OnProxyAuthorization is a published TIdProxyOnAuthorization property in TIdHTTP ( 1041), and represents the event handler signalled when an HTTP client selects an authentication class to be used when session or proxy authentication is required for a connection. OnProxyAuthorization is used when the ResponseCode ( required.

428) for the HTTP request is 407, indicating that proxy authentication is

OnProxyAuthorization is signalled prior to triggering the OnAuthorization (

1050) event handler.

AuthenticationClass is the class instance to be used to perform authentication for the mechanisms required in an HTTP request. AuthInfo is the header values to be be used in the HTTP response that includes the authentication results.

TIdHTTP.OnRedirect Event Event handler triggered for redirect requests. Pascal property OnRedirect: TIdHTTPOnRedirectEvent; Parameters Parameters

Description

Sender

Client triggering the event.

dest

URL (

NumRedirect

An accumulator for the number of redirection requests.

Handled

Indicated that redirects should be handled.

VMethod

HTTP method to be used to fulfill the redirect.

431) for the new resource location.

Description OnRedirect is a published TIdHTTPOnRedirectEvent ( 3031) property in TIdHTTP ( 1041), and represents the event handler signalled when the HTTP client receives a redirection ResponseCode ( 428) in the Response ( 428) for an HTTP Request ( 1049). OnRedirect is signalled during handling of an HTTP Response ( 428) in the DoRequest method when the ResponseCode ( contains a value in the range 300-307, and the Response ( 428) contains a Location header.

428)

When HandleRedirects ( 1046) is True, and the number of active redirects does not exceed RedirectMaximum ( 1049), the event handler is signalled to allow the HTTP client to handle any processing required for the Location, Method, or current number of redirection requests. If the client is not Disconnected, the pending redirection request is automatically executed using a nested call to DoRequest. When HandleRedirects ( 1046) is False, the event handler is signalled to allow the HTTP client to handle all aspects of the redirection request. If the redirection request is not handled, an EIdProtocolReplyError exception will be raised. An Application must assign a procedure to the event handler in order to respond to the event notification. The event handler procedure can used to alter the redirection location specified in Dest, or to change the HTTP method for a pending redirection request. The event handler procedure should also set Handled to True to indicate that the redirection request can/should be allowed for the client.

TIdHTTP.OnSelectAuthorization Event Event handler triggered when the client selects an authentication mechanism for the connection.

Internet Direct (Indy) Version 10.1.5

1051

TIdHTTPCustomSessionList Class

Classes

Pascal property OnSelectAuthorization: TIdOnSelectAuthorization; Parameters Parameters

Description

Sender

HTTP client generating the event notification.

AuthenticationClass

Authentication class to use for the connection.

AuthInfo

Header values to use in authectication.

Description OnSelectAuthorization is a published TIdOnSelectAuthorization ( 3071) property in TIdHTTP ( 1041), and represents the event handler triggered when the HTTP client chooses an Authentication method and class for authorizing a connection. OnSelectAuthorization is triggered when a Request ( 1049) needs Authentication using a supported Authentication method for the WWWAuthenticate headers found in Response ( 428). OnSelectAuthorization can be used to set the class instance in Auth used for authenticating the client Request ( 1049) based on header values found in AuthInfo. OnSelectAuthorization is used prior to triggering the OnAuthorization (

1050) event handler for the client connection.

TIdHTTP.OnSelectProxyAuthorization Event Event handler triggered when the client selects an authentication mechanism for the Proxied connection. Pascal property OnSelectProxyAuthorization: TIdOnSelectAuthorization; Parameters Parameters

Description

Sender

HTTP client generating the event notification.

AuthenticationClass

Authentication class to use for the connection.

AuthInfo

Header values to use in authectication.

Description OnSelectProxyAuthorization is a published TIdOnSelectAuthorization ( 3071) property in TIdHTTP ( 1041), and represents the event handler triggered when the HTTP client chooses an Authentication method and class for authorizing a proxied connection. OnSelectProxyAuthorization is triggered when a Request ( 1049) needs Authentication using a supported Authentication method for the Proxy headers found in Response ( 428). OnSelectProxyAuthorization can be used to set the class instance in Auth used for authenticating the client Request ( 1049) based on header values found in AuthInfo. OnSelectProxyAuthorization is used prior to triggering the OnProxyAuthorization (

1050) event handler for the client connection.

TIdHTTPCustomSessionList Class Specifies an abstract container for persistent HTTP sessions. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal TIdHTTPCustomSessionList = class(TIdBaseComponent); Description TIdHTTPCustomSessionList is a TIdComponent ( 1052

355) descendant that specifies a pure virtual class that provides the container Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPCustomSessionList Class

framework for HTTP sessions in a TIdCustomHTTPServer (

434) implementation.

TIdHTTPCustomSessionList declares procedures and methods needed to add ( 1054) an create ( 267) TIdHTTPSession ( 1105) persistent session objects, retrieve session objects by an identifier and remote IP address, and clear ( 1054) sessions from the container. All methods in TIdHTTPCustomSessionList are declared as virtual abstract procedures and functions, and must be overridden in a descendant class to provide the session management capabilities required. TIdHTTPCustomSessionList is used as the ancestor for Indy classes, like TIdHTTPDefaultSessionList ( persistent session information using TIdHTTPSession ( 1105) object instances.

1059), that manage

TIdHTTPCustomSessionList also implements properties and event handlers needed to specify the default timeout value for sessions in the container, and to respond to events triggered when a persistent session is started or completed. TIdHTTPCustomSessionList is the type used to represent the TIdHTTPSession.Owner property established during initialization of the session object. See Also TIdHTTPDefaultSessionList (

1059)

TIdHTTPSession.Owner

TIdHTTPCustomSessionList Members The following tables list the members exposed by TIdHTTPCustomSessionList. Properties Property

Description

SessionTimeout ( Version (

1057)

Specifies the time-to-live for a HTTP session.

269)

Identifies the version number for the Indy component suite.

Methods Method Add (

Description 1054)

Clear ( Create (

Specifies the mechanism used to add an HTTP session to the session list.

1054)

Specifies the mechanism used to free HTTP sessions in the session list.

267)

Constructor for the object instance.

CreateSession (

1055)

CreateUniqueSession ( GetSession ( GetVersion (

1056)

Specifies the mechanism used to create (

267) a new HTTP session.

Specifies the mechanism used to create ( IP address.

267) a new HTTP asession with a unique session ID for its remote

Retrieves a HTTP session from the session list.

269)

Version (

PurgeStaleSessions ( CType (

1055)

1057)

269) number for Indy component suite.

Removes expired sessions from the session list.

267)

Create (

1274)

Events Event

Description

OnSessionEnd (

1058)

OnSessionStart (

1058)

Specifies the event handler for a terminating HTTP session. Specifies the event handler for a terminating HTTP session.

Legend Method abstract virtual Property read only Event

Internet Direct (Indy) Version 10.1.5

1053

TIdHTTPCustomSessionList Class

Classes

TIdHTTPCustomSessionList Methods The Methods of the TIdHTTPCustomSessionList class are listed here. Methods Method

Description

Add (

1054)

Clear (

Specifies the mechanism used to add an HTTP session to the session list.

1054)

Specifies the mechanism used to free HTTP sessions in the session list.

CreateSession (

1055)

CreateUniqueSession ( GetSession (

1055)

1056)

Specifies the mechanism used to create (

267) a new HTTP session.

Specifies the mechanism used to create ( IP address.

267) a new HTTP asession with a unique session ID for its remote

Retrieves a HTTP session from the session list.

PurgeStaleSessions (

1057)

Removes expired sessions from the session list.

Legend Method abstract

TIdHTTPCustomSessionList.Add Method Specifies the mechanism used to add an HTTP session to the session list. Pascal procedure Add( ASession: TIdHTTPSession ); virtual; abstract; Parameters Parameters

Description

ASession

HTTP session to add to the container.

Description Add is an abstract virtual method that specifies the method used to add the HTTP session in ASession to the session list. All methods in TIdHTTPCustomSessionList ( 1052) are declared as virtual abstract procedures and functions, and must be overridden in a descendant class to provide access to the storage mechanism for sessions in the container. Use CreateSession ( Use Clear (

1055) or CreateUniqueSession (

1055) to initialize a new session maintained in the session list.

1054) to remove all sessions stored in the list.

See Also TIdHTTPDefaultSessionList.Add ( CreateSession (

1055)

CreateUniqueSession ( Clear (

1060)

1055)

1054)

TIdHTTPCustomSessionList.Clear Method Specifies the mechanism used to free HTTP sessions in the session list. Pascal procedure Clear; virtual; abstract; Description Clear is an abstract virtual procedure that specifies the mechanism used to remove all TIdHTTPSession ( session list.

1054

1105) objects in the

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPCustomSessionList Class

All methods in TIdHTTPCustomSessionList ( 1052) are declared as virtual abstract procedures and functions, and must be overridden in a descendant class to provide access to the storage mechanism for sessions in the container. Use Add (

1054) to store a HTTP session in the session list.

Use CreateSession (

1055) or CreateUniqueSession (

1055) to initialize a new session maintained in the session list.

See Also TIdHTTPDefaultSessionList.Clear ( CreateSession (

1061)

1055)

CreateUniqueSession (

1055)

TIdHTTPCustomSessionList.CreateSession Method Specifies the mechanism used to create (

267) a new HTTP session.

Pascal function CreateSession( const RemoteIP: String; const SessionID: String ): TIdHTTPSession; virtual; abstract; Parameters Parameters

Description

RemoteIP

The peer IP address for the session.

SessionID

The identifier for the session.

Returns TIdHTTPSession (

1105) - The session object created.

Description CreateSession is an abstract virtual TIdHTTPSession ( 1105) function that specifies the mechanism used to create ( HTTP session, and add ( 1054) the new session to the session list.

267) a new

RemoteIP is the IP address of the remote computer system that is the endpoint for the HTTP session. SessionID is the session identifier for the new HTTP session. All methods in TIdHTTPCustomSessionList ( 1052) are declared as virtual abstract procedures and functions, and must be overridden in a descendant class to provide access to the storage mechanism used for the session list. Use CreateUniqueSession ( HTTP server.

1055) to ensure only one instance of a session exists when using state-persistent session in an

See Also TIdHTTPDefaultSessionList.CreateSession ( CreateUniqueSession ( Add (

1061)

1055)

1054)

GetSession (

1056)

TIdHTTPCustomSessionList.CreateUniqueSession Method Specifies the mechanism used to create (

267) a new HTTP asession with a unique session ID for its remote IP address.

Pascal function CreateUniqueSession( const RemoteIP: String ): TIdHTTPSession; virtual; abstract;

Internet Direct (Indy) Version 10.1.5

1055

TIdHTTPCustomSessionList Class

Classes

Returns TIdHTTPSession (

1105) - new HTTP session created for a client connection.

Description CreateUniqueSession is an abstract virtual TIdHTTPSession ( 1105) function that specifies the mechanism used to ensure that a new session identifier is used for a client connection having the remote IP address specified in RemoteIP. All methods in TIdHTTPCustomSessionList ( 1052) are declared as virtual abstract procedures and functions, and must be overridden in a descendant class to provide access to the storage mechanism used for the session list. See Also TIdHTTPDefaultSessionList.CreateUniqueSession ( CreateSession ( GetSession ( Add (

1062)

1055)

1056)

1054)

TIdHTTPCustomSessionList.GetSession Method Retrieves a HTTP session from the session list. Pascal function GetSession( const SessionID: string; const RemoteIP: string ): TIdHTTPSession; virtual; abstract; Parameters Parameters

Description

SessionID

The identifier for the session.

RemoteIP

The remote IP address for the session.

Returns TIdHTTPSession (

1105) - The session object reference, or Nil.

Description GetSession is an abstract virtual TIdHTTPSessionList function that specifies the mechanism used to retrieve an existing HTTP session from the session list. SessionID is the session identifier for the HTTP session to be located in the session list. RemoteIP is the IP address for the remote endpoint of the HTTP session. Use a empty string ('') to indicate that any IP address having the requested session identifier is a valid session. GetSession should implement some mechanism to prevent a session from becoming stale, and being removed by PurgeStaleSessions ( 1057), when it has been accessed using GetSession. All methods in TIdHTTPCustomSessionList ( 1052) are declared as virtual abstract procedures and functions, and must be overridden in a descendant class to provide access to the storage mechanism in the session list. See Also TIdHTTPDefaultSessionList.GetSession ( CreateUniqueSession ( PurgeStaleSessions ( SessionTimeout (

1055) 1057)

1057)

TIdHTTPSession.LastTimeStamp (

1056

1062)

1110)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPCustomSessionList Class

TIdHTTPCustomSessionList.PurgeStaleSessions Method Removes expired sessions from the session list. Pascal procedure PurgeStaleSessions( PurgeAll: Boolean = false ); virtual; abstract; Parameters Parameters

Description

PurgeAll

Indicates all stale sessions are to be removed.

Description PurgeStaleSessions is an abstract virtual procedure that specifies the mechanism used to remove a HTTP session where the LastTimeStamp for the session and the SessionTimeout ( 1057) properties indicate that the session has expired. PurgeStaleSessions is used (in a thread) for HTTP server implementation that maintain persistent sessions. All methods in TIdHTTPCustomSessionList ( 1052) are declared as virtual abstract procedures and functions, and must be overridden in a descendant class to provide access to the storage mechanism used for the session list. See Also TIdHTTPDefaultSessionList.PurgeStaleSessions ( SessionTimeout (

1063)

1057)

TIdHTTPSession.LastTimeStamp (

1110)

TIdCustomHTTPServer.SessionState (

442)

TIdHTTPCustomSessionList Properties The Properties of the TIdHTTPCustomSessionList class are listed here. Properties Property

Description

SessionTimeout (

1057)

Specifies the time-to-live for a HTTP session.

Legend Property

TIdHTTPCustomSessionList.SessionTimeout Property Specifies the time-to-live for a HTTP session. Pascal property SessionTimeout: Integer; Description SessionTimeout is an Integer property that specifies the time-to-live for a persistent HTTP session. SessionTimeout is expressed as a number of milliseconds. SessionTimeout is used to determine when a TIdHTTPSession ( 1105) is stale (the LastTimeStamp indicates that the SessionTimeOut has elapsed) in a HTTP server implementation that maintain persistent sessions. See Also GetSession (

1056)

PurgeStaleSessions (

1057)

TIdCustomHTTPServer.SessionState ( Internet Direct (Indy) Version 10.1.5

442) 1057

TIdHTTPCustomSessionList Class

Classes

TIdHTTPCustomSessionList Events The Events of the TIdHTTPCustomSessionList class are listed here. Events Event

Description

OnSessionEnd (

1058)

OnSessionStart (

Specifies the event handler for a terminating HTTP session.

1058)

Specifies the event handler for a terminating HTTP session.

Legend Event

TIdHTTPCustomSessionList.OnSessionEnd Event Specifies the event handler for a terminating HTTP session. Pascal property OnSessionEnd: TOnSessionEndEvent; Parameters Parameters

Description

Sender

HTTP session for the event notification.

Description OnSessionEnd is a TOnSessionEndEvent ( 3111) property that represents the event handler signalled when an HTTP session will be terminated. OnSessionEnd allows the session to notify its Owner (the session list) that it is closing, and should be removed from the session list. Applications must assign a procedure to the event handler to respond to the event notification. OnSessionEnd normally receives the event handler procedure in the TIdCustomHTTPServer.OnSessionEnd ( 444) property when the HTTP server becomes active. See Also TIdCustomHTTPServer.OnSessionEnd ( TOnSessionEndEvent (

444)

3111)

TIdHTTPCustomSessionList.OnSessionStart Event Specifies the event handler for a terminating HTTP session. Pascal property OnSessionStart: TOnSessionStartEvent; Parameters Parameters

Description

Sender

HTTP session for the event notification.

Description OnSessionStart is a TOnSessionStartEvent ( 3112) property that represents the event handler signalled when an HTTP session will be activated. OnSessionStart allows the session to notify its Owner (the session list) that it is has been created, and should be added to the session list. Applications must assign a procedure to the event handler to respond to the event notification. OnSessionStart normally receives the event handler procedure in the TIdCustomHTTPServer.OnSessionStart ( 444) property when the HTTP server becomes active. See Also TIdCustomHTTPServer.OnSessionStart ( 1058

444) Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPDefaultSessionList Class

TOnSessionStartEvent (

3112)

TIdHTTPDefaultSessionList Class Implements a thread-safe container for persistent HTTP sessions. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal TIdHTTPDefaultSessionList = class(TIdHTTPCustomSessionList); Description TIdHTTPDefaultSessionList is a TIdHTTPCustomSessionList ( 1052) descendant that implements the container framework declared in the ancestor class. TIdHTTPDefaultSessionList provides an implementation that uses a TThreadList to store and manage TIdHTPSession object instances. TIdHTTPDefaultSessionList overrides abstract virtual methods from the ancestor class to implement the operations needed to maintain the session list, including:

Add ( Clear (

1060) 1061)

CreateSession (

1061)

CreateUniqueSession ( GetSession (

1062)

1062)

PurgeStaleSessions (

1063)

RemoveSession TIdHTTPDefaultSessionList extends the ancestor by including the internal RemoveSessionFromLockedList method to provide thread-safe removal of a persistent session object from the internal TThreadList. TIdHTTPDefaultSessionList is the type used to represent the TIdHTTPServer.SessionList ( implementation.

1064) property in an HTTP server

See Also TIdHTTPCustomSessionList (

1052)

TIdCustomHTTPServer.SessionList (

441)

TIdHTTPDefaultSessionList Members The following tables list the members exposed by TIdHTTPDefaultSessionList. Properties Property

Description

SessionList (

1064)

SessionTimeout ( Version (

1057)

269)

Internet Direct (Indy) Version 10.1.5

Specifies the time-to-live for a HTTP session. Identifies the version number for the Indy component suite.

1059

TIdHTTPDefaultSessionList Class

Classes

Methods Method Add (

Description 1060)

Clear ( Create (

Adds a persistent HTTP session to the thread-safe container.

1061)

Removes all HTTP sessions from the thread-safe session list.

267)

Constructor for the object instance.

CreateSession (

1061)

CreateUniqueSession ( Destroy (

1062)

GetSession ( GetVersion (

Creates a new HTTP asession with a unique session ID and remote IP address. Destructor for the object instance.

1062)

Retrieves a persistent HTTP session having the specified ID and remote IP address.

269)

Version (

PurgeStaleSessions ( CType (

Adds a new HTTP session to the thread-safe container. 1062)

1063)

269) number for Indy component suite.

Removes one or more expired sessions from the session list.

267)

Create (

1274)

Events Event

Description

OnSessionEnd (

1058)

OnSessionStart (

Specifies the event handler for a terminating HTTP session.

1058)

Specifies the event handler for a terminating HTTP session.

Legend Method virtual Property read only Event

TIdHTTPDefaultSessionList Methods The Methods of the TIdHTTPDefaultSessionList class are listed here. Methods Method Add (

Description 1060)

Clear (

Adds a persistent HTTP session to the thread-safe container.

1061)

Removes all HTTP sessions from the thread-safe session list.

CreateSession (

1061)

CreateUniqueSession ( Destroy (

Adds a new HTTP session to the thread-safe container. 1062)

1062)

GetSession (

Destructor for the object instance.

1062)

PurgeStaleSessions (

Creates a new HTTP asession with a unique session ID and remote IP address. Retrieves a persistent HTTP session having the specified ID and remote IP address.

1063)

Removes one or more expired sessions from the session list.

Legend Method virtual

TIdHTTPDefaultSessionList.Add Method Adds a persistent HTTP session to the thread-safe container. Pascal procedure Add( ASession: TIdHTTPSession ); override; Parameters Parameters

Description

ASession

HTTP session to be added to the container.

Description Add is an overridden procedure in TIdHTTPDefaultSessionList ( 1060

1059), and adds the persistent HTTP session specified in Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPDefaultSessionList Class

ASession to the thread-safe container. Add calls the Add method for the internal TThreadList to store persistent sessions in the session list. Use GetSession (

1062) to retrieve a session added to the container using Add.

Use RemoveSession to delete a session from the container. Use CreateSession (

1061) or CreateUniqueSession (

1062) to create (

267) a new session and Add it to the session list.

See Also GetSession (

1062)

RemoveSession CreateSession (

1061)

CreateUniqueSession (

1062)

TIdHTTPDefaultSessionList.Clear Method Removes all HTTP sessions from the thread-safe session list. Pascal procedure Clear; override; Description Clear is an overridden procedure used to remove all TIdHTTPSession (

1105) objects in the thread-safe session list.

Clear ensures that the internal thread list is locked prior to triggering the OnSessionEnd ( clearing the session owner, and freeing the TIdHTTPSession ( 1105) instance from the list.

1058) event handler for the session,

Clear unlocks the internal thread list prior to exiting from the method. See Also TIdHTTPSession (

1105)

TIdHTTPSession. OnSessionEnd (

1058)

TIdHTTPDefaultSessionList.CreateSession Method Adds a new HTTP session to the thread-safe container. Pascal function CreateSession( const RemoteIP: String; const SessionID: String ): TIdHTTPSession; override; Parameters Parameters

Description

RemoteIP

The peer IP address for the session.

SessionID

The identifier for the session.

Returns TIdHTTPSession (

1105) - The session object reference.

Description CreateSession is an overridden TIdHTTPSession ( 1105) function used to create ( add ( 1060) the new session to the internal storage for the session list. CreateSession constructs a new TIdHTTPSession (

267) a new persistent HTTP session, and

1105) instance using the values specified in RemoteIP and SessionID.

RemoteIP is the IP address of the remote computer system that is the endpoint for the HTTP session.

Internet Direct (Indy) Version 10.1.5

1061

TIdHTTPDefaultSessionList Class

Classes

SessionID is the identifier for the new HTTP session. CreateSession is used by TIdHTTPServer ( Use CreateUniqueSession ( server implementation.

1102) to retrieve a new HTTP session when a new client connection is established.

1062) to ensure that a previous persistent session is used for a new client connection to a HTTP

See Also CreateUniqueSession ( TIdHTTPSession (

1062)

1105)

TIdHTTPDefaultSessionList.CreateUniqueSession Method Creates a new HTTP asession with a unique session ID and remote IP address. Pascal function CreateUniqueSession( const RemoteIP: String ): TIdHTTPSession; override; Parameters Parameters

Description

RemoteIP

IP address or host name for the remote connection.

Returns TIdHTTPSession (

1105) - new HTTP session created for a client connection.

Description CreateUniqueSession is an overridden TIdHTTPSession ( 1105) function used to ensure a new HTTP session is created for a client connection having the remote IP address specified in RemoteIP. CreateUniqueSession generates a random value for the session identifier used in the HTTP session, and calls CreateSession ( 1061) when the RemoteIP and SessionID combination is guaranteed to be unique. See Also CreateSession (

1061)

TIdHTTPDefaultSessionList.Destroy Destructor Destructor for the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy is responsible for freeing and releasing resource allocated to the internal thread-safe session list for the container in Create ( 267). Destroy calls the inherited Destroy method prior to exiting. See Also Create (

267)

TIdHTTPDefaultSessionList.GetSession Method Retrieves a persistent HTTP session having the specified ID and remote IP address. Pascal function GetSession( const SessionID: string; 1062

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPDefaultSessionList Class

const RemoteIP: string ): TIdHTTPSession; override; Parameters Parameters

Description

SessionID

Session identifier to be located.

RemoteIP

Optional remote IP address for the session.

Returns TIdHTTPSession (

1105) - Persistent session retrieved from the container.

Description GetSession is an overridden TIdHTTPSession ( 1105) function used to retrieve a persistent HTTP session having the remote IP address and session identifier specified in SessionID and RemoteIP. GetSession ensures that the internal thread list is locked prior to accessing sessions in the container. GetSession will iteratively search through all sessions in the container until a session is located with the specified SessionID and RemoteIP. If RemoteIP contains an empty string, the first session with the same session identifier is used. When a session is located for the session identifier and remote IP address, the session is time-stamped for last access to prevent purging as a stale session in PurgeStaleSessions ( 1063). The return value for GetSession can contain Nil when a session cannot be located with the specified values. GetSession will unlock the internal thread list prior to exiting from the method. See Also TIdHTTPSession (

1105)

PurgeStaleSessions (

1063)

TIdHTTPDefaultSessionList.PurgeStaleSessions Method Removes one or more expired sessions from the session list. Pascal procedure PurgeStaleSessions( PurgeAll: Boolean = false ); override; Parameters Parameters

Description

PurgeAll

Clear (

1061) one or all stale sessions. Default value is False.

Description PurgeStaleSessions is an overridden procedure used to remove persistent HTTP sessions where the last access timestamp in TIdHTTPSession ( 1105) and the session timeout in TIdCustomHTTPServer ( 434) indicate that the session has expired. PurgeStaleSessions can be used to remove one or more session that have expired, as indicated in the PurgeAll argument. PurgeStaleSessions will iteratively call the internal RemoveSessionFromLockedList method to remove the expired session(s). When Purge all contains True, all sessions will be purged regardless of the settings in the persistent TIdHTTPSession ( 1105) item. PurgeStaleSessions ensures that the session list is locked prior to removing stale sessions, and is unlocked prior to exiting from the method. See Also GetSession (

1062)

TIdHTTPSession (

1105)

TIdHTTPSession.LastTimeStamp (

Internet Direct (Indy) Version 10.1.5

1110)

1063

TIdHTTPProtocol Class

Classes

TIdCustomHTTPServer. SessionTimeout (

1057)

TIdHTTPDefaultSessionList Properties The Properties of the TIdHTTPDefaultSessionList class are listed here. Properties Property

Description

SessionList (

1064)

Legend Property read only

TIdHTTPDefaultSessionList.SessionList Property Pascal property SessionList: TIdThreadList; Description SessionList is a read-only TIdThreadList (

3093) property.

TIdHTTPProtocol Class Implements a HTTP protocol handler for connection and request/response processing. File IdHTTP (

4662)

Hierarchy

Pascal TIdHTTPProtocol = class(TObject); Description TIdHTTPProtocol is a TObject decendant that implements a HTTP protocol handler for an HTTP Request ( Response ( 1069).

1069) or HTTP

TIdHTTPProtocol is the type used to represent the internal protocol handler for TIdHTTP ( 1041), and allows the client to perform state-dependant protocol exchanges used during client connection and servicing of the request/response chain. See Also TIdHTTP (

1041)

TIdHTTPRequest ( TIdHTTPResponse ( IndySupport (

1072) 1085)

15)

TIdHTTPProtocol Members The following tables list the members exposed by TIdHTTPProtocol.

1064

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPProtocol Class

Properties Property

Description

Request (

1069)

Response (

Represents HTTP request items used by the HTTP protocol handler.

1069)

ResponseCode (

Represents HTTP response values captured by the HTTP protocol handler.

1070)

Indicates the numeric reponse code received in an HTTP response.

Methods Method

Description

BuildAndSendRequest ( Create (

1066)

Constructs and sends a HTTP request message using headers and cookies.

1066)

Destroy (

Constructor for the object instance.

1067)

Frees the object instance.

ProcessResponse ( RetrieveHeaders (

1067)

Handles the state-dependent processing of requests and responses for an HTTP client.

1068)

Captures and processes headers in an HTTP response.

Legend Data Member Method virtual Property read only

TIdHTTPProtocol Fields The Fields of the TIdHTTPProtocol class are listed here. Legend Data Member

TIdHTTPProtocol.FHTTP Field Pascal FHTTP: TIdCustomHTTP; Description FHTTP is a TIdCustomHTTP (

404) class variable.

TIdHTTPProtocol.FRequest Field Pascal FRequest: TIdHTTPRequest; Description FRequest is a TIdHTTPRequest (

1072) class variable.

TIdHTTPProtocol.FResponse Field Pascal FResponse: TIdHTTPResponse; Description FResponse is a TIdHTTPResponse (

Internet Direct (Indy) Version 10.1.5

1085) class variable.

1065

TIdHTTPProtocol Class

Classes

TIdHTTPProtocol.FResponseCode Field Pascal FResponseCode: Integer; Description FResponseCode is a Integer class variable.

TIdHTTPProtocol Methods The Methods of the TIdHTTPProtocol class are listed here. Methods Method

Description

BuildAndSendRequest ( Create (

1066)

Constructs and sends a HTTP request message using headers and cookies.

1066)

Destroy (

Constructor for the object instance.

1067)

Frees the object instance.

ProcessResponse ( RetrieveHeaders (

1067)

Handles the state-dependent processing of requests and responses for an HTTP client.

1068)

Captures and processes headers in an HTTP response.

Legend Method virtual

TIdHTTPProtocol.BuildAndSendRequest Method Constructs and sends a HTTP request message using headers and cookies. Pascal procedure BuildAndSendRequest( AURI: TIdURI ); Parameters Parameters

Description

AURI

Optional Universal Resource Locator for the request.

Description BuildAndSendRequest is a procedure that allows the protocol handler to set header values for the HTTP request, and to send the request to the HTTP server. BuildAndSendRequest will ensure that ProxyParams is updated from the raw headers in Request ( for the optional domain in AURI.

1069), and sets cookie values

BuildAndSendRequest also generates the HTTP request message packet, including header values, and writes the values using the connection for the TIdHTTP ( 1041) client. BuildAndSendRequest is called when the HTTP client connects to the host server for the HTTP request. See Also TIdCustomHTTP.ProxyParams ( TIdHTTPRequest (

426)

1072)

TIdHTTPProtocol.Create Constructor Constructor for the object instance.

1066

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPProtocol Class

Pascal constructor Create( AConnection: TIdCustomHTTP ); Parameters Parameters

Description

AConnection

HTTP client connection for the protocol handler.

Description Create is the constructor for the object instance, and calls the inherited Create method to initialize the object instance. Create sets the internal member used to represent the TIdHTTP ( in AConnection. Create allocates the resources used to represent the Request ( protocol exchanges. Use Destroy (

1041) connection for the protocol handler to the value indicated 1069) and Response (

1069) headers generated during HTTP

1067) to free the objet instance.

See Also TIdHTTPProtocol.Destroy (

1067)

TIdHTTPProtocol.Request ( TIdHTTPProtocol.Response ( TIdHTTP (

1069) 1069)

1041)

TIdHTTPProtocol.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy frees resources allocted in the Create (

1066) constructor, including Request (

1069) and Response (

1069).

Destroy calls the inherited Destroy method prior to exiting. See Also TIdHTTPProtocol.Create (

1066)

TIdHTTPProtocol.Request ( TIdHTTPProtocol.Response ( TIdHTTP (

1069) 1069)

1041)

TIdHTTPProtocol.ProcessResponse Method Handles the state-dependent processing of requests and responses for an HTTP client. Pascal function ProcessResponse( AIgnoreReplies: array of SmallInt ): TIdHTTPWhatsNext; Returns TIdHTTPWhatsNext (

2956) - Next step to perform for the protocol handler.

Internet Direct (Indy) Version 10.1.5

1067

TIdHTTPProtocol Class

Classes

Description ProcessResponse is a TIdHTTPWhatsNext ( 2956) function that allows the HTTP protocol handler to perform state-dependent protocol exchanges using the Request ( 1069) and Response ( 1069) properties. ProcessResponse is, in essence, the state machine used to control actions of a TIdHTTP ( 1041) client during connection and request/response processing. ProcessResponse allows the protocol handler to detect and respond to various conditions that include:

• Header processing. • Redirection in a HTTP response. • Use of Keep-Alive for Secure Socket Layer transport. • HTTP Server and Proxy Server authorization. • Response (

1069) content stream handling.

• Exception (

4733) processing.

ProcessResponse is used when the HTTP client attempts to connect to the remote server to perform an HTTP request or receive an HTTP response. The TIdHTTPWhatsNext ( 2956) return value for ProcessResponse is updated often during execution of the method based on the numeric HTTP result codes. Use OnHeadersAvailable to determine if response processing can be continued on the client based on header values found in the HTTP response. ProcessResponse detects and handles redirection responses (when HandleRedirects contains True in the HTTP client), as well as incrementing the value in the RedirectCount property. When the HTTP response indicates that Authentication is required for the Server or Proxy Server, ProcessResponse triggers the OnAuthorization and OnProxyAuthorization event handlers when HTTPOptions contains the value hoInProcessAuth. ProcessResponse also implements a work-around for buggy HTTP 1.1 servers which do not return a response body for a 302 response code. It uses a 4 second timout when reading the content for the HTTP response. The value in the ReadTimeout property for the IOHandler is unaffected by this operation. Exceptions Exceptions

Description

EIdHTTPProtocolException (

100)

Raised when a protocol response code indicates an error has occurred.

See Also TIdHTTPRequest (

1072)

TIdHTTPResponse ( TIdHTTP.OnRedirect (

1085) 1051)

TIdHTTP.OnAuthorization (

1050)

TIdHTTP.OnProxyAuthorization (

1050)

TIdHTTPProtocol.RetrieveHeaders Method Captures and processes headers in an HTTP response. Pascal procedure RetrieveHeaders( AMaxHeaderCount: integer ); Description RetrieveHeaders is a procedure that allows the HTTP protocol handler to read header values in an HTTP Response ( to store the raw headers in the Response ( 1069) for the protocol handler. RetrieveHeaders clears all headers in Response ( 1068

1069), and

1069) prior to reading new values. Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPProtocol Class

RetrieveHeaders repeatedly calls the ReadLn method in the IOHandler for the HTTP client until no more header data is available on the HTTP client connection, or an EIdConnClosedGracefully ( 69) is raised. If an exception is raised, the HTTP client connection is closed. When all headers have been read from the client, RetrieveHeaders causes the header values to be moved to their corresponding properties in Response ( 1069). See Also TIdHTTPResponse (

1085)

TIdHTTP. Response (

1069)

EIdConnClosedGracefully (

69)

TIdHTTPProtocol Properties The Properties of the TIdHTTPProtocol class are listed here. Properties Property

Description

Request (

1069)

Response (

Represents HTTP request items used by the HTTP protocol handler.

1069)

ResponseCode (

Represents HTTP response values captured by the HTTP protocol handler.

1070)

Indicates the numeric reponse code received in an HTTP response.

Legend Property read only

TIdHTTPProtocol.Request Property Represents HTTP request items used by the HTTP protocol handler. Pascal property Request: TIdHTTPRequest; Description Request is a read-only TIdHTTPRequest ( 1072) property that represents the client connection and connection type, the HTTP method, the URL, and the input stream used by the HTTP protocol handler. The Request property is used in TIdHTTP.SetHeaders and TIdHTTP.SetCookies, and allows the protocol handler to provide the values used in a generated HTTP request to various event handlers in the TIdHTTP ( 1041) client. See Also TIdHTTPRequest (

1072)

TIdHTTP.OnRedirect (

1051)

TIdHTTP.OnSelectAuthorization (

1051)

TIdHTTP.OnSelectProxyAuthorization ( TIdHTTP.OnAuthorization (

1052)

1050)

TIdHTTP.OnProxyAuthorization (

1050)

TIdHTTPProtocol.Response Property Represents HTTP response values captured by the HTTP protocol handler. Pascal property Response: TIdHTTPResponse; Internet Direct (Indy) Version 10.1.5

1069

TIdHTTPProxyServer Class

Classes

Description Response is a read-only TIdHTTPResponse ( 1085) property that represents the HTTP client connection and connection flags, the numeric reponse code and text, and the content stream used by the HTTP protocol handler. The Response property is used in GetResponseHeaders, and allows the protocol handler to provide the values received in a HTTP response. Values in the Response property are updated using the RetrieveHeaders ( when the request is executed for the HTTP client.

1068) method when connecting to the HTTP host and

See Also TIdHTTPResponse (

1085)

TIdHTTPProtocol.ResponseCode Property Indicates the numeric reponse code received in an HTTP response. Pascal property ResponseCode: Integer; Description ResponseCode is a read-only Integer property that indicates the numeric reponse code received in an HTTP response. The value in ResponseCode is parsed from the value in ResponseText, and may contain -1 if the textual response did not contain a valid numeric value. Values in ResponseCode and ResponseText are used often during processing for an HTTP request in both the HTTP client and the HTTP protocol handler. See Also TIdHTTPProtocol (

1064)

TIdCustomHTTP.ConnectToHost TIdCustomHTTP.OnAuthorization (

431)

TIdCustomHTTP.OnProxyAuthorization (

432)

TIdHTTPProxyServer Class File IdHTTPProxyServer (

4664)

Hierarchy

Pascal TIdHTTPProxyServer = class(TIdCmdTCPServer); Description TIdHTTPProxyServer is a TIdCmdTCPServer (

326) descendant.

See Also TIdCmdTCPServer (

1070

326)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPProxyServer Class

TIdHTTPProxyServer Members The following tables list the members exposed by TIdHTTPProxyServer. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

Container for socket handles allocated by the server.

CommandHandlers ( ContextClass (

Command handlers used in the server implementation.

461)

Contexts (

Class reference used to create (

462)

DefaultPort (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server.

1072)

ExceptionReply ( Greeting (

330)

331)

Response code and text used for exceptions occurring in the server.

331)

HelpReply (

"Welcome" message sent to new connections accepted in listener thread(s).

332)

Response sent when the HELP command is issued for a client connection.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

Represents the IOHandler used by listener threads for the server.

465)

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

MaxConnectionReply ( MaxConnections (

332)

OnAfterBind (

466)

OnExecute (

2379)

ReplyTexts (

333)

Indicates the maximum numer of client connections allowed for the server. Event handler signalled after binding socket handles for listener threads. Event handler used to execute the task for a client connection. Represents protocol responses used in the server implementation.

ReplyUnknownCommand ( ReuseSocket ( Scheduler (

Response used when the maximum number of client connections is exceeded.

465)

333)

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

Specifies the time a server should wait while terminating executable tasks for client connections.

269)

WorkTarget (

Represents the response message used for an unkown command.

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

330)

Frees the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( CType (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnAfterCommandHandler (

334)

OnBeforeCommandHandler ( OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

468)

469)

OnDisconnect ( OnException (

Represents the event handler signalled after CommandHandler usgage. Represents the event handler signalled after CommandHandler usgage. Event handler signalled proper to establishing a client connection to the server. Event handler signalled prior to executing a listener thread. Event handler signalled for establishing new client connections.

469)

Event handler signalled when disconnecting the client connection.

470)

Event handler for exceptions raised in a peer thread.

OnHTTPDocument (

1072)

OnListenException (

470)

OnStatus (

335)

359)

Internet Direct (Indy) Version 10.1.5

Event handler for an exception in a listener thread. Represents the current connection status event handler.

1071

TIdHTTPRequest Class

Classes

Legend Property read only Event Method virtual

TIdHTTPProxyServer Properties The Properties of the TIdHTTPProxyServer class are listed here. Properties Property

Description

DefaultPort (

1072)

Legend Property

TIdHTTPProxyServer.DefaultPort Property Pascal property DefaultPort: TIdPort; Description DefaultPort is a Published property. The default value for the property is IdPORT_HTTPProxy (

4023).

TIdHTTPProxyServer Events The Events of the TIdHTTPProxyServer class are listed here. Events Event

Description

OnHTTPDocument (

1072)

Legend Event

TIdHTTPProxyServer.OnHTTPDocument Event Pascal property OnHTTPDocument: TOnHTTPDocument; Description OnHTTPDocument is a Published TOnHTTPDocument ( implemented using FOnHTTPDocument.

3107) event handler property. Write access for the property is

TIdHTTPRequest Class Provides access to headers and properties for an HTTP request. File IdHTTP (

1072

4662)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPRequest Class

Hierarchy

Pascal TIdHTTPRequest = class(TIdRequestHeaderInfo); Description TIdHTTPRequest is a TIdRequestHeaderInfo ( 1857) descendant that provides properties and methods use to define and manipulate header values used in an HTTP request. TIdHTTPRequest is the type used to represent the TIdHTTP.Request ( 1049) property, and is used when TIdHTTP ( 1041) prepares the request by generating request header values that reflect the relative URL ( 1076), user authentication, host, options, protocol version, and content length for the URL ( 1076) and source stream in the HTTP request. A prepared TIdHTTPRequest instance is provided as an argument to TIdHTTP ( 1041) event handlers that use or update values in the HTTP request, including OnRedirect, OnSelectAuthorization, OnSelectProxyAuthorization, OnAuthorization, OnProxyAuthorization. TIdHTTPRequest is the type used to represent the TIdHTTPProtocol.Request ( store a reference to the request used in HTTP protocol exchanges.

1069) property, and allows the protocol handler to

See Also TIdRequestHeaderInfo (

1857)

TIdHTTPProtocol.Request ( TIdHTTP.Request (

1069)

1049)

TIdHTTP.OnRedirect (

1051)

TIdHTTP.OnSelectAuthorization (

1051)

TIdHTTP.OnSelectProxyAuthorization ( TIdHTTP.OnAuthorization (

1052)

1050)

TIdHTTP.OnProxyAuthorization (

1050)

TIdHTTPRequest Members The following tables list the members exposed by TIdHTTPRequest. Properties Property Accept (

Description 1860)

Specifies the media types accepted in a HTTP response.

AcceptCharSet (

1860)

Indicates the character sets accepted in a HTTP response.

AcceptEncoding (

1861)

Indicates the content encodings accepted in a HTTP response.

AcceptLanguage (

1861)

Indicates languages accepted in a HTTP response.

Authentication (

1861)

BasicAuthentication ( CacheControl ( Connection (

Used to calculate HTTP Access Authentication credentials.

1862)

Indicates that HTTP Basic Access authentication should be used.

672)

Specifies the HTTP Cache-Control general message header directives.

673)

Indicates that the connection will be closed after a response.

ContentEncoding (

673)

Indicates transformations applied to the content of an entity.

ContentLanguage (

673)

Identifies the preferred language for the contents of an entity.

ContentLength (

674)

ContentRangeEnd (

ContentRangeInstanceLength ( ContentRangeStart ( ContentType (

Indicates the size of an entity body.

674)

Identifies the upper byte range in a partial request. 675)

675)

675)

ContentVersion ( CustomHeaders (

676) 676)

Internet Direct (Indy) Version 10.1.5

Represents the entity size for a content range request. Identifies the beginning byte range in a partial request. Indicates the type, subtype, and attribute parameters for data in an entity body. Identifies the version tag associated with a server resource. Represents custom headers names and values for the HTTP message.

1073

TIdHTTPRequest Class Date (

Classes

676)

Expires ( From (

Indicates the origin date and time for an HTTP message.

677)

Represents the timestamp when an entity is considered stale.

1862)

Indicates the email address for the requesting user.

HasContentLength (

677)

HasContentRange (

678)

HasContentRangeInstance ( Host (

Indicates if a value has been assigned to ContentLength ( 678)

1862)

IPVersion (

Represents the Internet host name or address for the resource accessed by the HTTP request.

1075)

LastModified ( Method (

IP version for an address and/or port number in the URL (

678)

1075)

Password (

Represents the password used in construction of authorization credentials.

678)

Represents HTTP server directives in a client request.

ProxyConnection ( Range (

1863)

Indicates the action to perform for a proxied connection.

1864)

RawHeaders (

679)

Contains message header names and values in their original form.

Referer (

1864)

Specifies the address where a request URI was obtained.

Source (

1076)

Represents the input stream for HTTP Put or Post requests.

URL (

1076).

Indicates the date and time a server resource was modified. Indicates the HTTP method to use for the request.

1863)

Pragma (

674) in the entity headers.

1076)

UseProxy (

Represents the Universal Resource Locator for the HTTP request. 1076)

Indicates the connectionm type and headers for the HTTP request.

UserAgent (

1864)

Identifies the user agent (program) issuing the HTTP request.

Username (

1865)

Represents the Username used in construction of authorization credentials.

Methods Method

Description

Clear (

670)

Resets properties to their default empty values.

Clear (

1859)

Resets request headers to their default values.

Create (

1074)

Destroy (

671)

Constructor for the object instance. Frees the object instance.

Destroy (

1859)

Frees the object instance.

Legend Method virtual Property read only

TIdHTTPRequest Methods The Methods of the TIdHTTPRequest class are listed here. Methods Method Create (

Description 1074)

Constructor for the object instance.

Legend Constructor virtual

TIdHTTPRequest.Create Constructor Constructor for the object instance. Pascal constructor Create( AHTTP: TIdCustomHTTP ); virtual; reintroduce;

1074

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPRequest Class

Parameters Parameters

Description

AHTTP

HTTP client that owns the request.

Description Create is the constructor for the object instance, and calls the inherited Create method to initialize the object instance. Create stores AHTTP to the private member that represents the HTTP client for the request, and sets UseProxy ( default value (ctNormal). Use Destroy (

1076) to its

1859) to free the object instance.

See Also Destroy (

1859) UseProxy (

1076)

TIdHTTPRequest Properties The Properties of the TIdHTTPRequest class are listed here. Properties Property

Description

IPVersion (

1075)

IP version for an address and/or port number in the URL (

Method (

1075)

Indicates the HTTP method to use for the request.

Source (

1076)

Represents the input stream for HTTP Put or Post requests.

URL (

1076)

UseProxy (

1076).

Represents the Universal Resource Locator for the HTTP request. 1076)

Indicates the connectionm type and headers for the HTTP request.

Legend Property read only

TIdHTTPRequest.IPVersion Property IP version for an address and/or port number in the URL (

1076).

Pascal property IPVersion: TIdIPversion; Description IPVersion is a Public TIdIPversion property that represents the IP version used in the URL (

1076) for the HTTP request.

The default value for IPVersion is Id_IPv4, but may be updated when an IP address (and optional port number) is found in the URL ( 1076) during preparation of the request for the HTTP client. See Also URL (

1076) TIdIPversion Id_IPv4

TIdHTTPRequest.Method Property Indicates the HTTP method to use for the request. Pascal property Method: TIdHTTPMethod; Description Method is a TIdHTTPMethod ( request. Method is used when TIdHTTP ( Internet Direct (Indy) Version 10.1.5

3030) property that represents the HTTP command to use for the URL (

1076) in the HTTP

1041) needs to prepares a request, and during execution using the TIdHTTPProtocol (

1064) 1075

TIdHTTPRequest Class

Classes

protocol handler. Method allows the HTTP client to determine if additional properties or headers are required to connect to the HTTP host or perform the HTTP request. Method also indicates if the HTTP client should include any values from the content stream in Source ( protocol exchange.

1076) in the HTTP

See Also TIdHTTPMethod (

3030)

TIdHTTPProtocol.Request (

1069)

TIdHTTPProtocol.BuildAndSendRequest (

1066)

TIdHTTPRequest.Source Property Represents the input stream for HTTP Put or Post requests. Pascal property Source: TIdStream; Description Source is a TStream property that represents the input stream containing data used during execution of the HTTP request using the selected Method ( 1075). Source is also used by the TIdHTTPProtocol ( length for a request.

1064) protocol handler for a TIdHTTP (

1041) client to determine the content

See Also TIdHTTPProtocol (

1064)

TIdHTTPRequest.URL Property Represents the Universal Resource Locator for the HTTP request. Pascal property URL: string; Description URL is a String property that represents the Universal Resource Locator to use for the HTTP request. URL is used when TIdHTTP ( 1041) prepares a request for execution using the TIdHTTPProtocol ( contains the URL value prior to URL- or parameter-encoding for the host, path, document, or queries.

1064) prtocol handler, and

See Also TIdHTTP.Get TIdHTTP.Put

TIdHTTPRequest.UseProxy Property Indicates the connectionm type and headers for the HTTP request. Pascal property UseProxy: TIdHTTPConnectionType; Description UseProxy is a read-only TIdHTTPConnectionType ( 2954) property that indicates the connection type returned when TIdHTTP ( 1041) establishes a connection to the host for the request URL ( 1076). UseProxy will indicate if the HTTP request should contain values for 'Keep-Alive' or 'No-Cache' headers in the request.

1076

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPRequestInfo Class

See Also TIdHTTPConnectionType (

2954)

TIdHTTPRequestInfo Class Implements a HTTP Request object. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal TIdHTTPRequestInfo = class(TIdRequestHeaderInfo); Description TIdHTTPRequestInfo is a TIdRequestHeaderInfo ( 1857) descendant that encapsulates information for an HTTP request, and publishes properties to provide access to their values. The properties include the HTTP session, authentication parameters, the remote computer addresses, HTTP headers, cookies, the HTTP command and version, optional PostStream ( 1083) with ContentLength ( 674), and the document URL for the request. TIdHTTPRequestInfo is used by TIdHTTPServer ( the persistent HTTP session in the session list.

1102) to capture values found in an HTTP request, and to store a reference to

See Also TIdRequestHeaderInfo ( TIdHTTPServer (

1857)

1102)

TIdHTTPSession (

1105)

TIdHTTPDefaultSessionList ( IndySupport (

1059)

15)

TIdHTTPRequestInfo Members The following tables list the members exposed by TIdHTTPRequestInfo. Properties Property Accept (

Description 1860)

Specifies the media types accepted in a HTTP response.

AcceptCharSet (

1860)

Indicates the character sets accepted in a HTTP response.

AcceptEncoding (

1861)

Indicates the content encodings accepted in a HTTP response.

AcceptLanguage (

1861)

Indicates languages accepted in a HTTP response.

Authentication ( AuthExists (

1861) 1080)

Used to calculate HTTP Access Authentication credentials. Indicates that an authorization header is used in the HTTP request.

AuthPassword (

1080)

Specifies the authorization password for a HTTP request.

AuthUsername (

1081)

Specifies the authorization user name for the HTTP request.

BasicAuthentication ( CacheControl ( Command (

672) 1081)

673)

ContentEncoding (

Indicates that HTTP Basic Access authentication should be used. Specifies the HTTP Cache-Control general message header directives.

1081)

CommandType ( Connection (

1862)

Represents the HTTP command in the request. Represent the enumeration value for the command used in the HTTP request. Indicates that the connection will be closed after a response.

673)

Internet Direct (Indy) Version 10.1.5

Indicates transformations applied to the content of an entity.

1077

TIdHTTPRequestInfo Class ContentLanguage ( ContentLength (

673)

Identifies the preferred language for the contents of an entity.

674)

ContentRangeEnd (

Indicates the size of an entity body.

674)

Identifies the upper byte range in a partial request.

ContentRangeInstanceLength ( ContentRangeStart ( ContentType ( Cookies (

675)

Indicates the type, subtype, and attribute parameters for data in an entity body. Identifies the version tag associated with a server resource.

1082)

Represents cookies for the request.

676)

Represents custom headers names and values for the HTTP message.

676)

Indicates the origin date and time for an HTTP message.

Document ( Expires (

1082)

Specifies the path and document name for a HTTP request.

677)

Represents the timestamp when an entity is considered stale.

FormParams ( From (

1082)

Contains a string representing values from the request post stream.

1862)

Indicates the email address for the requesting user.

HasContentLength (

677)

HasContentRange (

678)

HasContentRangeInstance ( 1862)

Params (

678)

PostStream (

678)

Represents the HTTP header values as ASCII characters. Represents the password used in construction of authorization credentials.

1083)

Stream used to pass data from a client POST request.

678)

Represents HTTP server directives in a client request.

ProxyConnection ( QueryParams ( Range (

674) in the entity headers.

Indicates the date and time a server resource was modified.

1083) 1863)

Pragma (

Indicates if a value has been assigned to ContentLength (

Represents the Internet host name or address for the resource accessed by the HTTP request.

LastModified ( Password (

Represents the entity size for a content range request. Identifies the beginning byte range in a partial request.

676)

CustomHeaders (

Host (

675)

675)

ContentVersion (

Date (

Classes

1863)

Indicates the action to perform for a proxied connection.

1083)

Represents the query and optional parameters in an HTTP request.

1864)

RawHeaders (

679)

RawHTTPCommand ( Referer (

1864)

RemoteIP ( Session (

Text data containing the HTTP Command (

1081) received in an HTTP request.

Specifies the address where a request URI was obtained.

1084) 1084)

UnparsedParams (

Contains message header names and values in their original form. 1084)

Identifies the remote computer for the HTTP request. Represents the HTTP session for the request.

1084)

Represents the HTTP header as URL-encoded values.

UserAgent (

1864)

Identifies the user agent (program) issuing the HTTP request.

Username (

1865)

Represents the Username used in construction of authorization credentials.

Version (

1085)

Specifies the HTTP version for the request.

Methods Method

Description

Clear (

670)

Resets properties to their default empty values.

Clear (

1859)

Resets request headers to their default values.

Create ( Destroy (

1079) 1079)

Constructor for the object instance. Frees the object instance.

Legend Method virtual Property read only

TIdHTTPRequestInfo Methods The Methods of the TIdHTTPRequestInfo class are listed here. Methods Method Create ( Destroy (

1078

Description 1079) 1079)

Constructor for the object instance. Frees the object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPRequestInfo Class

Legend Constructor virtual

TIdHTTPRequestInfo.Create Constructor Constructor for the object instance. Pascal constructor Create; override; Description Create is the constructor for the object instance. Create calls the inherited Create constructor. Create allocates resources required for the Params (

1083) and Cookies (

1082) properties.

Create sets the default values for the following properties:

Property

Value

CommandType (

1081)

hcUnknown

ContentLength (

674)

-1

Use Destroy (

1079) to free the object instance.

See Also Destroy (

1079)

Params (

1083)

Cookies (

1082)

Destroy (

1079)

TIdHTTPRequestInfo.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy is responsible for freeing resource allocated to the Headers, Params ( 1083), and Cookies ( 1082) properties in the Create ( 1079) method. Destroy calls the inherited Destroy method to complete destruction of the object instance. See Also Create (

1079)

Params (

1083)

Cookies (

1082)

TIdHTTPRequestInfo Properties The Properties of the TIdHTTPRequestInfo class are listed here.

Internet Direct (Indy) Version 10.1.5

1079

TIdHTTPRequestInfo Class

Classes

Properties Property

Description

AuthExists (

1080)

Indicates that an authorization header is used in the HTTP request.

AuthPassword (

1080)

Specifies the authorization password for a HTTP request.

AuthUsername (

1081)

Specifies the authorization user name for the HTTP request.

Command (

1081)

CommandType ( Cookies (

Represents the HTTP command in the request.

1081)

Document (

Represents cookies for the request.

1082)

FormParams ( Params (

Specifies the path and document name for a HTTP request.

1082)

Contains a string representing values from the request post stream.

1083)

PostStream (

Represents the HTTP header values as ASCII characters.

1083)

QueryParams (

Stream used to pass data from a client POST request.

1083)

Represents the query and optional parameters in an HTTP request.

RawHTTPCommand ( RemoteIP ( Session (

1084)

1084)

Text data containing the HTTP Command (

1081) received in an HTTP request.

Identifies the remote computer for the HTTP request.

1084)

UnparsedParams ( Version (

Represent the enumeration value for the command used in the HTTP request.

1082)

Represents the HTTP session for the request. 1084)

Represents the HTTP header as URL-encoded values.

1085)

Specifies the HTTP version for the request.

Legend Property read only

TIdHTTPRequestInfo.AuthExists Property Indicates that an authorization header is used in the HTTP request. Pascal property AuthExists: Boolean; Description AuthExists is a read-only Boolean property that indicates an authorization header is used in the HTTP request. AuthExists is set to True when the AuthUsername ( 1081) and AuthPassword ( 1080) properties have non-blank values during execution of the an HTTP client session. AuthExists is updated when TIdCustomHTTPServer ( 434) executes the session for the HTTP client, and is used to determine when a TIdDecoderMIME ( 542) needs to be constructed for decoding AuthUsername ( 1081) and AuthPassword ( 1080) values from the request header. See Also AuthUsername (

1081)

AuthPassword (

1080)

TIdCustomHTTPServer ( TIdDecoderMIME (

434)

542)

TIdHTTPRequestInfo.AuthPassword Property Specifies the authorization password for a HTTP request. Pascal property AuthPassword: string; Description AuthPassword is a read-only String property that specifies the password from the HTTP header "Authorization:" in the HTTP request. AuthPassword is used with AuthUsername ( 1080

1081) to determine the full content of the basic authorization header value. Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPRequestInfo Class

Use AuthExists (

1080) to determine if the AuthUsername (

1081) and AuthPassword properties are used in the HTTP request.

See Also AuthUsername ( AuthExists (

1081)

1080)

TIdHTTPRequestInfo.AuthUsername Property Specifies the authorization user name for the HTTP request. Pascal property AuthUsername: string; Description AuthUsername is a read-only String property that specifies the user name from the HTTP "Authorization:" header in the HTTP request. AuthUsername is used with AuthPassword ( Use AuthExists (

1080) to determine the full content of the basic authorization header value.

1080) to determine if the AuthUsername and AuthPassword (

1080) properties are used in the HTTP request.

See Also AuthPassword ( AuthExists (

1080)

1080)

TIdHTTPRequestInfo.Command Property Represents the HTTP command in the request. Pascal property Command: string; Description Command is a read-only String property that represents the HTTP command received in the HTTP request, like "GET", "POST", or "HEAD". Use RawHHTTPCommand to access the entire HTTP command in it's original form. Command is updated when TIdCustomHTTPServer ( 434) reads the HTTP request from an executing HTTP client session. Command can be used in TIdCustomHTTPServer ( 434) event handlers, like OnCommandGet and OnCommandOther, to determine the HTTP command that originated the request. See Also TIdCustomHTTPServer ( TIdHTTPServer (

434)

1102)

RawHTTPCommand (

1084)

TIdHTTPRequestInfo.CommandType Property Represent the enumeration value for the command used in the HTTP request. Pascal property CommandType: THTTPCommandType; Description CommandType is a read-only THTTPCommandType ( HTTP Command ( 1081) used in the HTTP request.

Internet Direct (Indy) Version 10.1.5

2944) property that represents the value from the enumeration for the

1081

TIdHTTPRequestInfo Class

Classes

The default value for CommandType is hcUnknown as assigned in the Create ( the HTTP command is decoded during processing of the HTTP request.

1079) method. CommandType is updated when

See Also THTTPCommandType ( Create (

2944)

1079)

TIdHTTPRequestInfo.Cookies Property Represents cookies for the request. Pascal property Cookies: TIdServerCookies; Description Cookies is a read-only TIdServerCookies (

1981) property use to store cookie names and values used in the HTTP request.

Cookies is updated in TIdCustomHTTPServer ( header values with the HTTP "Cookie:" header.

434) when an executing client session receives a HTTP request containing

See Also TIdHTTPServer (

1102)

TIdHTTPRequestInfo.Document Property Specifies the path and document name for a HTTP request. Pascal property Document: string; Description Document is a String property that specifies the Uniform Resource Identifier (URI) for the HTTP request. Document normally contains the path, document name, and optional parameters the URL requested. Document is updated when TIdHTTPServer (

1102) reads the HTTP request during execution of a HTTP client session.

See Also TIdHTTPServer ( TIdURI (

1102)

2552)

TIdHTTPRequestInfo.FormParams Property Contains a string representing values from the request post stream. Pascal property FormParams: string; Description FormParams is a String property that contains the values originating in the PostStream ( String representation. Use UnparsedParams (

1083) for the HTTP request in their

1084) to access the parameters in their unparsed form.

See Also PostStream (

1083)

TIdCustomHTTPServer ( UnparsedParams ( 1082

434)

1084) Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPRequestInfo Class

TIdHTTPRequestInfo.Params Property Represents the HTTP header values as ASCII characters. Pascal property Params: TIdStrings; Description Params is a read-only TStrings property used to store the parsed values for HTTP headers in the HTTP request. Params contains the header values after TIdURI.URLDecode ( representation.

2557) has been used to convert the headers to their ASCII

In accordance with RFC 1866 section 8.2.1., all "+" characters (Decimal 43) in UnparsedParams ( character (Decimal 32) prior to being decoded and added to the values in the property. Use UnparsedParams (

1084) are converted to a Space

1084) to view the HTTP headers in their URL-encoded form.

Params is updated by TIdHTTPServer (

1102) when a peer thread generates a new HTTP request.

See Also TIdHTTPServer (

1102)

UnparsedParams (

1084)

TIdHTTPRequestInfo.PostStream Property Stream used to pass data from a client POST request. Pascal property PostStream: TIdStream; Description PostStream is a TStream property that represents the stream containing the data sent in the TIdHTTPRequestInfo ( used in the request for the executing HTTP client session.

1077) as

PostStream is used in TIdCustomHTTPServer ( 434) when the client session is executed. PostStream may contain a reference to an existing stream, or may be implicitly created for the executing client session. When the request from the client connection has a non-zero ContentLength ( 674), PostStream is used to read the indicated number of bytes. Otherwise, all data is read into PostStream until the client connection is closed. If the stream is created during execution of the client thread, the contents of PostStream are added to the UnparsedParams ( 1084) property for the client request. See Also UnparsedParams (

1084)

TIdHTTPRequestInfo.QueryParams Property Represents the query and optional parameters in an HTTP request. Pascal property QueryParams: string; Description QueryParams is a String property that represents the optional query See Also FormParams (

1082)

UnparsedParams (

1084)

Internet Direct (Indy) Version 10.1.5

1083

TIdHTTPRequestInfo Class TIdCustomHTTPServer (

Classes 434)

TIdHTTPRequestInfo.RawHTTPCommand Property Text data containing the HTTP Command (

1081) received in an HTTP request.

Pascal property RawHTTPCommand: string; Description RawHTTPCommand is a read-only String property that represents the raw textual data for the command read from the HTTP client connection. RawHTTPCommand is updated when the threaded client connection is executed, and contains values that are examined to set properties for the TIdHTTPRequestInfo ( 1077) instance like Command ( 1081), Params ( 1083), and Document ( 1082). See Also Command ( Params (

1081) 1083)

Document (

1082)

TIdHTTPRequestInfo.RemoteIP Property Identifies the remote computer for the HTTP request. Pascal property RemoteIP: String; Description RemoteIP is a read-only String property used to identify the remote computer system that is the endpoint for the session used by the HTTP request. RemoteIP is updated in TIdCustomHTTPServer (

434) when a an executing client session receives a new HTTP request.

See Also TIdCustomHTTPServer (

434)

TIdHTTPRequestInfo.Session Property Represents the HTTP session for the request. Pascal property Session: TIdHTTPSession; Description Session is a read-only TIdHTTPSession ( Session is updated in TIdHTTPServer (

1105) property used to represent the HTTP session for the HTTP request. 1102) when an executing HTTP client session is created to handle an HTTP request.

See Also TIdHTTPSession ( TIdHTTPServer (

1105) 1102)

TIdHTTPRequestInfo.UnparsedParams Property Represents the HTTP header as URL-encoded values.

1084

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponse Class

Pascal property UnparsedParams: string; Description UnparsedParams is a TStrings property used to store the values for HTTP headers in their URL-encoded form. UnparsedParams contains the header values in the form they were received in the HTTP request. Use Params (

1083) to view the HTTP headers in their ASCII form.

UnparsedParams is updated by TIdHTTPServer (

1102) when an executing client session receives a new HTTP request.

See Also TIdHTTPServer ( Params (

1102)

1083)

TIdHTTPRequestInfo.Version Property Specifies the HTTP version for the request. Pascal property Version: string; Description Version is a read-only String property that represents the HTTP version retrieved as part of the HTTP request. Version is updated when TIdCustomHTTPServer ( 434) reads the HTTP request during execution of a session for an HTTP client. THe value in Version is provided as an argument to TIdCustomHTTPServer ( 434) event handlers, like OnCommandGet and OnCommandOther. See Also TIdCustomHTTPServer ( TIdHTTPServer (

434)

1102)

TIdHTTPResponse Class Provides access to headers and properties for an HTTP response. File IdHTTP (

4662)

Hierarchy

Pascal TIdHTTPResponse = class(TIdResponseHeaderInfo); Description TIdHTTPResponse is a TIdResponseHeaderInfo ( 1865) descendant that provides properties and methods used to define and manipulate header values used in an HTTP response. TIdHTTPResponse is used when TIdHTTP ( 1041) receives a response to an HTTP request, and indicates both the numeric and textual responses from the host server, and the connection headers for the HTTP response. A TIdHTTPResponse instance is provided as an argument to TIdHTTP ( 1041) event handlers that use or update values in the HTTP response, including OnRedirect, OnSelectAuthorization, OnSelectProxyAuthorization, OnAuthorization, and OnProxyAuthorization. Internet Direct (Indy) Version 10.1.5

1085

TIdHTTPResponse Class

Classes

TIdHTTPResponse is the type used to represent the TIdHTTPProtocol.Response ( handler to store a reference to the response received during HTTP protocol exchanges.

1069) property, and allows the protocol

See Also TIdResponseHeaderInfo (

1865)

TIdHTTPProtocol.Response ( TIdHTTP.OnRedirect (

1069)

1051)

TIdHTTP.OnSelectAuthorization (

1051)

TIdHTTP.OnSelectProxyAuthorization ( TIdHTTP.OnAuthorization (

1052)

1050)

TIdHTTP.OnProxyAuthorization (

1050)

TIdHTTPResponse Members The following tables list the members exposed by TIdHTTPResponse. Properties Property

Description

AcceptRanges (

1868)

CacheControl ( Connection (

Represent the value for the HTTP Accept-Ranges header from an HTTP response.

672)

Specifies the HTTP Cache-Control general message header directives.

673)

Indicates that the connection will be closed after a response.

ContentEncoding (

673)

Indicates transformations applied to the content of an entity.

ContentLanguage (

673)

Identifies the preferred language for the contents of an entity.

ContentLength (

674)

ContentRangeEnd (

Indicates the size of an entity body.

674)

ContentRangeInstanceLength ( ContentRangeStart ( ContentStream (

675)

Contains the streamed content for the HTTP response.

675)

ContentVersion (

Indicates the type, subtype, and attribute parameters for data in an entity body.

676)

CustomHeaders (

Identifies the version tag associated with a server resource.

676)

Represents custom headers names and values for the HTTP message.

676)

Expires (

Indicates the origin date and time for an HTTP message.

677)

Represents the timestamp when an entity is considered stale.

HasContentLength (

677)

HasContentRange (

678)

HasContentRangeInstance ( KeepAlive (

1088)

LastModified (

1868)

Pragma (

678)

674) in the entity headers.

678) Indicates the date and time a server resource was modified. Redirects the user agent to a new location for a requested resource. Represents HTTP server directives in a client request.

ProxyAuthenticate (

1869)

ProxyConnection (

1869)

RawHeaders ( ResponseCode ( ResponseText (

Indicates if a value has been assigned to ContentLength (

Indicates if the client connection should be maintained during request/ response protocol exchanges.

678)

Location (

Represents Proxy Authentication headers and values for a connection. Indicates the action to perform for a proxied connection after an HTTP response.

679)

Contains message header names and values in their original form.

1088)

Indicates the numeric response code in an HTTP response.

1089)

ResponseVersion ( Server (

Represents the entity size for a content range request. Identifies the beginning byte range in a partial request.

1088)

ContentType (

Date (

Identifies the upper byte range in a partial request. 675)

1089)

1869)

WWWAuthenticate (

Represents the textual messages received in an HTTP response. HTTP version used and supported in the HTTP response. Identifies the software used on the server.

1869)

Identifies authentication schemes and parameters for a server realm.

Methods Method

1086

Description

Clear (

670)

Resets properties to their default empty values.

Clear (

1866)

Resets response header properties to their default values.

Create (

1087)

Destroy (

671)

Constructor for the object instance. Frees the object instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponse Class Destroy (

1867)

Frees the object instance.

Legend Method virtual Property read only

TIdHTTPResponse Methods The Methods of the TIdHTTPResponse class are listed here. Methods Method

Description

Create (

1087)

Constructor for the object instance.

Legend Constructor virtual

TIdHTTPResponse.Create Constructor Constructor for the object instance. Pascal constructor Create( AParent: TIdCustomHTTP ); virtual; reintroduce; Parameters Parameters

Description

AParent

HTTP Client that owns the response.

Description Create is the constructor for the object instance, and calls the inherited Create method. Create assigns AParent to the private member that represents the owner of the HTTP response. Use Destroy (

1867) to free the object instance.

See Also Destroy (

1867)

TIdHTTPResponse Properties The Properties of the TIdHTTPResponse class are listed here. Properties Property

Description

ContentStream ( KeepAlive (

1088)

1088)

ResponseCode ( ResponseText (

Indicates if the client connection should be maintained during request/ response protocol exchanges.

1088) 1089)

ResponseVersion (

Contains the streamed content for the HTTP response.

1089)

Indicates the numeric response code in an HTTP response. Represents the textual messages received in an HTTP response. HTTP version used and supported in the HTTP response.

Legend Property

Internet Direct (Indy) Version 10.1.5

1087

TIdHTTPResponse Class

Classes

TIdHTTPResponse.ContentStream Property Contains the streamed content for the HTTP response. Pascal property ContentStream: TIdStream; Description ContentStream is a TStream property that represents the stream used when TIdHTTP ( HTTP response for a Get or Post request.

1041) is used to read the content in an

ContentStream is assigned during opening of the connection to the HTTP host. ContentStream is used during HTTP response processing, and is used with the IOHandler in the HTTP client to read streamed values from the HTTP server. When assigned, the size of ContentStream should match the ContentLength ( 674) for the response. Otherwise, response content is read until the connection is closed. ContentStream may also be used to retrieve "chunked" response content when the transfer encoding for the response indicates that "chunked" retrieval is supported.

TIdHTTPResponse.KeepAlive Property Indicates if the client connection should be maintained during request/ response protocol exchanges. Pascal property KeepAlive: Boolean; Description KeepAlive is a Boolean property that indicates if the HTTP response supports and uses the HTTP Keep-Alive header for connection control. Reading the value in KeepAlive causes the value in ResponseText ( 1089) to be examined for a valid HTTP protocol version. For HTTP 1.1 clients, the value in KeepAlive will contain True if the HTTP client connection is still intact, and Connetion and ProxyConnection ( 1869) header values do not contain the 'CLOSE' directive. For HTTP 1.0 clients, the value in KeepAlive will contain False unless the HTTP Keep-Alive header is used for the HTTP Connection ( 673) or ProxyConnection ( 1869).

TIdHTTPResponse.ResponseCode Property Indicates the numeric response code in an HTTP response. Pascal property ResponseCode: Integer; Description ResponseCode is an Integer property that represents the numeric HTTP response code received in the HTTP response message. Reading the value in ResponseCode causes the numeric return value to be extracted from the textual value in ResponseText ( 1089). ResponseCode is updated when a request is executed using TIdHTTP.DoRequest, and when the TIdHTTPProtocol ( protocol handler processes an HTTP response to to examine state-dependt values during HTTP protocol exchanges.

1064)

See Also ResponseText (

1089)

TIdHTTPProtocol (

1088

1064)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponseInfo Class

TIdHTTPResponse.ResponseText Property Represents the textual messages received in an HTTP response. Pascal property ResponseText: string; Description ResponseText is a String property that represents the textual values retrieved in an HTTP reponse. ResponseText contains both the numeric response code and associated message string. ResponseText is used to extract the numeric HTTP response code in ResponseCode (

1088).

ResponseText is updated when the connection to the host is established, or when an HTTP response is received and processed for an HTTP client. See Also ResponseCode (

1088)

TIdHTTPResponse.ResponseVersion Property HTTP version used and supported in the HTTP response. Pascal property ResponseVersion: TIdHTTPProtocolVersion; Description ResponseVersion is a TIdHTTPProtocolVersion ( response received from an HTTP server.

2955) property that represents the HTTP protocol version supported in a

ResponseVersion is used to help determine the value used in the KeepAlive (

1088) property.

See Also TIdHTTPProtocolVersion ( KeepAlive (

2955)

1088)

TIdHTTPResponseInfo Class Implements a HTTP response object. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal TIdHTTPResponseInfo = class(TIdResponseHeaderInfo); Description TIdHTTPResponseInfo is a TIdResponseHeaderInfo ( response.

1865) descendant that encapsulates access to information in a HTTP

TIdHTTPResponseInfo publishes properties that provide access to various information for a HTTP response. These properties include the persistent HTTP session, the authentication realm, Cookies ( 1098), raw Header content, as well as the response number, content, content length, and content type. Internet Direct (Indy) Version 10.1.5

1089

TIdHTTPResponseInfo Class

Classes

TIdHTTPResponseInfo is used by TIdHTTPServer ( 1102) to prepare a HTTP response for a peer thread request. In preparing the HTTP response, values are read from TIdHTTPResponseInfo properties and stored in the RawHeaders ( 679) property. Values in RawHeaders ( 679) and ContentText ( 1097) / ContentStream ( 1097) are used to transmit the HTTP response when the server calls WriteHeader ( 1095) or WriteContent ( 1095). See Also TIdResponseHeaderInfo ( TIdHTTPServer ( IndySupport (

1865)

1102)

15)

TIdHTTPResponseInfo Members The following tables list the members exposed by TIdHTTPResponseInfo. Properties Property

Description

AcceptRanges ( AuthRealm (

1868)

Represent the value for the HTTP Accept-Ranges header from an HTTP response.

1096)

CacheControl (

CloseConnection ( Connection (

Identifies the authentication and encryption for the HTTP response.

672)

Specifies the HTTP Cache-Control general message header directives.

1097)

Indicates if the HTTP response should contain a close connection header.

673)

Indicates that the connection will be closed after a response.

ContentEncoding (

673)

Indicates transformations applied to the content of an entity.

ContentLanguage (

673)

Identifies the preferred language for the contents of an entity.

ContentLength (

674)

ContentRangeEnd (

Indicates the size of an entity body.

674)

Identifies the upper byte range in a partial request.

ContentRangeInstanceLength ( ContentRangeStart ( ContentStream (

675)

675)

Represents the entity size for a content range request. Identifies the beginning byte range in a partial request.

1097)

Specifies the stream that contains the content data.

ContentText (

1097)

Specifies the content for the HTTP response.

ContentType (

675)

Indicates the type, subtype, and attribute parameters for data in an entity body.

ContentVersion ( Cookies (

676)

Identifies Cookies for the HTTP response.

CustomHeaders ( Date (

Identifies the version tag associated with a server resource.

1098) 676)

Represents custom headers names and values for the HTTP message.

676)

Expires (

Indicates the origin date and time for an HTTP message.

677)

Represents the timestamp when an entity is considered stale.

FreeContentStream (

1098)

HasContentLength (

677)

HasContentRange (

678)

HasContentRangeInstance ( HeaderHasBeenWritten ( HTTPServer ( LastModified (

1099) 678)

Location (

1868)

Pragma (

678) 1869) 679)

1099)

Session (

Indicates that headers have been written in the HTTP response. Server (

1869) generating the HTTP response.

Represents Proxy Authentication headers and values for a connection. Indicates the action to perform for a proxied connection after an HTTP response. Contains message header names and values in their original form. Numeric response code for the HTTP response.

1100)

1869)

ServerSoftware (

678)

Represents HTTP server directives in a client request.

RawHeaders ( ResponseText (

1097). 674) in the entity headers.

Indicates the date and time a server resource was modified.

1869)

ProxyConnection ( ResponseNo (

Indicates if a value has been assigned to ContentLength (

Redirects the user agent to a new location for a requested resource.

ProxyAuthenticate (

Server (

1098)

Indicates if the object instance can free its ContentStream (

Represents the text for the response message. Identifies the software used on the server.

1101)

1102)

WWWAuthenticate (

Identifies the server software used to generate the HTTP response. Represents the session for the HTTP response.

1869)

Identifies authentication schemes and parameters for a server realm.

Methods Method Clear (

1090

Description 670)

Resets properties to their default empty values.

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponseInfo Class Clear (

1866)

CloseSession ( Create (

Resets response header properties to their default values.

1091)

Closes an HTTP session and removes the session cookie.

1092)

Constructor for the object instance.

Destroy (

1092)

GetServer (

1093)

Redirect (

Frees the object instance.

1093)

ServeFile ( SetServer (

Updates the location for an HTTP response.

1093) 1094)

SmartServeFile (

1094)

WriteContent (

1095)

Generates the HTTP response content.

WriteHeader (

1095)

Generates headers for the HTTP response.

Legend Method virtual Property read only

TIdHTTPResponseInfo Methods The Methods of the TIdHTTPResponseInfo class are listed here. Methods Method

Description

CloseSession ( Create (

1091)

Closes an HTTP session and removes the session cookie.

1092)

Constructor for the object instance.

Destroy (

1092)

GetServer (

1093)

Redirect (

Frees the object instance.

1093)

ServeFile ( SetServer (

Updates the location for an HTTP response.

1093) 1094)

SmartServeFile (

1094)

WriteContent (

1095)

Generates the HTTP response content.

WriteHeader (

1095)

Generates headers for the HTTP response.

Legend Method virtual

TIdHTTPResponseInfo.CloseSession Method Closes an HTTP session and removes the session cookie. Pascal procedure CloseSession; Description CloseSession is a procedure that closes a session in the session list for an HTTP server. CloseSession locates the session Cookie with the name specified in GSessionIDCookie ( 3215), and removes the value from the Cookies ( 1098) collection. CloseSession also frees and release the Session ( 1102) maintained in the object instance. CloseSession can be used to ensure that an HTTP Server (

1869) closes the session even when the session list is maintained.

See Also GSessionIDCookie (

3215)

Internet Direct (Indy) Version 10.1.5

1091

TIdHTTPResponseInfo Class

Classes

TIdHTTPResponseInfo.Create Constructor Constructor for the object instance. Pascal constructor Create( AConnection: TIdTCPConnection; AServer: TIdCustomHTTPServer ); reintroduce; Parameters Parameters

Description

AConnection

The server connection for the HTTP response.

AServer

The TIdCustomHTTPServer (

434) for the HTTP session generating the response.

Description Create is the reintroduced constructor for the TIdHTTPResponseInfo ( default values for properties in the instance.

1089) object. Create is responsible for initializing the

Create calls the inherited Create method. Create sets ContentLength ( 674) to the value specified in GFContentLength ( 3210), and ContentType ( 675) to the value in GContentType ( 3210). The RawHeaders ( 679) property is updated to avoid folding long lines for clients that may not support the feature. ServerSoftware ( 1101) is initialized to the values specified in GServerSoftware ( 3214). Create sets the connection used for the HTTP response to the TIdTCPServerConnection instance referenced in AConnection, and assigns to ResponseNo ( 1099) the default value from GResponseNo ( 3214). Create also allocates resources needed for the Cookies (

1098) property.

See Also TIdTCPServerConnection GFContentLength ( GContentType ( Cookies (

3210)

3210)

1098)

TIdHTTPResponseInfo.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Destroy is responsible for freeing and releasing resources allocated to properties for the instance, including:

Cookies (

1098)

ContentStream (

1097)

Destroy calls the inherited destructor prior to exiting from the method. See Also Cookies (

1098)

ContentStream (

1092

1097)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponseInfo Class

TIdHTTPResponseInfo.GetServer Method Pascal function GetServer: string; Returns string Description GetServer is a method string function

TIdHTTPResponseInfo.Redirect Method Updates the location for an HTTP response. Pascal procedure Redirect( const AURL: string ); Parameters Parameters

Description

AURL

Location (

1868) of the redirected resource.

Description Redirect is a procedure that allows the HTTP response to redirect the HTTP client to specific URL. Redirect sets the value for the HTTP response in ResponseNo ( 1099) to 302, the HTTP response code that indicates a temporary redirection has been performed. To indicate that a resource has been permanently moved, set ResponseNo ( 1099) to 301. Redirect also updates the "Location (

1868)" Header for the HTTP response to contain the value specified in AURL.

See Also ResponseNo (

1099)

TIdHTTPResponseInfo.ServeFile Method Pascal function ServeFile( AContext: TIdContext; aFile: String ): cardinal; virtual; Parameters Parameters

Description

AContext

Client session of the HTTP response.

aFile

File to be included in the HTTP response.

Returns Cardinal - Number of bytes in the file written in the HTTP response. Description ServeFile is a virtual Cardinal function used to return the contents of the file specified in AFile in the HTTP response. AContent is the client session in the HTTP server handling the client request for the specified file. ServeFile allows the HTTP response to easily include the ContentType ( request file as part of the HTTP response written to the client connection.

Internet Direct (Indy) Version 10.1.5

675), ContentLength (

674), and file content for the

1093

TIdHTTPResponseInfo Class

Classes

When ContentType ( 675) contains an empty string (''), the MIMe type for the file is retrieved using the MIME table in the HTTPServer ( 1099) for the response. ContentLength (

674) is set to the length of the file using the FileSizeByName (

2790) by function.

ServeFile causes the HTTP headers to be written to the client connection for the HTTP session making the request, followed immediately by the content for the file specified in aFile.

TIdHTTPResponseInfo.SetServer Method Pascal procedure SetServer( const Value: string ); Parameters Parameters

Description

Value

Type is string.

Description SetServer is a method procedure.

TIdHTTPResponseInfo.SmartServeFile Method Pascal function SmartServeFile( AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; aFile: String ): cardinal; Parameters Parameters

Description

AContext

Client session for the HTTP response.

ARequestInfo

Headers from the HTTP request.

aFile

File name form the HTTP request.

Returns Cardinal - Number of bytes written in the HTTP response for the requested file. Description SmartServeFile is a Cardinal function used to return the contents of the file specified in AFile in the HTTP response. AContent is the client session in the HTTP server handling the client request for the specified file. SmartServeFile allows the HTTP response to easily include the headers and contents for the requested file if the file date in the "If-Modified-Since" header is within 2 seconds of the actual file timestamp. If the file in aFile has not been modified since the date and time requested in the HTTP "If-Modified-Since" header, the HTTP response code 304 is returned for the request. The return value for the method is 0 in this situation. SmartServeFile includes the ContentType ( specified in aFile.

675) and ContentLength (

674) headers in the request, and the contents for the file

When ContentType ( 675) contains an empty string (''), the MIME type for the file is retrieved using the MIME table in the HTTPServer ( 1099) for the response. ContentLength (

674) is set to the length of the file using the FileSizeByName (

2790) by function.

SmartServeFile causes the HTTP headers to be written to the client connection for the HTTP session making the request, followed immediately by the content for the file specified in aFile.

1094

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponseInfo Class

TIdHTTPResponseInfo.WriteContent Method Generates the HTTP response content. Pascal procedure WriteContent; Description WriteContent is a procedure used to generate the content for the HTTP response. WriteContent generates the content using either ContentText ( 1097), or ContentStream ( 1097) when assigned, for ResponseNo ( 1099) values in the range 200 • 499 inclusive. If ResponseNo ( ResponseNo (

1099) is not in this range, only the

1099) and ResponseText (

1100) is included in the content of the HTTP response.

WriteContent calls WriteHeader ( 1095) when HeaderHasBeenWritten ( used for responses where the Content length is unknown.

1098) contains False. WriteHeader (

1095) is generally

WriteContent uses methods in Connection ( 673) to transfer the content of the HTTP response to the HTTP client. When ContentStream ( 1097) is assigned, the WriteStream method in Connection ( 673) is called. When ContentText ( 1097) is non-blank, the Write method is called. Otherwise, WriteLn is used to send an HTML document containing the HTTP ResponseNo ( 1099) and ResponseText ( 1100). WriteContent sets ContentText ( 1097) to an empty string ('') and releases the ContentStream ( of the HTTP response has been written.

1097) to signify that the content

See Also ContentText (

1097)

ContentStream (

1097)

HeaderHasBeenWritten ( WriteHeader (

1095)

ResponseNo (

1099)

ResponseText ( Connection (

1098)

1100)

673)

TIdHTTPResponseInfo.WriteHeader Method Generates headers for the HTTP response. Pascal procedure WriteHeader; Parameters Parameters

Description

Dest

Destination stream used as a buffer for the headers. Default value is Nil.

Description WriteHeader is a procedure used to generate HTTP headers for the HTTP response. WriteHeader will raise an EIdHTTPHeaderAlreadyWritten ( 100) exception if HeaderHasBeenWritten ( 1098) indicates that HTTP headers have already been generated. WriteHeader generates the following HTTP header values:

Content-Type Content-Length

Internet Direct (Indy) Version 10.1.5

1095

TIdHTTPResponseInfo Class

Classes

WWW-Authenticate Set-Cookie WWW-Authenticate is generated when AuthRealm ( AuthRealm ( 1096) is used. Set-Cookie is generated for each value in Cookies (

1096) contains a non-empty value. ResponseNo (

1099) is set to 401 when

1098).

Dest is an optional TStream used as a local buffer for header values. When Dest is not Nil, headers are written to Dest and not to Connection ( 673). Use WriteContent (

1095) to generate the content for the HTTP response.

See Also WriteContent (

1095)

HeaderHasBeenWritten ( AuthRealm (

1098)

1096)

ResponseNo (

1099)

EIdHTTPHeaderAlreadyWritten (

100)

TIdHTTPResponseInfo Properties The Properties of the TIdHTTPResponseInfo class are listed here. Properties Property

Description

AuthRealm (

1096)

CloseConnection ( ContentStream ( ContentText ( Cookies (

Identifies the authentication and encryption for the HTTP response. 1097)

Indicates if the HTTP response should contain a close connection header.

1097)

Specifies the stream that contains the content data.

1097)

Specifies the content for the HTTP response.

1098)

Identifies Cookies for the HTTP response.

FreeContentStream (

1098)

HeaderHasBeenWritten ( HTTPServer ( ResponseNo (

1099) 1099)

ResponseText ( ServerSoftware ( Session (

1098)

1100) 1101)

1102)

Indicates if the object instance can free its ContentStream (

1097).

Indicates that headers have been written in the HTTP response. Server (

1869) generating the HTTP response.

Numeric response code for the HTTP response. Represents the text for the response message. Identifies the server software used to generate the HTTP response. Represents the session for the HTTP response.

Legend Property read only

TIdHTTPResponseInfo.AuthRealm Property Identifies the authentication and encryption for the HTTP response. Pascal property AuthRealm: string; Description AuthRealm is a String property that identifies the authentication and encryption scheme used for the HTTP response. AuthRealm is used when constructing headers for TIdHTTPResponseInfo ( 1089) using property values. When AuthRealm contains a non-blank value, the HTTP response will include a "WWW-Authenticate" header with the value "Basic realm=" and the quoted contents of the AuthRealm property. AuthRealm also ensures that the ResponseNo ( 1099) for the HTTP 1096

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponseInfo Class

Response is 401. The ContentText ( 1097) for the response is also set under this condition and no previous ContentText ( 1097) has been assigned. ContentText ( 1097) will contain an HTML document consisting of the ResponseNo ( 1099) and the textual message from RSHTTPUnauthorized. See Also ResponseNo (

1099)

ContentText (

1097)

ContentLength (

674)

TIdHTTPResponseInfo.CloseConnection Property Indicates if the HTTP response should contain a close connection header. Pascal property CloseConnection: Boolean; Description CloseConnection is a Boolean property that indicates if the connection used for the HTTP response should remain open, or close after completed transmission of the HTTP response. Changing the value in CloseConnection causes the value in the HTTP header to be updated when generating the connect header for the HTTP response. When CloseConnection contains True, the Connection ( header is set to the value 'keep-alive'.

673) header is given the value 'close'. Otherwise the Connection (

673)

TIdHTTPResponseInfo.ContentStream Property Specifies the stream that contains the content data. Pascal property ContentStream: TIdStream; Description ContentStream is a TStream property that specifies the stream containing the content data for the HTTP response. WriteContent (

1095) uses ContentStream, when assigned, to generate HTTP response content instead of ContentText (

1097).

See Also ContentText (

1097)

WriteContent (

1095)

TIdHTTPResponseInfo.ContentText Property Specifies the content for the HTTP response. Pascal property ContentText: string; Description ContentText is a String property that specifies the data used for the content of the HTTP response. WriteContent ( 1095) uses values in the ContentStream ( response instead of values in ContentText.

1097) property, when assigned, to generate the content for the HTTP

See Also ContentStream (

1097)

Internet Direct (Indy) Version 10.1.5

1097

TIdHTTPResponseInfo Class WriteContent (

Classes

1095)

TIdHTTPResponseInfo.Cookies Property Identifies Cookies for the HTTP response. Pascal property Cookies: TIdServerCookies; Description Cookies is a TIdServerCookies ( 1981) property that is the container for cookie values to be included in the HTTP response. The initial values for Cookies are assigned during execution of the HTTP client session in TIdCustomHTTPServer ( 434) when they are read from the HTTP request. Cookies is used to store the GSessionIDCookie ( 3215) that represents persistent state information for the HTTP session. Cookies is also used when headers for the HTTP response are constructed and written in TIdHTTPResponseInfo.WriteHeader ( 1095). See Also TIdServerCookies (

1981)

TIdHTTPRequestInfo ( TIdHTTPResponseInfo (

1077) 1089)

TIdHTTPResponseInfo.WriteHeader (

1095)

TIdHTTPResponseInfo.FreeContentStream Property Indicates if the object instance can free its ContentStream (

1097).

Pascal property FreeContentStream: Boolean; Description FreeContentStream is a Boolean property that indicates if the object instance can free the TStream resource allocated in ContentStream ( 1097). FreeContentStream is set to True in the Create ( 1092) constructor, and ensures that ContentStream ( assigned, prior to retrieving an HTTP response in the Destroy ( 1092) method.

1097) will be released, if

Under normal circumstances, FreeContentStream is not changed during the lifetime of the HTTP response. Set FreeContentStream to False when ContentStream ( 1097) is assigned manually, and the stream must continue to exist even after destruction of the HTTP response. See Also TIdHTTP (

1041)

ContentStream ( Create ( Destroy (

1097)

1092) 1092)

TIdHTTPResponseInfo.HeaderHasBeenWritten Property Indicates that headers have been written in the HTTP response. Pascal property HeaderHasBeenWritten: Boolean;

1098

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponseInfo Class

Description HeaderHasBeenWritten is a Boolean property that indicates headers have already been written in the HTTP response. HeaderHasBeenWritten is used in WriteHeader ( 1095) to prevent duplication of header values for the HTTP response. HeaderHasBeenWritten is also checked when a session for a client connection needs to write a HTTP response in the TIdHTTPServer.OnExecute event handler. See Also TIdCustomHTTPServer.OnExecute TIdHTTPServer.OnExecute

TIdHTTPResponseInfo.HTTPServer Property Server (

1869) generating the HTTP response.

Pascal property HTTPServer: TIdCustomHTTPServer; Description HTTPServer is a read-only TIdCustomHTTPServer (

434) property that represents the server handling the HTTP request.

HTTPServer is assigned using the argument provided in the Create (

1092) constructor.

HTTPServer provides access to the properties and methods of the server implementation during execution of the HTTP response. See Also TIdCustomHTTPServer ( Create (

434)

1092)

TIdHTTPResponseInfo.ResponseNo Property Numeric response code for the HTTP response. Pascal property ResponseNo: Integer; Description ResponseNo is an Integer property that indicates the numeric response code for the HTTP response. ResponseNo can contain one of the following numeric values and associated meanings, as defined in the HTTP protocol:

Code

Message

200

OK (

201

Created

202

Accepted

203

Non-authoritative Information

204

No Content

205

Reset Content -

206

Partial Content

301

Moved Permanently

302

Moved Temporarily

303

See Other

304

Not Modified

4359)

Internet Direct (Indy) Version 10.1.5

1099

TIdHTTPResponseInfo Class

Classes

305

Use Proxy

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method not allowed

406

Not Acceptable

407

Proxy Authentication Required

408

Request Timeout

409

Conflict

410

Gone

411

Length Required

412

Precondition Failed

413

Request Entity To Long

414

Request-URI Too Long. 256 Chars max

415

Unsupported Media Type

500

Internal Server (

501

Not Implemented

502

Bad Gateway

503

Service Unavailable

504

Gateway timeout

505

HTTP version not supported

Use ResponseText (

1869) Error

1100) for the textual representation of the HTTP response.

See Also ResponseText (

1100)

TIdHTTPResponseInfo.ResponseText Property Represents the text for the response message. Pascal property ResponseText: String; Description ResponseText is a String property used to represent the text portion of the HTTP response message. ResponseText normally contains on the of the following messages for the associated response codes:

Code

Meaning

200

OK (

201

Created

202

Accepted

203

Non-authoritative Information

204

No Content

205

Reset Content

1100

4359)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPResponseInfo Class

206

Partial Content

301

Moved Permanently

302

Moved Temporarily

303

See Other

304

Not Modified

305

Use Proxy

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

405

Method not allowed

406

Not Acceptable

407

Proxy Authentication Required

408

Request Timeout

409

Conflict

410

Gone

411

Length Required

412

Precondition Failed

413

Request Entity To Long

414

Request-URI Too Long. 256 Chars max

415

Unsupported Media Type

500

Internal Server (

501

Not Implemented

502

Bad Gateway

503

Service Unavailable

504

Gateway timeout

505

HTTP version not supported

Use ResponseNo (

1869) Error

1099) for the numeric representation of the HTTP response.

See Also ResponseNo (

1099)

TIdHTTPResponseInfo.ServerSoftware Property Identifies the server software used to generate the HTTP response. Pascal property ServerSoftware: string; Description ServerSoftware is a String property that identifies the server software used to generate the HTTP response. The default value for ServerSoftware is the GServerSoftware (

3214) string constant, as assigned in Create (

1092).

See Also Create (

1092)

Internet Direct (Indy) Version 10.1.5

1101

TIdHTTPServer Class

Classes

TIdHTTPResponseInfo.Session Property Represents the session for the HTTP response. Pascal property Session: TIdHTTPSession; Description Session is a read-only TIdHTTPSession (

1105) property that represents the HTTP session used for the HTTP response.

Session is assigned when the HTTP server calls CreateSession to get or create ( connection.

1092) a persistent session for the client

See Also TIdHTTPSession (

1105)

TIdCustomHTTPServer.CreateSession (

436)

TIdHTTPServer Class Implements an HTTP Server. File IdHTTPServer (

4664)

Hierarchy

Pascal TIdHTTPServer = class(TIdCustomHTTPServer); Description TIdHTTPServer is a TIdCustomHTTPServer ( 434) descendant that is a multi-threaded server implementation of the Hypertext Transfer Protocol (HTTP), as described in the Internet Standards documents: RFC 1945 - Hypertext Transfer Protocol -- HTTP/1.0 RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 TIdHTTPServer publishes the inherited OnCreatePostStream ( server implementation.

1105) and OnCommandGet (

1104) event handlers for the HTTP

TIdHTTPServer also supports the Secure Hypertext Transport protocol (HTTPS) as described in the Internet Standards document: RFC 2660 - The Secure HyperText Transfer Protocol TIdHTTPServer does specify or implement any new functionality; it publishes properties specified in TIdCustomHTTPServer ( 434) for the OnCreatePostStream ( 1105) and OnCommandGet ( 1104) event handlers. If the server needs to handle requests using the Secure Socket Layer (SSL) protocol, an instance of a TIdServerIOHandler ( 1993) descendant specific to the SSL transport must be assigned to the IOHandler ( 464) for the server. Assign an instance of TIdServerInterceptOpenSSL to the IOHandler ( 464) property to allow use of the HTTPS protocol using the OpenSSL library. For the Windows platform, you must install the Indy OpenSSL support .DLL's available at the Intelicom web site (http://www.intelicom.si/index.php?newlang=eng) to enable Secure Socket Layer support. See Also TIdCustomHTTPServer ( TIdServerIOHandler ( 1102

434)

1993) Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPServer Class

TIdServerInterceptOpenSSL IndySupport (

15)

TIdHTTPServer Members The following tables list the members exposed by TIdHTTPServer. Properties Property Active (

Description 458)

Indicates if the server is running and listening for client connections.

AutoStartSession ( Bindings (

438)

Requests a new session when an existing session is not found.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Class reference used to create (

267) new executable tasks for client connections to the server.

Contexts (

462)

Executable tasks for client connections to the server.

DefaultPort (

439)

Default port number for the server.

DefaultPort (

462)

Identifies the default port number used to listen for new connections.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

Identifies a data handler for server socket connections.

IOHandler (

464)

Represents the IOHandler used by listener threads for the server.

KeepAlive (

439)

Indicates if a client connection should remain open for subsequent use in an HTTP session.

ListenQueue (

465)

MaxConnections (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

Indicates the maximum numer of client connections allowed for the server.

MaximumHeaderLineCount ( MIMETable (

439)

440)

OnAfterBind (

Represents the MIME type table for the HTTP server implementation.

466)

OnCommandGet (

Maximum number of header lines allowed in an HTTP request. Event handler signalled after binding socket handles for listener threads.

1104)

OnCreatePostStream (

1105)

Event handler signalled for HTTP server GET, POST, and HEAD requests. Event handler that allows creation of the POST stream for a client thread.

ParseParams (

440)

Requests parsing of query parameters in client requests.

ReuseSocket (

466)

Indicates reuse of local addresses for listener threads.

Scheduler (

466)

Identifies the thread-based or fiber-based scheduler used in the server.

ServerSoftware (

441)

SessionList ( SessionState (

Container for HTTP sessions for the server.

442)

SessionTimeOut (

Indicates that the server uses persistent HTTP sessions.

442)

TerminateWaitTime ( Version (

Indicates the server software used to generate the HTTP response.

441)

specifies the default time-to-live for persistent HTTP sessions.

468)

269)

WorkTarget (

Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

CreateSession (

436)

Creates a new HTTP session.

Destroy (

357)

Frees the object instance.

Destroy (

437)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndSession (

437)

Frees the named HTTP session.

EndWork (

358)

Triggers the OnEndWork event handler.

GetVersion ( CType (

269)

Version (

269) number for Indy component suite.

267)

Create (

1274)

Events Event OnBeforeConnect (

Description 468)

OnBeforeListenerRun (

468)

Internet Direct (Indy) Version 10.1.5

Event handler signalled proper to establishing a client connection to the server. Event handler signalled prior to executing a listener thread.

1103

TIdHTTPServer Class

Classes

OnCommandOther ( OnConnect (

443)

Event handler signalled for establishing new client connections.

OnCreateSession ( OnDisconnect ( OnException (

443)

Event signalled when a session is needed a client connection.

469)

Event handler signalled when disconnecting the client connection.

470)

OnInvalidSession (

Event handler for exceptions raised in a peer thread. 443)

OnListenException ( OnSessionEnd (

Event handler signalled when a session cannot be restored for a specific SessionID.

470)

Event handler for an exception in a listener thread.

444)

OnSessionStart ( OnStatus (

Represents the event handler for unknown HTTP commands.

469)

Specifies the event handler for terminating HTTP sessions.

444)

Specifies the event handler for creating a new HTTP session.

359)

Represents the current connection status event handler.

Legend Property read only Method virtual Event

TIdHTTPServer Properties The Properties of the TIdHTTPServer class are listed here. Properties Property

Description

OnCommandGet (

1104)

OnCreatePostStream (

Event handler signalled for HTTP server GET, POST, and HEAD requests.

1105)

Event handler that allows creation of the POST stream for a client thread.

Legend Property

TIdHTTPServer.OnCommandGet Event Event handler signalled for HTTP server GET, POST, and HEAD requests. Pascal property OnCommandGet; Parameters Parameters

Description

AContext

The client session generating the event.

RequestInfo

The request object reference.

ResponseInfo

The response object reference.

Description OnCommandGet is the TIdHTTPGetEvent event handler used to respond to events generated for the HTTP server GET, POST, and HEAD commands. OnCommandGet is published in TIdHTTPServer ( 1102), and is used during execution of the client thread to form an HTTP response to the HTTP request from the client connection. The server implementation may assign a procedure to the OnCommandGet event handler to allow the server to respond to the HTTP commands. Note: When OnCommandGet is unassigned, the HTTP request will be read from the client connection and an HTTP prototcol error will be sent in the HTTP reponse. OnCommandGet can be used to manipulate properties and methods of the RequestInfo and ResponseInfo parameters prior to allowing the server to send the response to the HTTP client. See Also TIdHTTPGetEvent TIdHTTPRequestInfo (

1104

1077)

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPSession Class

TIdHTTPResponseInfo (

1089)

TIdRFCReply

TIdHTTPServer.OnCreatePostStream Event Event handler that allows creation of the POST stream for a client thread. Pascal property OnCreatePostStream; Parameters Parameters

Description

ASender

Client conncetion for the event notification.

VPostStream

Steam allocated for the HTTP post request.

Description OnCreatePostStream is a TOnCreatePostStream ( 3103) property that represents the event handler triggered when a client thread needs to create ( 267) a stream used in an HTTP POST request. OnCreatePostStream is used during execution of the thread client connection identified by ASender. OnCreatePostStream is a published property in TIdHTTPServer ( 1102). The server implementation may assign a procedure to the event handler to allow responding to the event notification. The event handler can perform processing required prior to creation of a stream class instance. The event handler can create ( 267) and assign a stream class instance to VPostStream when appropriate, or retun the value Nil. If VPostStream is unassigned, a TIdStringStream ( 3090) instance will be created prior to execution of a command handler for the HTTP POST request. See Also TOnCreatePostStream ( TIdContext (

3103)

376)

TIdHTTPSession Class Implements a persistent HTTP Session. File IdCustomHTTPServer (

4608)

Hierarchy

Pascal TIdHTTPSession = class(TObject); Description TIdHTTPSession is a TObject descendant that implements a HTTP Session. TIdHTTPSession provides support for maintaining persistent HTTP session and state for TIdCustomHTTPServer ( 434) and TIdHTTPServer ( 1102) implementations. TIdHTTPSession is used with TIdHTTPCustomSessionList ( 1052) and TIdHTTPDEfaultSessionList to provide persistent HTTP session management using the SessionID ( 1111) property and the "IDSESSIONID" Cookie. TIdHTTPSession uses an internal TIdCriticalSection ( 404) instance to provide resource protection (using Lock ( Unlock ( 1109)) in multi-threaded HTTP server implementations. SessionID (

1109) and

1111) is the unique identifier for the HTTP session.

LastTimestamp is the date and time that the HTTP session was last modified. RemoteHost (

1110) is the address of the remote computer using the HTTP session.

Internet Direct (Indy) Version 10.1.5

1105

TIdHTTPSession Class Content (

Classes

1110) is a storage area for string values that can be used to form HTTP request and/or response messages.

See Also TIdHTTPCustomSessionList (

1052)

TIdHTTPDefaultSessionList (

1059)

TIdCustomHTTPServer ( TIdHTTPServer (

434)

1102)

TIdCookie IndySupport (

15)

TIdHTTPSession Members The following tables list the members exposed by TIdHTTPSession. Properties Property

Description

Content (

1110)

Provides storage for HTTP message contents.

LastTimeStamp ( RemoteHost ( SessionID (

1110)

1110) 1111)

Specifies the date and time a session was last modified. Remote IP address for the HTTP session. Represents the unique session identifier.

Methods Method

Description

Create (

1106)

CreateInitialized ( Destroy ( Lock ( Unlock (

Constructor for the object instance. 1107)

1108)

Constructor for the object instance. Frees the object instance.

1109)

Provides resource protection for Session properties and methods.

1109)

Disables resource protection for the HTTP session.

Legend Constructor virtual Property read only

TIdHTTPSession Methods The Methods of the TIdHTTPSession class are listed here. Methods Method

Description

Create (

1106)

CreateInitialized ( Destroy ( Lock ( Unlock (

Constructor for the object instance. 1107)

1108)

1109) 1109)

Constructor for the object instance. Frees the object instance. Provides resource protection for Session properties and methods. Disables resource protection for the HTTP session.

Legend Constructor virtual

TIdHTTPSession.Create Constructor Constructor for the object instance. 1106

Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPSession Class

Pascal constructor Create( AOwner: TIdHTTPCustomSessionList ); virtual; Parameters Parameters

Description

AOwner

Owner of the object instance.

Description Create is the constructor for the object instance, and is responsible for initializing properties for the TIdHTTPSession ( instance. Create calls the inherited Create constructor.

1105)

AOwner is the owner of the object instance, and when assigned, should reflect the TIdHTTPCustomSessionList ( 1052) that owns the session object instance. AOwner is used to trigger the OnSessionStart event handler to perform session maintenance specific to the server implementation. Create allocates the internal TIdCriticalSection ( 1109) methods.

404) instance used for resource protection in the Lock (

Create also allocates the resource required for the Content ( Use CreateInitialized ( access timestamp. Use Destroy (

1109) and Unlock (

1110) property.

1107) to create an HTTP session that assigns values for the session identifier, remote IP address, and last

1108) to free the object instance.

See Also TIdHTTPCustomSessionList (

1052)

TIdHTTPDefaultSessionList (

1059)

TOnSessionStartEvent ( CreateInitialized ( Destroy (

1107)

1108)

SessionID (

1111)

LastTimeStamp ( RemoteHost ( Lock (

3112)

1110)

1110)

1109)

Unlock (

1109)

TIdHTTPSession.CreateInitialized Constructor Constructor for the object instance. Pascal constructor CreateInitialized( AOwner: TIdHTTPCustomSessionList; const SessionID: string; const RemoteIP: string ); virtual; Parameters Parameters

Description

AOwner

Session list that owns the object instance.

SessionID

Session identifier for the object instance.

RemoteIP

IP address for the remote host for the session.

Internet Direct (Indy) Version 10.1.5

1107

TIdHTTPSession Class

Classes

Description CreateInitialized is the constructor for the object instance. CreateInitialized creates a new HTTP session, and sets the value for properties in the HTTP session including the SessionID ( 1111), RemoteHost ( 1110), Content ( 1110), Owner, and LastTimestamp. The session identifier is set to the value specified in SessionID ( RemoteHost (

1111).

1110) is set to the value specified in RemoteIP.

LastTimeStamp ( accessed.

1110) is set to the current date and time on the HTTP server to indicate when the HTTP session was last

AOwner is the owner of the object instance, and when assigned, should reflect the TIdHTTPCustomSessionList ( 1052) that owns the session object instance. AOwner is used to trigger the OnSessionStart event handler to perform session maintenance specific to the server implementation. ` Resources required for the Content (

1110) property are allocated in Create (

1106).

CreateInitialized is called from the CreateSession method in TIdHTTPDefaultSessionList ( and added to the session list for the server. Use Create ( Use Destroy (

1059), where a new session is created

1106) to allocate a new HTTP session when persistent state is not maintained in the HTTP server implementation. 1108) to free the object instance.

See Also Create ( Destroy (

1106) 1108)

LastTimeStamp ( SessionID ( Content (

1110)

1111)

1110)

TIdHTTPCustomSessionList (

1052)

TIdHTTPSession.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is an overridden procedure that acts as the destructor for the object instance. Destroy is responsible for handling persistent session clean-up and freeing resources allocated for properties in the HTTP session. Destroy triggers the OnSessionEnd event handler that signals the session should be removed from the session list that own the HTTP session. Destroy frees and releases resources allocated to the Content (

1110) property.

Destroy frees and release resources allocated to the internal TIdCriticalSection ( Lock ( 1109) and Unlock ( 1109).

404) instance used for resource protection in

When the Owner of the session is assigned, the RemoveSession method for the TIdHTTPCustomSessionList ( called to remove the current session from the session list.

1052) instance is

Destroy calls the inherited destructor proper to exiting from the method. See Also Create (

1106)

CreateInitialized ( 1108

1107) Internet Direct (Indy) Version 10.1.5

Classes

TIdHTTPSession Class

Content ( Lock (

1110)

1109)

Unlock (

1109)

TIdHTTPCustomSessionList.OnSessionEnd (

1058)

TIdHTTPCustomSessionList.RemoveSession

TIdHTTPSession.Lock Method Provides resource protection for Session properties and methods. Pascal procedure Lock; Description Lock is a procedure used to enable resource protection for the properties and methods of the HTTP session in a multi-threaded application. Lock uses the internal TIdCriticalSection ( Use Unlock (

404) instance allocated in the Create (

1106) method, and freed in Destroy (

1108).

1109) to disable resource protection for the HTTP session.

See Also Create (

1106)

Destroy ( Unlock (

1108) 1109)

TIdCriticalSection (

404)

TIdHTTPSession.Unlock Method Disables resource protection for the HTTP session. Pascal procedure Unlock; Description Unlock is a procedure used to remove resource protect for properties and methods in the HTTP session following a call to Lock ( 1109). Unlock uses the TIdCriticalSection ( 404) instance allocated in Create ( 1106). Unlock exits the TCriticalSection ( prevent multi-threaded access to the object instance properties and methods. Use Lock (

193) used to

1109) to enable resource protection for the HTTP session.

See Also Lock (

1109)

TIdCriticalSection (

404)

TIdHTTPSession Properties The Properties of the TIdHTTPSession class are listed here. Properties Property Content (

Description 1110)

Internet Direct (Indy) Version 10.1.5

Provides storage for HTTP message contents.

1109

TIdHTTPSession Class LastTimeStamp ( RemoteHost ( SessionID (

Classes 1110)

Specifies the date and time a session was last modified.

1110)

Remote IP address for the HTTP session.

1111)

Represents the unique session identifier.

Legend Property read only

TIdHTTPSession.Content Property Provides storage for HTTP message contents. Pascal property Content: TIdStrings; Description Content is a TStrings property that stores string values that can be used to form the content for an HTTP request and/or response. Content can also be used as a temporary storage area for values subsequently use in command or event handlers like TIdHTTP.OnCommandGet. See Also TIdHTTP.OnCommandGet

TIdHTTPSession.LastTimeStamp Property Specifies the date and time a session was last modified. Pascal property LastTimeStamp: TIdDateTime; Description LastTimeStamp is a read-only TDateTime property that identifies the date and time that a HTTP session was last modified. LastTimeStamp is used with the SessionTimeOut value from TIdHTTPCustomSessionList ( 1052) to determine when a persistent HTTP session has expired. LastTimeStamp is initialized when CreateInitialized (

1107) is used to instantiate the object instance.

LastTimeStamp is updated in TIdHTTPDefaultSessionList.GetSession ( HTTP request or response in TIdCustomHTTPServer ( 434).

1062) when a HTTP session is accessed for use with a

LastTimeStamp is used in the PurgeStaleSessions method in TIdHTTPDefaultSessionList ( session needs to the removed from the session list.

1059) to determine when a stale

See Also TIdHTTPCustomSessionList (

1052)

TIdHTTPCustomSessionList.SessionTimeout ( TIdHTTPDefaultSessionList (

1057)

1059)

TIdHTTPDefaultSessionList.PurgeStaleSessions ( TIdCustomHTTPServer (

1063)

434)

TIdHTTPSession.RemoteHost Property Remote IP address for the HTTP session. Pascal property RemoteHost: string;

1110

Internet Direct (Indy) Version 10.1.5

Classes

TIdicmp_dun Class

Description RemoteHost is a read-only String property that represents the IP address for the remote computer system which is the endpoint for the HTTP session. RemoteHost is used when the GetSession method in TIdHTTPDefaultSessionList ( 1059) is called to locate a persistent session having the desired SessionID ( 1111) and RemoteHost. RemoteHost is updated when CreateInitialized ( Use SessionID (

1107) is used to instantiate the HTTP session.

1111) to set the session identifier for the HTTP session.

See Also SessionID (

1111)

TIdHTTPDefaultSessionList.GetSession (

1062)

TIdHTTPDefaultSessionList.CreateUnique

TIdHTTPSession.SessionID Property Represents the unique session identifier. Pascal property SessionID: String; Description SessionID is a String property that represents the unique identifier for the HTTP session. SessionID is the "IDSESSIONID" Cookie value used to implement HTTP session persistence. SessionID is used when the GetSession method in TIdHTTPDefaultSessionList ( 1059) is called to locate a persistent session having the desired SessionID and RemoteHost ( 1110) provided in an HTTP session. SessionID is updated when TIdCustomHTTPServer.CreateSession ( requests to the server. RemoteHost (

436) is used to initialize a new persistent session for

1110) identifies the IP address that is the remote endpoint for the HTTP session.

See Also RemoteHost (

1110)

TIdCustomHTTPServer.CreateSession ( TIdHTTPDefaultSessionList.GetSession (

436) 1062)

TIdHTTPDefaultSessionList.CreateUnique

TIdicmp_dun Class File IdRawHeaders (

4701)

Hierarchy

Pascal TIdicmp_dun = class(TIdUnion); Description TIdicmp_dun is a TIdUnion (

2535) descendant.

Internet Direct (Indy) Version 10.1.5

1111

TIdicmp_dun Class

Classes

See Also TIdUnion (

2535)

TIdicmp_dun Members The following tables list the members exposed by TIdicmp_dun. Properties Property

Description

BytesLen ( data (

2537)

1113)

mask (

1113)

ts_otime (

1113)

ts_rtime (

1113)

ts_ttime (

1113)

Methods Method create (

Description 1112)

ReadStruct (

2262)

ReadStruct (

2536)

WriteStruct (

2262)

WriteStruct (

2536)

Legend Constructor virtual Property read only

TIdicmp_dun Methods The Methods of the TIdicmp_dun class are listed here. Methods Method create (

Description 1112)

Legend Constructor virtual

TIdicmp_dun.create Constructor Pascal constructor create; override; Description create is a overridden constructor for the object instance.

TIdicmp_dun Properties The Properties of the TIdicmp_dun class are listed here.

1112

Internet Direct (Indy) Version 10.1.5

Classes

TIdicmp_hun Class

Properties Property data (

Description 1113)

mask (

1113)

ts_otime (

1113)

ts_rtime (

1113)

ts_ttime (

1113)

Legend Property

TIdicmp_dun.data Property Pascal property data: Byte; Description data is a Public Byte property. Write access for the property is implemented using setdata.

TIdicmp_dun.mask Property Pascal property mask: Cardinal; Description mask is a Public Cardinal property. Write access for the property is implemented using Setmask.

TIdicmp_dun.ts_otime Property Pascal property ts_otime: TIdNetTime; Description ts_otime is a Public TIdNetTime (

3062) property. Write access for the property is implemented using Setts_otime.

TIdicmp_dun.ts_rtime Property Pascal property ts_rtime: TIdNetTime; Description ts_rtime is a Public TIdNetTime (

3062) property. Write access for the property is implemented using Setts_rtime.

TIdicmp_dun.ts_ttime Property Pascal property ts_ttime: TIdNetTime; Description ts_ttime is a Public TIdNetTime (

Internet Direct (Indy) Version 10.1.5

3062) property. Write access for the property is implemented using Setts_ttime.

1113

TIdicmp_hun Class

Classes

TIdicmp_hun Class File IdRawHeaders (

4701)

Hierarchy

Pascal TIdicmp_hun = class(TIdUnion); Description TIdicmp_hun is a TIdUnion (

2535) descendant.

See Also TIdUnion (

2535)

TIdicmp_hun Members The following tables list the members exposed by TIdicmp_hun. Properties Property

Description

BytesLen ( echo_id ( echo_seq (

2537)

1115) 1115)

frag_mtu (

1116)

frag_pad (

1116)

gateway_s_b1 (

1116)

gateway_s_b2 (

1116)

gateway_s_b3 (

1116)

gateway_s_b4 ( gateway_s_l (

1116) 1116)

gateway_s_w1 (

1117)

gateway_s_w2 (

1117)

Methods Method create (

Description 1115)

ReadStruct (

2262)

ReadStruct (

2536)

WriteStruct (

2262)

WriteStruct (

2536)

Legend Constructor virtual Property read only

TIdicmp_hun Methods The Methods of the TIdicmp_hun class are listed here.

1114

Internet Direct (Indy) Version 10.1.5

Classes

TIdicmp_hun Class

Methods Method create (

Description 1115)

Legend Constructor virtual

TIdicmp_hun.create Constructor Pascal constructor create; override; Description create is a overridden constructor for the object instance.

TIdicmp_hun Properties The Properties of the TIdicmp_hun class are listed here. Properties Property echo_id ( echo_seq (

Description 1115) 1115)

frag_mtu (

1116)

frag_pad (

1116)

gateway_s_b1 (

1116)

gateway_s_b2 (

1116)

gateway_s_b3 (

1116)

gateway_s_b4 ( gateway_s_l (

1116) 1116)

gateway_s_w1 (

1117)

gateway_s_w2 (

1117)

Legend Property

TIdicmp_hun.echo_id Property Pascal property echo_id: word; Description echo_id is a Public word property. Write access for the property is implemented using Setecho_id.

TIdicmp_hun.echo_seq Property Pascal property echo_seq: word; Description echo_seq is a Public word property. Write access for the property is implemented using Setecho_seq.

Internet Direct (Indy) Version 10.1.5

1115

TIdicmp_hun Class

Classes

TIdicmp_hun.frag_mtu Property Pascal property frag_mtu: word; Description frag_mtu is a Public word property. Write access for the property is implemented using Setfrag_mtu.

TIdicmp_hun.frag_pad Property Pascal property frag_pad: word; Description frag_pad is a Public word property. Write access for the property is implemented using Setfrag_pad.

TIdicmp_hun.gateway_s_b1 Property Pascal property gateway_s_b1: Byte; Description gateway_s_b1 is a Public Byte property. Write access for the property is implemented using Setgateway_s_b1.

TIdicmp_hun.gateway_s_b2 Property Pascal property gateway_s_b2: Byte; Description gateway_s_b2 is a Public Byte property. Write access for the property is implemented using Setgateway_s_b2.

TIdicmp_hun.gateway_s_b3 Property Pascal property gateway_s_b3: Byte; Description gateway_s_b3 is a Public Byte property. Write access for the property is implemented using Setgateway_s_b3.

TIdicmp_hun.gateway_s_b4 Property Pascal property gateway_s_b4: Byte; Description gateway_s_b4 is a Public Byte property. Write access for the property is implemented using Setgateway_s_b4.

TIdicmp_hun.gateway_s_l Property Pascal property gateway_s_l: Cardinal;

1116

Internet Direct (Indy) Version 10.1.5

Classes

TIdicmp6_hdr Class

Description gateway_s_l is a Public Cardinal property. Write access for the property is implemented using Setgateway_s_l.

TIdicmp_hun.gateway_s_w1 Property Pascal property gateway_s_w1: word; Description gateway_s_w1 is a Public word property. Write access for the property is implemented using Setgateway_s_w1.

TIdicmp_hun.gateway_s_w2 Property Pascal property gateway_s_w2: word; Description gateway_s_w2 is a Public word property. Write access for the property is implemented using Setgateway_s_w2.

TIdicmp6_hdr Class File IdRawHeaders (

4701)

Hierarchy

Pascal TIdicmp6_hdr = class(TIdStruct); Description TIdicmp6_hdr is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdicmp6_hdr Members The following tables list the members exposed by TIdicmp6_hdr. Properties Property data (

Description 1119)

icmp6_cksum (

1119)

icmp6_code (

1119)

icmp6_type (

1120)

Methods Method create ( Destroy (

Description 1118) 1118)

ReadStruct (

1118)

Internet Direct (Indy) Version 10.1.5

1117

TIdicmp6_hdr Class WriteStruct (

Classes

1119)

Legend Constructor virtual Property read only

TIdicmp6_hdr Methods The Methods of the TIdicmp6_hdr class are listed here. Methods Method create ( Destroy (

Description 1118) 1118)

ReadStruct (

1118)

WriteStruct (

1119)

Legend Constructor virtual

TIdicmp6_hdr.create Constructor Pascal constructor create; override; Description create is a overridden constructor for the object instance.

TIdicmp6_hdr.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdicmp6_hdr.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description ReadStruct is a overridden method.

1118

Internet Direct (Indy) Version 10.1.5

Classes

TIdicmp6_hdr Class

TIdicmp6_hdr.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdicmp6_hdr Properties The Properties of the TIdicmp6_hdr class are listed here. Properties Property data (

Description 1119)

icmp6_cksum (

1119)

icmp6_code (

1119)

icmp6_type (

1120)

Legend Property read only

TIdicmp6_hdr.data Property Pascal property data: TIdicmp6_un; Description data is a Public read-only TIdicmp6_un (

1120) property.

TIdicmp6_hdr.icmp6_cksum Property Pascal property icmp6_cksum: uint16_t; Description icmp6_cksum is a Public uint16_t property. Write access for the property is implemented using Ficmp6_cksum.

TIdicmp6_hdr.icmp6_code Property Pascal property icmp6_code: uint8_t; Description icmp6_code is a Public uint8_t property. Write access for the property is implemented using Ficmp6_code.

Internet Direct (Indy) Version 10.1.5

1119

TIdicmp6_un Class

Classes

TIdicmp6_hdr.icmp6_type Property Pascal property icmp6_type: uint8_t; Description icmp6_type is a Public uint8_t property. Write access for the property is implemented using Ficmp6_type.

TIdicmp6_un Class File IdRawHeaders (

4701)

Hierarchy

Pascal TIdicmp6_un = class(TIdUnion); Description TIdicmp6_un is a TIdUnion (

2535) descendant.

See Also TIdUnion (

2535)

TIdicmp6_un Members The following tables list the members exposed by TIdicmp6_un. Properties Property

Description

BytesLen (

2537)

icmp6_data16 (

1121)

icmp6_data32 ( icmp6_data8 ( icmp6_id (

1122) 1122)

1122)

icmp6_maxdelay ( icmp6_mtu (

1122)

1122)

icmp6_pptr (

1122)

icmp6_seq (

1122)

icmp6_un_data16 ( icmp6_un_data32 ( icmp6_un_data8 (

1123) 1123) 1123)

Methods Method create (

Description 1121)

ReadStruct (

1120

2262)

ReadStruct (

2536)

WriteStruct (

2262)

WriteStruct (

2536)

Internet Direct (Indy) Version 10.1.5

Classes

TIdicmp6_un Class

Legend Constructor virtual Property read only

TIdicmp6_un Methods The Methods of the TIdicmp6_un class are listed here. Methods Method create (

Description 1121)

Legend Constructor virtual

TIdicmp6_un.create Constructor Pascal constructor create; override; Description create is a overridden constructor for the object instance.

TIdicmp6_un Properties The Properties of the TIdicmp6_un class are listed here. Properties Property

Description

icmp6_data16 (

1121)

icmp6_data32 ( icmp6_data8 ( icmp6_id (

1122) 1122)

1122)

icmp6_maxdelay ( icmp6_mtu (

1122)

1122)

icmp6_pptr (

1122)

icmp6_seq (

1122)

icmp6_un_data16 ( icmp6_un_data32 ( icmp6_un_data8 (

1123) 1123) 1123)

Legend Property

TIdicmp6_un.icmp6_data16 Property Pascal property icmp6_data16: uint16_t; Description icmp6_data16 is a Public uint16_t property. Write access for the property is implemented using Seticmp6_data16.

Internet Direct (Indy) Version 10.1.5

1121

TIdicmp6_un Class

Classes

TIdicmp6_un.icmp6_data32 Property Pascal property icmp6_data32: uint32_t; Description icmp6_data32 is a Public uint32_t property. Write access for the property is implemented using Seticmp6_un_data32.

TIdicmp6_un.icmp6_data8 Property Pascal property icmp6_data8: uint8_t; Description icmp6_data8 is a Public uint8_t property. Write access for the property is implemented using Seticmp6_data8.

TIdicmp6_un.icmp6_id Property Pascal property icmp6_id: uint16_t; Description icmp6_id is a Public uint16_t property. Write access for the property is implemented using Seticmp6_data16.

TIdicmp6_un.icmp6_maxdelay Property Pascal property icmp6_maxdelay: uint16_t; Description icmp6_maxdelay is a Public uint16_t property. Write access for the property is implemented using Seticmp6_data16.

TIdicmp6_un.icmp6_mtu Property Pascal property icmp6_mtu: uint32_t; Description icmp6_mtu is a Public uint32_t property. Write access for the property is implemented using Seticmp6_un_data32.

TIdicmp6_un.icmp6_pptr Property Pascal property icmp6_pptr: uint32_t; Description icmp6_pptr is a Public uint32_t property. Write access for the property is implemented using Seticmp6_un_data32.

TIdicmp6_un.icmp6_seq Property Pascal property icmp6_seq: uint16_t;

1122

Internet Direct (Indy) Version 10.1.5

Classes

TIdIcmpClient Class

Description icmp6_seq is a Public uint16_t property. Write access for the property is implemented using Seticmp6_seq.

TIdicmp6_un.icmp6_un_data16 Property Pascal property icmp6_un_data16 [Index:Integer]: uint16_t; Description icmp6_un_data16 is a Public uint16_t property. Write access for the property is implemented using Seticmp6_un_data16.

TIdicmp6_un.icmp6_un_data32 Property Pascal property icmp6_un_data32: uint32_t; Description icmp6_un_data32 is a Public uint32_t property. Write access for the property is implemented using Seticmp6_un_data32.

TIdicmp6_un.icmp6_un_data8 Property Pascal property icmp6_un_data8 [Index:Integer]: uint8_t; Description icmp6_un_data8 is a Public uint8_t property. Write access for the property is implemented using Seticmp6_un_data8.

TIdIcmpClient Class Implements an ICMP client. File IdIcmpClient (

4665)

Hierarchy

Pascal TIdIcmpClient = class(TIdCustomIcmpClient); Description TIdIcmpClient is a TIdRawClient ( 1814) descendant that implements an Internet Control Message Protocol ( described in the Internet standards document:

1816) client, as

RFC 792 - Internet Control Message Protocol TIdIcmpClient is used to send ( 447) an Internet Control Message Protocol ( 1816) (ICMP) packet to another computer. ICMP packets are used for ping ( 1125) and TraceRoute capability to help diagnose problems with connectivity. TIdIcmpClient is a descendant of the abstract class TIdRawClient ( 1814), and uses the Protocol ( Id_IPPROTO_ICMP (Decimal 1). TIdIcmpClient uses the message formats and algorithms as defined in RFC 792.

1816) value

Use TIdIcmpClient to diagnose a communications links by using Ping ( 1125). Host ( 1126) identifies the IP address or computer name for the echo request. Use ReplyStatus ( 1127) and OnReply ( 1128) to access information received as a result of the echo request datagram. Set ReceiveTimeout ( 1127) to control the time to wait for a response to the echo request datagram. Internet Direct (Indy) Version 10.1.5

1123

TIdIcmpClient Class

Classes

Use the TTL property to set the packet's Time To Live value: the maximum number of hops the packet will travel before being bounced. For Traceroute application, send ( 447) ping ( 1125) echo requests with increased TTL values. Each reply will hold the IP address of the hop where the TTL expired, allowing the program to build the packet's route. TIdIcmpClient implements an overridden InitComponent used to sets default property value during component creation, including:

Property Name

Value

Protocol (

Id_IPPROTO_ICMP

1816)

ReceiveTimeOut

Id_TIDICMP_ReceiveTimeout (

3823)

For Windows NT and Windows 2000, administrator privileges are required to allow TIdICMPClient.Ping ( 1125) to work properly. The command line PING application does not exhibit this behavior because Microsoft chose to use undocumented calls in ICMP.DLL and its winsock implementation to get around the issue. In short: they cheated. Indy does not use ICMP.DLL to maintain Linux compatibility, and allow use of both Raw sockets and ICMP sockets. See Also TIdRawClient (

1814) Id_IPPROTO_ICMP IndySupport (

15)

TIdIcmpClient Members The following tables list the members exposed by TIdIcmpClient. Properties Property

Description

Binding ( Host (

1813)

IPVersion (

Address used to connect to a computer.

1126)

PacketSize ( Port (

Represents the socket handle for the connection.

1126) 1127)

1816)

Protocol (

Identifies the port number for the socket connection.

1816)

ProtocolIPv6 (

Identifies the protocol option for the socket connection.

1817)

ReceiveTimeout ( ReplyData (

1127)

1127)

ReplyStatus (

1127)

Version (

269)

WorkTarget (

359)

Specifies the time limit to wait for echo responses. Represents the raw data in the ICMP Echo reponse. Specifies the structure used to store a response to an echo request. Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

267)

Constructor for the object instance.

Destroy (

357)

Destroy (

446)

Destroy (

1811)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion ( Ping (

269)

1125)

Receive ( CType (

Frees the object instance.

Triggers the OnEndWork event handler. Version (

269) number for Indy component suite.

Sends an echo request and receives an echo response.

446)

ReceiveBuffer (

1811)

267)

Send ( Create (

1124

Triggers the OnBeginWork event.

447) 1274)

Internet Direct (Indy) Version 10.1.5

Classes

TIdIcmpClient Class Send (

1811)

Events Event

Description

OnReply (

1128)

Specifies an event handler for TOnReplyEvent (

OnStatus (

359)

Represents the current connection status event handler.

3110) events.

Legend Method virtual Property read only Event

TIdIcmpClient Methods The Methods of the TIdIcmpClient class are listed here. Methods Method Ping (

Description 1125)

Sends an echo request and receives an echo response.

Legend Method

TIdIcmpClient.Ping Method Sends an echo request and receives an echo response. Pascal procedure Ping( const ABuffer: String = ''; SequenceID: word = 0 ); Parameters Parameters

Description

ABuffer

Optional data to be sent in the ping request.

SequenceID

Uniqueness Identifier for the Ping request. Default value is 0.

Description Ping is a procedure used to prepare and send ( 447) an echo request datagram, and to receive ( 446) the echo response. Ping sends the echo request to the computer identified in Host ( 1126), and gets the response to the echo request datagram. ABuffer is an optional string that contains values to be sent in the content of the Ping request. SequenceID is a Word value used as a packet identifier for the Ping request. SequenceID is also used when decoding the response packets for a Ping request. When SequenceID contains a non-zero value, it is used to match an echo response to the original ping request with the same sequence identifer. SequenceID can be set to a unique value to identify a specific Ping request and/or response. Set ReceiveTimeout ( Use ReplyStatus ( datagram.

1127) to indicate the time to wait for a response to the echo request datagram.

1127) to access identification, diagnostic, and statistical information received in a response to an echo request

Assign an OnReply ( 1128) event handler to perform additional processing when a TOnReplyEvent ( processing for a Ping response.

3110) is triggered during

The socket handle allocated for sending and receiving datagram packets in Ping is closed prior to completion of the method.

Internet Direct (Indy) Version 10.1.5

1125

TIdIcmpClient Class

Classes

For Windows NT and Windows 2000, administrator privileges are required to allow TIdICMPClient.Ping to work properly. The command line PING application does not exhibit this behavior because Microsoft chose to use undocumented calls in ICMP.DLL and its winsock implementation to get around the issue. In short: they cheated. Indy does not use ICMP.DLL to maintain Linux compatibility, and allow use of both Raw sockets and ICMP sockets. See Also TIdIcmpClient.Host (

1126)

TIdIcmpClient.ReceiveTimeout ( TIdIcmpClient.ReplyStatus ( TIdIcmpClient.OnReply ( TOnReplyEvent (

1127)

1127)

1128)

3110)

TIdIcmpClient Properties The Properties of the TIdIcmpClient class are listed here. Properties Property Host (

Description 1126)

IPVersion (

Address used to connect to a computer.

1126)

PacketSize (

1127)

ReceiveTimeout ( ReplyData (

1127)

1127)

ReplyStatus (

Specifies the time limit to wait for echo responses. Represents the raw data in the ICMP Echo reponse.

1127)

Specifies the structure used to store a response to an echo request.

Legend Property

TIdIcmpClient.Host Property Address used to connect to a computer. Pascal property Host: string; Description Host is a published property in TIdIcmpClient ( 1123) that indicates the IP address or host name to use as the destination for the ICMP request. The address can be a computer name such as "wvnvm.wvnet.edu" or an IP address such as "129.71.2.4". Use Port (

1816) to specify the port number used for the ICMP request.

See Also TIdIcmpClient.Port (

1816)

TIdIcmpClient.IPVersion Property Pascal property IPVersion; Description IPVersion is a Published property.

1126

Internet Direct (Indy) Version 10.1.5

Classes

TIdIcmpClient Class

TIdIcmpClient.PacketSize Property Pascal property PacketSize; Description PacketSize is a Published property.

TIdIcmpClient.ReceiveTimeout Property Specifies the time limit to wait for echo responses. Pascal property ReceiveTimeout: integer; Description ReceiveTimeout is an Integer property that identifies the maximum time that the ICMP client connection should wait for a response to an echo request. ReceiveTimeout is specified in milliseconds. ReceiveTimeout is used when capturing an echo request in Ping (

1125).

See Also TIdIcmpClient.Ping (

1125)

TIdIcmpClient.ReplyData Property Represents the raw data in the ICMP Echo reponse. Pascal property ReplyData; Description ReplyData is a read-only String property that represents the values received in an ICMP Echo response. ReplyData is updated when the ICMP response packet contains types Id_ICMP_ECHOREPLY ( 3315), and consists of the raw response packet following the IP and ICMP headers.

3315) or Id_ICMP_ECHO (

ReplyData does not have any significance when the ICMP reponse type is any value other than Id_ICMP_ECHOREPLY ( or Id_ICMP_ECHO ( 3315).

3315)

See Also TIdIcmpClient.Receive (

446)

TIdIcmpClient.ReplyStatus (

1127)

TIdIcmpClient.ReplyStatus Property Specifies the structure used to store a response to an echo request. Pascal property ReplyStatus; Description ReplyStatus is a TReplyStatus (

2679) property used to store a response to an echo request.

ReplyStatus is updated when a receiving a response to an echo request in Ping ( 1125). When the response to an echo request contains a non-zero length, ReplyStatus is updated with the contents of the echo response datagram. When the response to an echo request contains 0 bytes, ReplyStatus is updated with values to indicate the error condition,

Internet Direct (Indy) Version 10.1.5

1127

TIdICMPEcho Class

Classes

including:

Member Name

Value

BytesReceived

0

FromIpAddress

'0.0.0.0'

MsgType

0

SequenceId

Internal sequence number from TIdIcmpClient (

TimeToLive

0

ReplyStatusType

rsTimeOut

1123)

See Also TReplyStatus (

2679)

TIdIcmpClient.Ping (

1125)

TIdIcmpClient Events The Events of the TIdIcmpClient class are listed here. Events Event OnReply (

Description 1128)

Specifies an event handler for TOnReplyEvent (

3110) events.

Legend Event

TIdIcmpClient.OnReply Event Specifies an event handler for TOnReplyEvent (

3110) events.

Pascal property OnReply: TOnReplyEvent; Parameters Parameters

Description

ReplyStatus

Storage for the Reply from the echo request.

Description OnReply is a TOnReplyEvent (

3110) handler triggered when a echo response is received.

OnReply is generally used to update progress indicators or other GUI components as a result of receiving the echo response found in ReplyStatus ( 1127). Assign an event handler to perform additional processing when the TOnReplyEvent ( 3110) is triggered by Ping ( 1125). See Also TOnReplyEvent (

3110)

TIdICMPEcho Class File IdRawHeaders (

1128

4701)

Internet Direct (Indy) Version 10.1.5

Classes

TIdICMPEcho Class

Hierarchy

Pascal TIdICMPEcho = class(TIdStruct); Description TIdICMPEcho is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdICMPEcho Members The following tables list the members exposed by TIdICMPEcho. Properties Property id ( seq (

Description

1130) 1130)

Methods Method create (

Description 2262)

ReadStruct (

1129)

WriteStruct (

1130)

Legend Constructor virtual Property

TIdICMPEcho Methods The Methods of the TIdICMPEcho class are listed here. Methods Method

Description

ReadStruct (

1129)

WriteStruct (

1130)

Legend Method virtual

TIdICMPEcho.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

Internet Direct (Indy) Version 10.1.5

3007).

1129

TIdICMPFrag Class

Classes

VIndex

Scope is var. Type is Integer.

Description ReadStruct is a overridden method.

TIdICMPEcho.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdICMPEcho Properties The Properties of the TIdICMPEcho class are listed here. Properties Property id ( seq (

Description

1130) 1130)

Legend Property

TIdICMPEcho.id Property Pascal property id: word; Description id is a Public word property. Write access for the property is implemented using FId.

TIdICMPEcho.seq Property Pascal property seq: word; Description seq is a Public word property. Write access for the property is implemented using FSeq.

TIdICMPFrag Class File IdRawHeaders ( 1130

4701) Internet Direct (Indy) Version 10.1.5

Classes

TIdICMPFrag Class

Hierarchy

Pascal TIdICMPFrag = class(TIdStruct); Description TIdICMPFrag is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdICMPFrag Members The following tables list the members exposed by TIdICMPFrag. Properties Property

Description

mtu (

1132)

pad (

1132)

Methods Method create (

Description 2262)

ReadStruct (

1131)

WriteStruct (

1132)

Legend Constructor virtual Property

TIdICMPFrag Methods The Methods of the TIdICMPFrag class are listed here. Methods Method

Description

ReadStruct (

1131)

WriteStruct (

1132)

Legend Method virtual

TIdICMPFrag.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

Internet Direct (Indy) Version 10.1.5

3007).

1131

TIdICMPHdr Class

Classes

VIndex

Scope is var. Type is Integer.

Description ReadStruct is a overridden method.

TIdICMPFrag.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdICMPFrag Properties The Properties of the TIdICMPFrag class are listed here. Properties Property

Description

mtu (

1132)

pad (

1132)

Legend Property

TIdICMPFrag.mtu Property Pascal property mtu: word; Description mtu is a Public word property. Write access for the property is implemented using Fmtu.

TIdICMPFrag.pad Property Pascal property pad: word; Description pad is a Public word property. Write access for the property is implemented using Fpad.

TIdICMPHdr Class File IdRawHeaders ( 1132

4701) Internet Direct (Indy) Version 10.1.5

Classes

TIdICMPHdr Class

Hierarchy

Pascal TIdICMPHdr = class(TIdStruct); Description TIdICMPHdr is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdICMPHdr Members The following tables list the members exposed by TIdICMPHdr. Properties Property

Description

icmp_code (

1135)

icmp_dun (

1135)

icmp_hun (

1135)

icmp_sum (

1135)

icmp_type (

1135)

Methods Method create ( Destroy (

Description 1133) 1134)

ReadStruct (

1134)

WriteStruct (

1134)

Legend Constructor virtual Property read only

TIdICMPHdr Methods The Methods of the TIdICMPHdr class are listed here. Methods Method create ( Destroy (

Description 1133) 1134)

ReadStruct (

1134)

WriteStruct (

1134)

Legend Constructor virtual

TIdICMPHdr.create Constructor Pascal constructor create; override; Internet Direct (Indy) Version 10.1.5

1133

TIdICMPHdr Class

Classes

Description create is a overridden constructor for the object instance.

TIdICMPHdr.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdICMPHdr.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description ReadStruct is a overridden method.

TIdICMPHdr.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdICMPHdr Properties The Properties of the TIdICMPHdr class are listed here. Properties Property icmp_code ( icmp_dun ( icmp_hun (

1134

Description 1135) 1135) 1135)

icmp_sum (

1135)

icmp_type (

1135)

Internet Direct (Indy) Version 10.1.5

Classes

TIdICMPTs Class

Legend Property read only

TIdICMPHdr.icmp_code Property Pascal property icmp_code: byte; Description icmp_code is a Public byte property. Write access for the property is implemented using Ficmp_code.

TIdICMPHdr.icmp_dun Property Pascal property icmp_dun: TIdicmp_dun; Description icmp_dun is a Public read-only TIdicmp_dun (

1111) property.

TIdICMPHdr.icmp_hun Property Pascal property icmp_hun: TIdicmp_hun; Description icmp_hun is a Public read-only TIdicmp_hun (

1114) property.

TIdICMPHdr.icmp_sum Property Pascal property icmp_sum: word; Description icmp_sum is a Public word property. Write access for the property is implemented using Ficmp_sum.

TIdICMPHdr.icmp_type Property Pascal property icmp_type: byte; Description icmp_type is a Public byte property. Write access for the property is implemented using Ficmp_type.

TIdICMPTs Class File IdRawHeaders (

4701)

Hierarchy

Internet Direct (Indy) Version 10.1.5

1135

TIdICMPTs Class

Classes

Pascal TIdICMPTs = class(TIdStruct); Description TIdICMPTs is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdICMPTs Members The following tables list the members exposed by TIdICMPTs. Properties Property

Description

otime (

1137)

rtime (

1137)

ttime (

1137)

Methods Method create (

Description 2262)

ReadStruct (

1136)

WriteStruct (

1137)

Legend Constructor virtual Property

TIdICMPTs Methods The Methods of the TIdICMPTs class are listed here. Methods Method

Description

ReadStruct (

1136)

WriteStruct (

1137)

Legend Method virtual

TIdICMPTs.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

1136

3007).

Internet Direct (Indy) Version 10.1.5

Classes

TIdIdent Class

Description ReadStruct is a overridden method.

TIdICMPTs.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdICMPTs Properties The Properties of the TIdICMPTs class are listed here. Properties Property otime (

Description 1137)

rtime (

1137)

ttime (

1137)

Legend Property

TIdICMPTs.otime Property Pascal property otime: TIdNetTime; Description otime is a Public TIdNetTime (

3062) property. Write access for the property is implemented using Fotime.

TIdICMPTs.rtime Property Pascal property rtime: TIdNetTime; Description rtime is a Public TIdNetTime (

3062) property. Write access for the property is implemented using Frtime.

TIdICMPTs.ttime Property Pascal property ttime: TIdNetTime; Description ttime is a Public TIdNetTime (

3062) property. Write access for the property is implemented using Fttime.

Internet Direct (Indy) Version 10.1.5

1137

TIdIdent Class

Classes

TIdIdent Class Implements an Ident protocol client. File IdIdent (

4665)

Hierarchy

Pascal TIdIdent = class(TIdTCPClientCustom); Description TIdIdent is a TIdTCPClientCustom ( Standards document:

2340) descendant that implements an Ident protocol as a client, as described in the Internet

RFC 1413 - Identification Protocol TIdIdent provides a way to determine the identity of a client using a specific connection. Given a TCP port number pair, an Ident server can return a character string which identifies the owner of that connection on the server's system. In essence, the Ident protocol is used like an "Internet Caller ID". TIdIdent is a TIdTCPClient ( 2333) descendant that connects to the address specified in Host ( ( 3902) Port ( 1141) number, as required by RFC 1413.

1141) using the IdPORT_AUTH

You may optionally set the property value in QueryTimeout prior to calling the Query ( 1140) method with the required port number pair. System-dependent user information about the identified connection is read from the Ident server reply, and stored in corresonding TIdIdent properties. Property values can be incomplete if a timeout occurs, or an error response is received from the Ident server. See Also QueryTimeout Query (

1140) TIdIdentServer (

1143) TIdTCPClientCustom (

2340)

TIdIdent Members The following tables list the members exposed by TIdIdent. Properties Property

Description

BoundIP (

2345)

BoundPort (

Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

ConnectTimeout ( Greeting ( Host (

2347)

2364)

IP address or host name for the IDENT server.

2364)

The input / output mechanism for the connection.

LastCmdResult (

2367)

ManagedIOHandler ( OnAfterBind (

Millseconds to wait for successful completion of a connection attempt. Banner or welcome message for a connection to a protocol server.

1141)

IOHandler (

2367)

2347)

Response code and text for the last response from the peer connection. Indicates tyhe IOHandler (

2364) for the connection is maintained by the object instance.

Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

2367)

2368)

OnWorkBegin (

1138

2369) connection.

2369) connection.

Event handler signalled when disconnecting the peer connection. Event handler signalled for read and / or write operations.

2368)

Event handler signalled when beginning a read or write operation.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIdent Class

OnWorkEnd ( Port (

2369)

Event handler signalled when completing a read or write operation.

1141)

Port number for the connection to an Ident server.

QueryTimeOut ( ReadTimeout ( Reply (

1141)

Timeout value for an Ident query (

2349)

1141)

ReplyCharset ( ReplyOS (

The server response to an Ident query ( 1142)

Charset from an IOdent query (

1142)

ReplyOther (

ReplyUserName ( 2369)

Version (

269)

WorkTarget (

1140).

1140) response.

Operating system identifier found in an Ident query (

1142)

Socket (

1140).

Millseconds to wait for successful completion of a read attempt.

1140) response.

Unformatted, printable text that identifies the user in an Ident query (

1143)

User name from an Ident query (

1140).

1140) response.

Provides access to the TIdIOHandlerSocket (

1331) for the connection.

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork (

356)

Triggers the OnBeginWork event.

CheckForGracefulDisconnect ( ConnectAndGetAll ( Connected ( Create (

2351)

2344)

Opens a connection and reads all data.

2353)

Indicates if the peer connection has been opened.

267)

Constructor for the object instance.

CreateIOHandler ( Destroy (

357)

Destroy (

2354)

2353)

Disconnects the peer connection. Triggers the OnWork event handler.

358)

Triggers the OnEndWork event handler.

GetInternalResponse ( GetVersion (

2356)

Reads response detail lines from a peer connection.

269)

Query (

1140)

CType (

267)

2364) for the connection.

Frees the object instance. 2356)

357)

EndWork (

Create (

Creates the IOHandler ( Frees the object instance.

DisconnectNotifyPeer ( DoWork (

Determines if the peer has been gracefully disconnected.

Version (

269) number for Indy component suite.

Performs an Ident query using a port number pair.

1274)

Connect (

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

2359)

2360)

WriteHeader (

2362)

WriteRFCStrings (

2363)

Sends the RFC protocol header values in a list to the connection. Writes RFC-compliant message bodies on the connection.

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdIdent Methods The Methods of the TIdIdent class are listed here. Methods Method Query (

Description 1140)

Internet Direct (Indy) Version 10.1.5

Performs an Ident query using a port number pair.

1139

TIdIdent Class

Classes

Legend Method

TIdIdent.Query Method Performs an Ident query using a port number pair. Pascal procedure Query( APortOnServer: Word; APortOnClient: Word ); Parameters Parameters

Description

APortOnServer

the port on the server in use for the client connection of interest.

APortOnClient

the port on the client in use for the client connection of interest.

Description Query is a procedure that allows TIdIdent ( 1138) to establish a connection to the Ident server, and perform an Ident query using the port number pair identified in APortOnServer and APortOnClient. Set the value in Host ( 1141) prior to calling the Query method. Port ( 1141) is given the default value as identified in RFC 1413, but can be changed prior to calling Query (if your Ident server listens on a different port number). Query calls Connect ( 2342) to open an ident session, and writes the comma-delimited port number pair that identifies the connection of interest. Query will wait for a response from the Ident server for the number of milliseconds specified in QueryTimeout. If a timeout occurs, the connection is closed by calling Disconnect (

2355) and an EIdIdentQueryTimeOut (

When a response has been read from the Ident server, the return value is stored in Reply ( to determine if it contains an Ident protocol response that indicates an error has occurred. If an error is detected, an exception derived from EIdIdentReply ( EIdIdentInvalidPort (

105) EIdIdentNoUser (

105) is raised.

1141). The return value is also parsed

106) is raised that can include the following:

105) EIdIdentHiddenUser (

104) EIdIdentUnknownError (

The parsed contents of a successful Ident response will be available in the ReplyCharset ( ( 1142), and ReplyUserName ( 1143) properties.

106)

1142), ReplyOS (

1142), ReplyOther

See Also EIdIdentHiddenUser ( 104) EIdIdentInvalidPort ( 105) EIdIdentNoUser ( EIdIdentQueryTimeOut ( 105) EIdIdentReply ( 106) Reply ( 1141) ReplyCharset ( 1142) ReplyUserName ( 1143)

105) EIdIdentUnknownError ( 106) 1142) ReplyOS ( 1142) ReplyOther (

TIdIdent Properties The Properties of the TIdIdent class are listed here. Properties Property

Description

Host (

1141)

Port (

1141)

IP address or host name for the IDENT server. Port number for the connection to an Ident server.

QueryTimeOut ( Reply (

1141)

1141)

ReplyCharset ( ReplyOS ( ReplyOther (

1140).

The server response to an Ident query ( 1142)

1142)

Charset from an IOdent query (

1140).

1140) response.

Operating system identifier found in an Ident query (

1142)

ReplyUserName (

1140

Timeout value for an Ident query (

1143)

1140) response.

Unformatted, printable text that identifies the user in an Ident query ( User name from an Ident query (

1140).

1140) response.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIdent Class

Legend Property read only

TIdIdent.Host Property IP address or host name for the IDENT server. Pascal property Host; Description Host is a String property that represents the IP address or host name for the IDENT server connection. Set values in the Host and Port (

1141) properties prior to calling the Query (

1140) method.

See Also Port (

1141) Query (

1140)

TIdIdent.Port Property Port number for the connection to an Ident server. Pascal property Port; Description Port is a published property in TIdIdent ( 1138) that represents the port number used for the connection to an Ident server. The default value for Port is IdPORT_AUTH ( 3902), as required by RFC 1413, is assigned during initialization of the component. Set Host ( 1140).

1141) to identify the server IP Address or host name to be used for the connection to the Ident server in Query (

See Also Create (

267) Query (

1140) Host (

1141)

TIdIdent.QueryTimeOut Property Timeout value for an Ident query (

1140).

Pascal property QueryTimeOut: Integer; Description QueryTimeOut is an Integer property that indicates the number of milliseconds to wait for a response to an Ident query ( The default value for QueryTimeOut is IdIdentQryTimeout ( 3851), as assigned during initialization of the component.

1140).

The value in QueryTimeOut can be altered, but it is recommended in RFC 1413 that idle timeouts for the Ident protocol be in the 60-180 second range (60000 - 180000 milliseconds). QueryTimeOut is used in the Query ( 1140) method, and when exceeded forces the query ( the Connection is closed and an EIdIdentQueryTimeOut ( 105) exception is raised.

1140) to be abandoned. On timeout,

See Also EIdIdentQueryTimeOut (

105) IdIdentQryTimeout (

3851) Query (

1140)

TIdIdent.Reply Property The server response to an Ident query ( Internet Direct (Indy) Version 10.1.5

1140). 1141

TIdIdent Class

Classes

Pascal property Reply: String; Description Reply is a String property that represents the response received from an Ident server after calling Query ( 1140). Reply contains the unaltered response from the server prior to parsing values into the ReplyCharset ( 1142), ReplyOS ( 1142), ReplyOther ( 1142), and ReplyUserID properties. Reply may contain an empty string if a timeout occurs after QueryTimeout milliseconds have elapsed while waiting for the Ident server response. See Also Query (

1140) QueryTimeout ReplyCharset (

1142) ReplyOS (

1142) ReplyOther (

1142) ReplyUserName (

1143)

TIdIdent.ReplyCharset Property Charset from an IOdent query (

1140) response.

Pascal property ReplyCharset: String; Description ReplyCharset is a read-only String property that represents the character set found in the response to an Ident query ( 1140). The default value for Charset, 'US-ASCII' as specified in RFC 1413, is returned if the Ident response does not contain an explicit value. The value in ReplyCharset is obtained by parsing the Reply ( Use the ReplyOS ( 1142), ReplyOther ( have been present in Reply ( 1141).

1141) property updated in the Query (

1142), and ReplyUserName (

1140) method.

1143) properties to access additional values that may

See Also Query (

1140) Reply (

1141) ReplyOS (

1142) ReplyOther (

1142) ReplyUserName (

1143)

TIdIdent.ReplyOS Property Operating system identifier found in an Ident query (

1140) response.

Pascal property ReplyOS: String; Description ReplyOS is a read-only String property that represents the operating system identifier found in the response to an Ident query ( 1140). ReplyOS can contain an empty string if the Ident response does not contain an explicit value. The value in ReplyOS is obtained by parsing the Reply ( 1141) property updated in the Query ( normally contain one of the Id_OS constants which are defined in the IdAssignedNumbers unit. Use the ReplyCharset ( 1142), ReplyOther ( may have been present in Reply ( 1141).

1142), and ReplyUserName (

1140) method. ReplyOS will

1143) properties to access additional values that

See Also Query ( 4557)

1140) Reply (

1141) ReplyCharset (

1142) ReplyOther (

1142) ReplyUserName (

1143) IdAssignedNumbers.pas (

TIdIdent.ReplyOther Property Unformatted, printable text that identifies the user in an Ident query (

1142

1140).

Internet Direct (Indy) Version 10.1.5

Classes

TIdIdentServer Class

Pascal property ReplyOther: String; Description ReplyOther is a read-only String property that represents the unformatted, printable characters found in the response to an Ident query ( 1140). ReplyOther is represented in the character set specified by ReplyCharset ( 1142). ReplyOther will contain a value when the user identifier does not meet the constraints required for an operating system user identifer, and may include an audit token, the user's real name, phone number, or email address. The value in ReplyOther is obtained by parsing the Reply ( Use the ReplyCharset ( 1142), ReplyOS ( have been present in Reply ( 1141).

1141) property updated in the Query (

1142), and ReplyUserName (

1140) method.

1143) properties to access additional values that may

See Also Query (

1140) Reply (

1141) ReplyCharset (

1142) ReplyOS (

1142) ReplyUserName (

1143)

TIdIdent.ReplyUserName Property User name from an Ident query (

1140) response.

Pascal property ReplyUserName: String; Description ReplyUserName is a read-only String property that represents the user account identifier associated with a client connection as returned in the response from an Ident server query ( 1140). ReplyUserName identifies the account using the port number passed to the Query ( 1140) method. The value in ReplyUserName is obtained by parsing the Reply ( Use the ReplyCharset ( 1142), ReplyOS ( been present in Reply ( 1141).

1141) property updated in the Query (

1142), and ReplyOther (

1140) method.

1142) properties to access additional values that may have

See Also Query (

1140) Reply (

1141) ReplyCharset (

1142) ReplyOS (

1142) ReplyOther (

1142)

TIdIdentServer Class Implements a multi-threaded Identifcation Protocol server. File IdIdentServer (

4666)

Hierarchy

Pascal TIdIdentServer = class(TIdCustomTCPServer); Description TIdIdentServer is a TIdTCPServer ( 2375) descendant that implements a multi-threaded server for the Identifcation Protocol, as described in the Internet Standards document: RFC 1413 - Identification Protocol TIdIdentServer provides properties, methods, and events that can used, in conjunction with OnExecute, to implement the Identification Protocol which provides a means to determine the identity of a user of a particular TCP connection. Internet Direct (Indy) Version 10.1.5

1143

TIdIdentServer Class

Classes

See Also TIdTCPServer.OnExecute (

2379)

TIdIdentServer Members The following tables list the members exposed by TIdIdentServer. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

ContextClass (

Container for socket handles allocated by the server. 461)

Contexts (

Class reference used to create (

462)

DefaultPort (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server.

1146)

Port number used to listen for client connections.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

MaxConnections ( OnAfterBind (

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

465)

Indicates the maximum numer of client connections allowed for the server.

466)

QueryTimeOut ( ReuseSocket ( Scheduler (

Represents the IOHandler used by listener threads for the server.

465)

Event handler signalled after binding socket handles for listener threads.

1147)

Timeout value for connections to the Ident Server.

466)

Indicates reuse of local addresses for listener threads.

466)

Identifies the thread-based or fiber-based scheduler used in the server.

TerminateWaitTime ( Version (

468)

269)

WorkTarget (

Specifies the time a server should wait while terminating executable tasks for client connections. Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

356)

Triggers the OnBeginWork event.

267)

Constructor for the object instance.

Destroy (

357)

Frees the object instance.

Destroy (

457)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

Triggers the OnEndWork event handler.

GetVersion (

269)

Version (

ReplyError (

1145)

This method sends an error reply to the client requesting a query.

ReplyIdent (

1145)

This method sends the specified user name for a query.

ReplyOther (

1146)

This method returns unformatted text to the client making a query.

CType (

269) number for Indy component suite.

267)

Create (

1274)

Events Event

Description

OnBeforeConnect (

468)

OnBeforeListenerRun ( OnConnect (

469)

OnDisconnect ( OnException (

Event handler for exceptions raised in a peer thread.

1147)

359)

Event handler signalled prior to executing a listener thread. Event handler signalled when disconnecting the client connection.

470)

OnListenException (

Event handler signalled proper to establishing a client connection to the server. Event handler signalled for establishing new client connections.

469)

OnIdentQuery ( OnStatus (

468)

470)

This event is triggered when a client queries this daemon. Event handler for an exception in a listener thread. Represents the current connection status event handler.

Legend Method virtual Property

1144

Internet Direct (Indy) Version 10.1.5

Classes

TIdIdentServer Class read only Event

TIdIdentServer Methods The Methods of the TIdIdentServer class are listed here. Methods Method

Description

ReplyError (

1145)

This method sends an error reply to the client requesting a query.

ReplyIdent (

1145)

This method sends the specified user name for a query.

ReplyOther (

1146)

This method returns unformatted text to the client making a query.

Legend Method

TIdIdentServer.ReplyError Method This method sends an error reply to the client requesting a query. Pascal procedure ReplyError( AContext: TIdContext; AServerPort: Integer; AClientPort: Integer; AErr: TIdIdentErrorType ); Parameters Parameters

Description

AContext

The connection thread for the query

AServerPort

The port that the connection on the server (the computer making the query)

AClientPort

The port that the client is connecting from (the port the daemon is using to connect to the server making the query)

AErr

The error reply to send and it is one of the values in the TIdIdentErrorType (

2956) topic

Description This method sends an error reply to the client requesting a query. See Also TIdIdentErrorType (

2956)

TIdIdentServer.ReplyIdent Method This method sends the specified user name for a query. Pascal procedure ReplyIdent( AContext: TIdContext; AServerPort: Integer; AClientPort: Integer; AOS: String; AUserName: String; const ACharset: String = '' ); Parameters Parameters

Description

AContext

The connection thread for the query

AServerPort

The port that the connection on the server (the computer making the query)

Internet Direct (Indy) Version 10.1.5

1145

TIdIdentServer Class

Classes

AClientPort

The port that the client is connecting from (the port the daemon is using to connect to the server making the query)

AOS

This is the operating system that this computer is running. This value should be one of the Id_OS_ constants that is defined in the IdAssignedNumbers unit

AUserName

This is the user name to be sent to the client.

ACharset

This is the character set that the User name is in. This value should be one of the Id_CS constants that is defined in the IdAssignedNumber unit.

Description This method sends the specified user name for a query.

TIdIdentServer.ReplyOther Method This method returns unformatted text to the client making a query. Pascal procedure ReplyOther( AContext: TIdContext; AServerPort: Integer; AClientPort: Integer; AOther: String ); Parameters Parameters

Description

AContext

The connection thread for the query

AServerPort

The port that the connection on the server (the computer making the query)

AClientPort

The port that the client is connecting from (the port the daemon is using to connect to the server making the query)

AOther

This is the text that is sent to the client making the query.

Description This method returns unformatted text to the client making a query. Examples include an encrypted audit token or other information about a user (such as the real name and phone number of a user from a UNIX ( 4539) passwd file)

TIdIdentServer Properties The Properties of the TIdIdentServer class are listed here. Properties Property DefaultPort (

Description 1146)

QueryTimeOut (

1147)

Port number used to listen for client connections. Timeout value for connections to the Ident Server.

Legend Property

TIdIdentServer.DefaultPort Property Port number used to listen for client connections. Pascal property DefaultPort: TIdPort; Description DefaultPort is an Integer property redefined in TIdIdentServer ( connections in the Ident server, as required by the Ident protocol. DefaultPort is given the value IdPORT_AUTH (

1143) to reflect the port number used to listen for client

3902) during initialization of the component.

DefaultPort is used when constructing and binding the listener thread for the multi-threaded server implementation. 1146

Internet Direct (Indy) Version 10.1.5

Classes

TIdIGMPHdr Class

See Also IdPORT_AUTH (

3902) Create (

267)

TIdIdentServer.QueryTimeOut Property Timeout value for connections to the Ident Server. Pascal property QueryTimeOut: Integer; Description QueryTimeOut is an Integer property that represents the time out value used for connections to the the Ident Server. If this value exceeded, the server will close the connection to the client. The default value is IdDefIdentQueryTimeOut (

3831), as assigned during initialization of the component.

See Also IdDefIdentQueryTimeOut (

3831)

TIdIdentServer Events The Events of the TIdIdentServer class are listed here. Events Event

Description

OnIdentQuery (

1147)

This event is triggered when a client queries this daemon.

Legend Event

TIdIdentServer.OnIdentQuery Event This event is triggered when a client queries this daemon. Pascal property OnIdentQuery: TIdIdentQueryEvent; Parameters Parameters

Description

AThread

The connection thread for the query. The event is triggered within the context of this thread

AServerPort

The port that the connection on the server (the computer making the query)

AClientPort

The port that the client is connecting from (the port the daemon is using to connect to the server making the query)

Description This event is triggered when a client queries this daemon.

TIdIGMPHdr Class File IdRawHeaders (

4701)

Hierarchy

Internet Direct (Indy) Version 10.1.5

1147

TIdIGMPHdr Class

Classes

Pascal TIdIGMPHdr = class(TIdStruct); Description TIdIGMPHdr is a TIdStruct (

2261) descendant.

See Also TIdStruct (

2261)

TIdIGMPHdr Members The following tables list the members exposed by TIdIGMPHdr. Properties Property igmp_code (

Description 1150)

igmp_group (

1150)

igmp_sum (

1150)

igmp_type (

1150)

Methods Method create ( Destroy (

Description 1148) 1149)

ReadStruct (

1149)

WriteStruct (

1149)

Legend Constructor virtual Property read only

TIdIGMPHdr Methods The Methods of the TIdIGMPHdr class are listed here. Methods Method create ( Destroy (

Description 1148) 1149)

ReadStruct (

1149)

WriteStruct (

1149)

Legend Constructor virtual

TIdIGMPHdr.create Constructor Pascal constructor create; override; Description create is a overridden constructor for the object instance.

1148

Internet Direct (Indy) Version 10.1.5

Classes

TIdIGMPHdr Class

TIdIGMPHdr.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden destructor for the object instance.

TIdIGMPHdr.ReadStruct Method Pascal procedure ReadStruct( const ABytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

ABytes

Scope is const. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description ReadStruct is a overridden method.

TIdIGMPHdr.WriteStruct Method Pascal procedure WriteStruct( var VBytes: TIdBytes; var VIndex: Integer ); override; Parameters Parameters

Description

VBytes

Scope is var. Type is TIdBytes (

VIndex

Scope is var. Type is Integer.

3007).

Description WriteStruct is a overridden method.

TIdIGMPHdr Properties The Properties of the TIdIGMPHdr class are listed here. Properties Property igmp_code (

Description 1150)

igmp_group (

1150)

igmp_sum (

1150)

igmp_type (

1150)

Legend Property read only

Internet Direct (Indy) Version 10.1.5

1149

TIdIMAP4 Class

Classes

TIdIGMPHdr.igmp_code Property Pascal property igmp_code: byte; Description igmp_code is a Public byte property. Write access for the property is implemented using Figmp_code.

TIdIGMPHdr.igmp_group Property Pascal property igmp_group: TIdInAddr; Description igmp_group is a Public read-only TIdInAddr (

1271) property.

TIdIGMPHdr.igmp_sum Property Pascal property igmp_sum: word; Description igmp_sum is a Public word property. Write access for the property is implemented using Figmp_sum.

TIdIGMPHdr.igmp_type Property Pascal property igmp_type: byte; Description igmp_type is a Public byte property. Write access for the property is implemented using Figmp_type.

TIdIMAP4 Class Implements an Internet Message Access Protocol version 4.1 client. File IdIMAP4 (

4666)

Hierarchy

Pascal TIdIMAP4 = class(TIdMessageClient); Description TIdIMAP4 is a TIdMessageClient ( 1555) descendant that implements a client for the IMAP4 (Internet Message Access Protocol version 4.1) protocol, as described in the Internet standards document: RFC 3501 - Internet Message Access Protocol version 4.1 The Internet Message Access Protocol, Version ( 269) 4.1 (IMAP4rev1) allows a client to access and manipulate electronic mail messages on an IMAP4 server. IMAP4 permits manipulation of remote message folders, called "mailboxes", in a way that is functionally equivalent to local mailboxes. 1150

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

IMAP4rev1 includes operations for creating, deleting, and renaming mailboxes; checking for new messages; permanently removing messages; setting and clearing flags; RFC 822 and MIME message parsing; searching; and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev1 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers. IMAP4rev1 does not specify a means of posting mail; message posting is handled by a mail transfer protocol such as TIdSMTP ( 2017). The IMAP4 protocol allows the client to issue multiple commands before expecting a server response. In addition, server responses may not necessarily be received in the order in which the IMAP commands are issued on the client. Finally, IMAP4 responses differ from TCP-related response codes in both format and content. To accomodate these protocol differences, methods inherited from TIdTCPConnection ( 2349) are reimplemented to support the specifics or the IMAP protocol for sending commands and receiving responses. See Also TIdMessageClient (

1555) TIdTCPConnection (

2349) TIdSMTP (

2017) TIdPOP3 (

1772)

TIdIMAP4 Members The following tables list the members exposed by TIdIMAP4. Properties Property

Description

AuthType ( BoundIP (

1244)

Indicates the mechanism to use for authentication in the Login (

2345)

BoundPort (

Specifies the the local IP address to be used for the Socket (

2345)

Specifies the the port number to be used for the Socket (

1174) method.

2369) connection.

2369) connection.

BoundPortMax (

2346)

Represents the upper bounds for local port numbers derived when establishing the client connection.

BoundPortMin (

2346)

Represents the lowerr bounds for local port numbers derived when establishing the client connection.

Capabilities (

690)

ConnectionState ( ConnectTimeout ( Greeting (

1244)

Millseconds to wait for successful completion of a connection attempt.

2364)

Banner or welcome message for a connection to a protocol server.

GreetingBanner ( Host (

Indicates the IMAP4 connection state.

2347) 1245)

Identifies the server and its state during connection of the IMAP4 session.

1245)

IOHandler (

Identifies the host name or IP address for the remote IMAP4 server.

2364)

The input / output mechanism for the connection.

LastCmdResult ( MailBox (

2367)

Response code and text for the last response from the peer connection.

1245)

Represents the IMAP4 mailbox.

MailBoxSeparator (

1246)

ManagedIOHandler (

MilliSecsToWaitToClearBuffer ( MsgLineFold (

Identifies the character used to separate mailbox names in the hierarchical mailbox namespace.

2367)

Indicates tyhe IOHandler ( 1246)

1561)

MsgLineLength ( OnAfterBind (

1561)

2347)

2364) for the connection is maintained by the object instance.

Delay time for unhandled response data in the buffer for the client. Identifies the line folding character sequence for the message client. Maximum line length. Event handler signalled after the socket handle is bound for the connection.

OnBeforeBind (

2348)

Event handler signalled proper to binding the socket handle for the connection.

OnConnected (

2348)

Event handler signalled to reflect the connection state for the client.

OnDisconnected ( OnWork (

2368)

OnWorkBegin ( OnWorkEnd ( Password ( Port (

2367)

Event handler signalled for read and / or write operations. 2368)

2369)

Identifies the credentials for IMAP4 server authentication. Identifies the port number used for the IMAP4 server connection.

ReadTimeout (

2349)

RetrieveOnSelect (

1247)

SASLMechanisms (

UseTLS ( Version (

1248)

2369)

SupportsTLS ( Username (

Event handler signalled when beginning a read or write operation. Event handler signalled when completing a read or write operation.

1247)

1247)

Socket (

Event handler signalled when disconnecting the peer connection.

Millseconds to wait for successful completion of a read attempt. Specifies data to automatically retrieve (

1176) from the mailbox when a mailbox is selected.

SASL authentication mechanisms supported on the remote IMAP4 server. Provides access to the TIdIOHandlerSocket (

1331) for the connection.

690)

1248) 1249) 269)

Internet Direct (Indy) Version 10.1.5

Identifies the user name for IMAP4 server authentication. Indicates Transport-Level Security is used on the connection. Identifies the version number for the Indy component suite.

1151

TIdIMAP4 Class

Classes

WorkTarget (

359)

Indy component to receive work mode events for the current object instance.

Methods Method

Description

AppendMsgNoEncodeFromFile (

1158)

AppendMsgNoEncodeFromStream ( BeginWork ( Capability (

356)

Triggers the OnBeginWork event.

1159)

CheckForGracefulDisconnect ( CheckMailBox (

Indicates if the specified message has been read.

1161)

Connect (

Closes the currently selected mailbox.

1161)

Opens a connection and optionally logs in to to the IMAP server.

ConnectAndGetAll ( Connected (

2344)

Opens a connection and reads all data.

2353)

Indicates if the peer connection has been opened.

1162)

CopyMsgs (

Copies a message from the current mailbox to a specified mailbox.

1162)

Copies the indicated messages from the current mailbox to a specified mailbox.

267)

Constructor for the object instance.

CreateIOHandler (

2353)

Creates the IOHandler (

2364) for the connection.

CreateMailBox (

1163)

Creates a new mailbox on the remote IMAP4 server for the current account.

DeleteMailBox (

1164)

Removes the specified mailbox on the IMAP4 server.

DeleteMsgs ( Destroy (

1165)

Marks the specified messages for subsequent deletion when a mailbox is purged.

1165)

Frees the object instance.

DisconnectNotifyPeer ( DoAlert (

2356)

Triggers the OnAlert (

357)

EndWork (

358)

Triggers the OnEndWork event handler. 1167)

ExpungeMailBox (

1168)

Selects a mailbox for read-only access. Removes messages marked for deletion in the currently selected mailbox.

FindHowServerCreatesFolders ( GetInternalResponse ( GetResponse (

1169)

KeepAlive (

Retrieves the unique identifier for a given relative message number. Version ( 1172)

1173)

ListMailBoxes (

1173)

1173)

ListSubscribedMailBoxes (

1174)

1174)

Attempts to login ajnd perform authentication on the IMAP4 server.

1174)

RenameMailBox (

Pauses until a line of text is read from the connection.

1175)

Renames a specified mailbox on the IMAP4 server.

1176)

Retrieves a message from a mailbox and marks it as read on the server.

RetrieveAllEnvelopes (

1176)

RetrieveAllHeaders ( RetrieveAllMsgs (

Retrieves headers for all messages in a mailbox and populates the specified message collection.

1178)

Retrieves all messages in a mailbox and populates the specified message collection.

1178)

RetrieveEnvelopeRaw ( RetrieveFlags (

Retrieves SMTP envelope information for a message in the mailbox.

1179)

1179)

RetrieveHeader (

Retrieves stored message flags for a message on the IMAP4 server.

1180)

RetrieveMailBoxSize ( RetrieveMsgSize (

Retrieves headers for a specified message number and populates the message instance.

1181)

Indicates the size of a specified message in the currently selected mailbox. 1182)

RetrieveNoDecodeToStream ( RetrievePartHeader (

RetrieveText2 (

1188)

1199) 1201)

RetrieveTextPeek2 (

Retrieves the raw encoded contents of a message and stores the contents in a file.

1183) Retrieves RFC headers for a specified message and message part. Retrieves a message from a mailbox without marking it as read on the server. Retrieves the text that makes up the body of a message.

1202)

RetrieveTextPeek (

Indicates the size of all messages in the currently selected mailbox.

1181)

RetrieveNoDecodeToFile (

RetrieveText (

Retrieves RFC-822 envelope data for messages in a mailbox.

1177)

RetrieveEnvelope (

RetrievePeek (

269) number for Indy component suite.

Retrieves the body structure for a specified message. Prevents loss of a IMAP server connection due to a timeout.

ListInferiorMailBoxes (

Retrieve (

267) folders on the remote IMAP4 server.

Retrieves and checks a multiple line IMAP4 server response.

269)

ReadLnWait (

Determine the method used to create (

Reads mutiple untagged responses or a single tagged response from the server.

1170)

InternalRetrieveStructure (

Login (

1168)

1171)

GetVersion (

1249) event handler.

Triggers the OnWork event handler.

ExamineMailBox (

GetUID (

Disconnects the peer connection.

1167)

DoWork (

1152

Determines if the peer has been gracefully disconnected. Requests a checkpoint for the currently selected mailbox.

1160)

CloseMailBox (

CopyMsg (

2351)

1159)

CheckMsgSeen (

Create (

Adds a message to the specified mailbox without encoding message parts.

1159)

1203) 1204)

Retrieves the text that makes up the body of a message. Retrieves the text that makes up the body of a message without updating the flags for the message. Retrieves the text that makes up the body of a message without updating the flags for the message.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

SearchMailBox (

1205)

SelectMailBox (

1205)

SendMsg ( StoreFlags (

Sends message headers and body content on the client connection.

1209)

Updates the specified message flags for a list of message numbers.

SubscribeMailBox ( CType (

Selects a mailbox on the IMAP4 server as the current mailbox for message access.

1560) 1210)

Adds a mailbox to the list of "active" or "subscribed" mailboxes.

267)

AppendMsg (

1156)

Disconnect (

1166)

RetrievePart (

1183)

RetrievePartPeek (

1189)

RetrievePartToFile (

1194)

RetrievePartToFilePeek ( RetrieveStructure ( SendCmd (

1196)

1200)

1206)

StatusMailBox (

1208)

UIDRetrievePart (

1221)

UIDRetrievePartPeek (

1226)

UIDRetrievePartToFile (

1230)

UIDRetrievePartToFilePeek ( UIDRetrieveStructure ( UIDStoreFlags ( Create (

1232)

1235)

1241)

1274)

ProcessMessage ( Connect (

1558)

2342)

CheckResponse ( Disconnect (

2352)

2355)

GetResponse (

2357)

RaiseExceptionForLastCmdResult ( SendCmd (

UIDCheckMsgSeen ( UIDCopyMsg (

1211)

Indicates if the specified message has been read.

1211)

Copies a message from the current mailbox to a specified mailbox.

UIDCopyMsgs (

1212)

UIDDeleteMsg (

1213)

UIDDeleteMsgs (

Marks the specified message for subsequent deletion when a mailbox is purged.

1213)

Marks the specified messages for subsequent deletion when a mailbox is purged.

UIDInternalRetrieveStructure ( UIDRetrieve (

1214)

1214)

UIDRetrieveEnvelope (

1215)

Retrieves SMTP envelope information for a message in the mailbox.

1217)

1217)

UIDRetrieveHeader (

Retrieves stored message flags for a message on the IMAP4 server.

1218)

UIDRetrieveMailBoxSize ( UIDRetrieveMsgSize (

Retrieves headers for a specified message and populates the message instance.

1218)

Indicates the size of a specified message in the currently selected mailbox. 1220)

UIDRetrieveNoDecodeToStream ( UIDRetrievePartHeader ( UIDRetrieveText (

1225)

1237) 1239)

UIDRetrieveTextPeek2 ( UIDSearchMailBox (

Retrieves a message from a mailbox without marking it as read on the server.

1240)

Retrieves the text that makes up the body of a message. Retrieves the text that makes up the body of a message without updating the flags for the message. Retrieves the text that makes up the body of a message without updating the flags for the message.

1241)

UnsubscribeMailBox (

1242)

2362)

1243)

WriteRFCStrings (

Retrieves RFC headers for a specified message and message part. Retrieves the text that makes up the body of a message.

1238)

UIDRetrieveTextPeek (

Retrieves the raw encoded contents of a message and stores the contents in a file.

1220)

1234)

UIDRetrieveText2 (

WriteHeader (

Indicates the size of all messages in the currently selected mailbox.

1219)

UIDRetrieveNoDecodeToFile (

UIDRetrievePeek (

Retrieves RFC-822 envelope data for messages in a mailbox.

1216)

UIDRetrieveEnvelopeRaw ( UIDRetrieveFlags (

Retrieves the body structure for a specified message. Retrieves a message from a mailbox and marks it as read on the server.

UIDRetrieveAllEnvelopes (

WriteLn (

2359)

2360)

Removes a mailbox from the list of "active" or "subscribed" mailboxes. Sends the RFC protocol header values in a list to the connection. Used internally to send a command/request to an IMAP server.

2363)

Writes RFC-compliant message bodies on the connection.

Events Event OnAlert (

Description 1249)

Internet Direct (Indy) Version 10.1.5

Event handler triggered for IMAP4 ALERT response codes found in server responses.

1153

TIdIMAP4 Class OnStatus (

Classes 359)

Represents the current connection status event handler.

OnTLSHandShakeFailed ( OnTLSNegCmdFailed ( OnTLSNotAvailable (

690) 691)

OnWorkBeginForPart (

1249)

OnWorkEndForPart ( OnWorkForPart (

690)

Event handler signalled when starting retrieval of a message part for the IMAP4 client.

1250)

Event handler signalled when completing retrieval of a message part for the IMAP4 client.

1250)

Event handler signalled during retrieval of a message part for the IMAP4 client.

Legend Method virtual Property read only Event

TIdIMAP4 Methods The Methods of the TIdIMAP4 class are listed here. Methods Method

Description

AppendMsg (

1156)

AppendMsgNoEncodeFromFile (

1158)

AppendMsgNoEncodeFromStream ( Capability (

1159)

CheckMailBox (

1159)

CheckMsgSeen ( CloseMailBox ( CopyMsg (

Requests a checkpoint for the currently selected mailbox.

1160)

Indicates if the specified message has been read.

1161)

Connect (

Closes the currently selected mailbox.

1161)

Opens a connection and optionally logs in to to the IMAP server.

1162)

CopyMsgs (

Copies a message from the current mailbox to a specified mailbox.

1162)

Copies the indicated messages from the current mailbox to a specified mailbox.

CreateMailBox (

1163)

Creates a new mailbox on the remote IMAP4 server for the current account.

DeleteMailBox (

1164)

Removes the specified mailbox on the IMAP4 server.

DeleteMsgs (

1165)

Destroy (

1165)

Disconnect (

1166)

DoAlert (

Marks the specified messages for subsequent deletion when a mailbox is purged. Frees the object instance.

1167)

Triggers the OnAlert (

ExamineMailBox (

1167)

ExpungeMailBox (

1168)

GetInternalResponse ( GetResponse ( GetUID (

Removes messages marked for deletion in the currently selected mailbox.

1169)

1170)

1173)

1173)

ListSubscribedMailBoxes (

1174)

1174)

Attempts to login ajnd perform authentication on the IMAP4 server.

1174)

RenameMailBox ( Retrieve (

Retrieves the body structure for a specified message. Prevents loss of a IMAP server connection due to a timeout.

ListInferiorMailBoxes (

ReadLnWait (

267) folders on the remote IMAP4 server.

Reads mutiple untagged responses or a single tagged response from the server. Retrieves the unique identifier for a given relative message number.

1172)

1173)

ListMailBoxes (

Determine the method used to create (

Retrieves and checks a multiple line IMAP4 server response.

InternalRetrieveStructure (

Login (

1168)

1171)

KeepAlive (

1249) event handler.

Selects a mailbox for read-only access.

FindHowServerCreatesFolders (

Pauses until a line of text is read from the connection.

1175)

Renames a specified mailbox on the IMAP4 server.

1176)

Retrieves a message from a mailbox and marks it as read on the server.

RetrieveAllEnvelopes ( RetrieveAllHeaders ( RetrieveAllMsgs (

1176) 1177)

1178)

RetrieveEnvelope ( RetrieveFlags ( RetrieveHeader (

1179) 1180)

Retrieves RFC-822 envelope data for messages in a mailbox. Retrieves headers for all messages in a mailbox and populates the specified message collection. Retrieves all messages in a mailbox and populates the specified message collection.

1178)

RetrieveEnvelopeRaw (

1154

Adds a message to the specified mailbox without encoding message parts.

1159)

Retrieves SMTP envelope information for a message in the mailbox.

1179) Retrieves stored message flags for a message on the IMAP4 server. Retrieves headers for a specified message number and populates the message instance.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

RetrieveMailBoxSize ( RetrieveMsgSize (

1181)

Indicates the size of all messages in the currently selected mailbox.

1181)

Indicates the size of a specified message in the currently selected mailbox.

RetrieveNoDecodeToFile (

1182)

RetrieveNoDecodeToStream ( RetrievePart (

1183)

RetrievePartHeader ( RetrievePartPeek (

1188) 1194)

RetrievePartToFilePeek ( RetrievePeek (

Retrieves RFC headers for a specified message and message part.

1189)

RetrievePartToFile (

1196)

1199)

RetrieveStructure ( RetrieveText (

Retrieves a message from a mailbox without marking it as read on the server.

1200)

1201)

RetrieveText2 (

Retrieves the text that makes up the body of a message.

1202)

RetrieveTextPeek ( SearchMailBox (

Retrieves the text that makes up the body of a message.

1203)

RetrieveTextPeek2 (

Retrieves the text that makes up the body of a message without updating the flags for the message.

1204)

Retrieves the text that makes up the body of a message without updating the flags for the message.

1205)

SelectMailBox ( SendCmd (

1205)

Selects a mailbox on the IMAP4 server as the current mailbox for message access.

1206)

StatusMailBox ( StoreFlags (

1208)

1209)

Updates the specified message flags for a list of message numbers.

SubscribeMailBox (

1210)

UIDCheckMsgSeen ( UIDCopyMsg (

Adds a mailbox to the list of "active" or "subscribed" mailboxes.

1211)

Indicates if the specified message has been read.

1211)

Copies a message from the current mailbox to a specified mailbox.

UIDCopyMsgs (

1212)

UIDDeleteMsg (

1213)

UIDDeleteMsgs (

Marks the specified message for subsequent deletion when a mailbox is purged.

1213)

Marks the specified messages for subsequent deletion when a mailbox is purged.

UIDInternalRetrieveStructure ( UIDRetrieve (

1214)

1214)

UIDRetrieveEnvelope (

1215)

Retrieves SMTP envelope information for a message in the mailbox.

1217)

1217)

UIDRetrieveHeader (

Retrieves stored message flags for a message on the IMAP4 server.

1218)

UIDRetrieveMailBoxSize ( UIDRetrieveMsgSize (

Retrieves headers for a specified message and populates the message instance.

1218)

Indicates the size of a specified message in the currently selected mailbox. 1220)

UIDRetrieveNoDecodeToStream (

Retrieves the raw encoded contents of a message and stores the contents in a file.

1220)

1221)

UIDRetrievePartHeader ( UIDRetrievePartPeek (

1225) 1230)

UIDRetrievePartToFilePeek ( UIDRetrievePeek (

1232)

1234)

UIDRetrieveStructure ( UIDRetrieveText (

Retrieves the text that makes up the body of a message.

1238)

UIDRetrieveTextPeek (

1239)

UIDRetrieveTextPeek2 ( UIDSearchMailBox (

Retrieves a message from a mailbox without marking it as read on the server.

1235)

1237)

UIDRetrieveText2 (

Retrieves RFC headers for a specified message and message part.

1226)

UIDRetrievePartToFile (

UIDStoreFlags (

Indicates the size of all messages in the currently selected mailbox.

1219)

UIDRetrieveNoDecodeToFile ( UIDRetrievePart (

Retrieves RFC-822 envelope data for messages in a mailbox.

1216)

UIDRetrieveEnvelopeRaw ( UIDRetrieveFlags (

Retrieves the body structure for a specified message. Retrieves a message from a mailbox and marks it as read on the server.

UIDRetrieveAllEnvelopes (

1240)

Retrieves the text that makes up the body of a message. Retrieves the text that makes up the body of a message without updating the flags for the message. Retrieves the text that makes up the body of a message without updating the flags for the message.

1241)

1241)

UnsubscribeMailBox ( WriteLn (

Retrieves the raw encoded contents of a message and stores the contents in a file.

1183)

1242)

1243)

Removes a mailbox from the list of "active" or "subscribed" mailboxes. Used internally to send a command/request to an IMAP server.

Legend Method virtual

Internet Direct (Indy) Version 10.1.5

1155

TIdIMAP4 Class

Classes

TIdIMAP4.AppendMsg Method Overload List Method

Description

TIdIMAP4.AppendMsg (String, Adds a message to the specified mailbox. TIdMessage, TIdHeaderList, TIdMessageFlagsSet) ( 1156) TIdIMAP4.AppendMsg (String, Adds a message to the specified mailbox. TIdMessage, TIdMessageFlagsSet) ( 1157)

TIdIMAP4.AppendMsg Method (String, TIdMessage, TIdHeaderList, TIdMessageFlagsSet) Adds a message to the specified mailbox. Pascal function AppendMsg( const AMBName: String; AMsg: TIdMessage; AAlternativeHeaders: TIdHeaderList; const AFlags: TIdMessageFlagsSet = [] ): Boolean; overload; Parameters Parameters

Description

AMBName

Mailbox name used to store the new message.

AMsg

Message to be added to the mailbox.

AAlternativeHeaders

Alternate headers to use in place of those stored in the message.

AFlags

Message flags to apply to the message in the mailbox. Default value is [].

Returns Boolean - True on success. Description AppendMsg is an overloaded Boolean function used to append the message specified in AMsg to the mailbox specified in AMBName. AppendMsg allows the client to perform mailbox maintenance routines like copying and moving messages between mailboxes for the client. AppendMsg copies the contents of the specified TIdMessage ( 1521) instance, including attachments, to the specified mailbox. AppendMsg implements the IMAP4 APPEND command, and requires that the ConnectionState ( 1244) for the client contain the value csAuthenticated or csSelected. AppendMsg can raise an EIdConnectionStateError ( 70) exception when the ConnectionState ( 1244) does not contain one of the expected values. AMBName must contain a valid mailbox name on the IMAP4 server or an EIdConnectionStateError (

70) will be raised.

AFlags indicates the set of message flags which should be applied to the message in the mailbox. AppendMsg constructs the flags for the message using MessageFlagSetToStr prior to calling SendCmd ( 1206) using the IMAP4 APPEND command. AAlternativeHeaders contains alternate RFC-compliant header values to use in place of those stored in the message specified in AMsg. When AAlternativeHeaders isomitted, the message headers found the TIdMessage ( 1521) instance are used when appending message data to the specified mailbox. AppendMsg creates a temporary file used to calculate the size of the encoded message, including attachments, as required by the IMAP4 APPEND command. The numeric size is updated to reflect the size of the headers specified in AAlternateHeaders, when present. The APPEND command is sent to the IMAP4 server using the indicated mailbox name, message flags, and the message size as stored in the mailbox. The value in AMBName is enclosed in double quotation marks to prevent errors with mailbox names that include the Space character.

1156

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

AppendMsg inspects the numeric response code in LastCmdResult ( 2367), and when the value is IMAP_CONT ( the message headers, body, and attachments in AMsg to the IMAP4 server.

4334) sends

AppendMsg returns False if the APPEND operation is not successfully completed on the IMAP4 server. Please note that the APPEND command is not used for message delivery, because it does not provide a mechanism to transfer SMTP envelope information. Use AppendMsgNoEncodeFromFile ( 1158) or AppendMsgNoEncodeFromStream ( without encoding message parts prior to transmission.

1159) to append a message to a mailbox

See Also AppendMsg ConnectionState ( AppendMsgNoEncodeFromStream (

1244) 1159)

EIdConnectionStateError

(

70)

AppendMsgNoEncodeFromFile

(

1158)

TIdIMAP4.AppendMsg Method (String, TIdMessage, TIdMessageFlagsSet) Adds a message to the specified mailbox. Pascal function AppendMsg( const AMBName: String; AMsg: TIdMessage; const AFlags: TIdMessageFlagsSet = [] ): Boolean; overload; Parameters Parameters

Description

AMBName

Mailbox name used to store the new message.

AMsg

Message to be added to the mailbox.

AFlags

Message flags to apply to the message in the mailbox. Default value is [].

Returns Boolean - True on success. Description AppendMsg is an overloaded Boolean function used to append the message specified in AMsg to the mailbox specified in AMBName. AppendMsg allows the client to perform mailbox maintenance routines like copying and moving messages between mailboxes for the client. AppendMsg copies the contents of the specified TIdMessage ( 1521) instance, including attachments, to the specified mailbox. AppendMsg implements the IMAP4 APPEND command, and requires that the ConnectionState ( 1244) for the client contain the value csAuthenticated or csSelected. AppendMsg can raise an EIdConnectionStateError ( 70) exception when the ConnectionState ( 1244) does not contain one of the expected values. AMBName must contain a valid mailbox name on the IMAP4 server or an EIdConnectionStateError (

70) will be raised.

AFlags indicates the set of message flags which should be applied to the message in the mailbox. AppendMsg constructs the flags for the message using MessageFlagSetToStr prior to calling SendCmd ( 1206) using the IMAP4 APPEND command. AAlternativeHeaders contains alternate RFC-compliant header values to use in place of those stored in the message specified in AMsg. When AAlternativeHeaders isomitted, the message headers found the TIdMessage ( 1521) instance are used when appending message data to the specified mailbox. AppendMsg creates a temporary file used to calculate the size of the encoded message, including attachments, as required by the IMAP4 APPEND command. The numeric size is updated to reflect the size of the headers specified in AAlternateHeaders, when present. The APPEND command is sent to the IMAP4 server using the indicated mailbox name, message flags, and the message size as stored in the mailbox. The value in AMBName is enclosed in double quotation marks to prevent errors with mailbox names that include the Space character. AppendMsg inspects the numeric response code in LastCmdResult ( 2367), and when the value is IMAP_CONT ( the message headers, body, and attachments in AMsg to the IMAP4 server. Internet Direct (Indy) Version 10.1.5

4334) sends

1157

TIdIMAP4 Class

Classes

AppendMsg returns False if the APPEND operation is not successfully completed on the IMAP4 server. Please note that the APPEND command is not used for message delivery, because it does not provide a mechanism to transfer SMTP envelope information. Use AppendMsgNoEncodeFromFile ( 1158) or AppendMsgNoEncodeFromStream ( without encoding message parts prior to transmission.

1159) to append a message to a mailbox

See Also AppendMsg ConnectionState ( AppendMsgNoEncodeFromStream (

1244) 1159)

EIdConnectionStateError

(

70)

AppendMsgNoEncodeFromFile

(

1158)

TIdIMAP4.AppendMsgNoEncodeFromFile Method Adds a message to the specified mailbox without encoding message parts. Pascal function AppendMsgNoEncodeFromFile( const AMBName: String; ASourceFile: string; const AFlags: TIdMessageFlagsSet = [] ): Boolean; Parameters Parameters

Description

AMBName

Mailbox name used to store the new message.

ASourceFile

File with the message content to be added to the mailbox.

AFlags

Message flags to apply to the message in the mailbox. Default value is [].

Returns Boolean - True on success. Description AppendMsgNoEncodeFromFile is a Boolean function used to append a message stored in a file into the specified IMAP4 server mailbox. AppendMsgNoEncodeFromFile is very similar to the AppendMsg ( 1156) method, but does not perform encoding for message parts loaded from the specified file name. AppendMsgNoEncodeFromFile requires that the ConnectionState ( 1244) property contain the value csAuthenticated or csSelected, or an EIdConnectionStateError ( 70) exception will be raised. AMBName is the mailbox name on the IMAP4 server to receive the message content. AMBName must contain a valid mailbox name on the IMAP4 server or an EIdConnectionStateError ( 70) exception will be raised. ASourceFile is the file name containing the message content to be appended to the specified mailbox. ASourceFile contains values as created using the TIdMessage.SaveToFile ( 1534) method. AFlags indicates the set of message flags which should be applied to the message in the mailbox. AppendMsgNoEncodeFromFile constructs the flags for the message using MessageFlagSetToStr prior to calling SendCmd ( 1206) using the IMAP4 APPEND command. AppendMsgNoEncodeFromFile calls the AppendMsgNoEncodeFromStream (

1159) method perform the apopend operation.

AppendMsgNoEncodeFromFile causes the APPEND command to be sent to the IMAP4 server using the indicated mailbox name, message flags, and the message size as stored in the mailbox. The value in AMBName is enclosed in double quotation marks to prevent errors with mailbox names that include the Space character. AppendMsgNoEncodeFromFile inspects the numeric response code in LastCmdResult ( 2367), and when the value is IMAP_CONT ( 4334) sends the message headers, body, and attachments in AMsg to the IMAP4 server. AppendMsgNoEncodeFromFile returns False if the APPEND operation is not successfully completed on the IMAP4 server. Please note that the APPEND command is not used for message delivery, because it does not provide a mechanism to transfer SMTP envelope information.

1158

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Use AppendMsgNoEncodeFromStream ( 1159) to append a message to a mailbox without encoding message parts prior to transmission, or AppendMsg ( 1156) to append a messgae specified in a TIdMessage ( 1521) instance. See Also AppendMsg ( 1156) AppendMsgNoEncodeFromStream ( TIdMessage.SaveToFile ( 1534)

1159) ConnectionState (

1244) EIdConnectionStateError (

70)

TIdIMAP4.AppendMsgNoEncodeFromStream Method Pascal function AppendMsgNoEncodeFromStream( const AMBName: String; AStream: TIdStream; const AFlags: TIdMessageFlagsSet = [] ): Boolean; Parameters Parameters

Description

AMBName

Scope is const. Type is String.

AStream

Type is TIdStream (

AFlags

Scope is const. Type is TIdMessageFlagsSet (

3087). 3059). Default value is [].

Returns Boolean Description AppendMsgNoEncodeFromStream is a method. AppendMsgNoEncodeFromStream returns a Boolean value.

TIdIMAP4.Capability Method Pascal function Capability( ASlCapability: TIdStrings ): Boolean; overload; Parameters Parameters

Description

ASlCapability

Type is TIdStrings (

3089).

Returns Boolean Description Capability is a overloaded method. Capability returns a Boolean value. See Also TIdIMAP4.Capability

TIdIMAP4.CheckMailBox Method Requests a checkpoint for the currently selected mailbox. Pascal function CheckMailBox: Boolean;

Internet Direct (Indy) Version 10.1.5

1159

TIdIMAP4 Class

Classes

Returns Boolean - True on success. Description CheckMailBox is a Boolean function that requests a checkpoint for the currently selected mailbox. A checkpoint refers to the IMAP4 server-specific housekeeping associated with a mailbox that is not normally executed as part of each IMAP4 command. Please note that this function does absolutely nothing on most if not all IMAP servers because they do not leave anything to "housekeeping" routines. This function is part of the IMAP specification but appears to be totally pointless since the specification does not define what functions may depend on this function being called first. CheckMailBox requires that ConnectionState ( exception wil be raised.

1244) contain the value csSelected or an EIdConnectionStateError (

70)

CheckMailBox executes the IMAP4 CHECK command, and sets the return value to indicate if the server response in LastCmdResult ( 2367) is IMAP_OK ( 4334). Exceptions Exceptions

Description

EIdConnectionStateError (

70)

Raised with the message RSIMAP4ConnectionStateError and the value from GetConnectionStateName.

See Also ConnectionState (

1244) LastCmdResult (

2367) EIdConnectionStateError (

70) RSIMAP4ConnectionStateError

TIdIMAP4.CheckMsgSeen Method Indicates if the specified message has been read. Pascal function CheckMsgSeen( const AMsgNum: Integer ): Boolean; Parameters Parameters

Description

AMsgNum

Message number to be checked.

Returns Boolean - True when the message has been read. Description CheckMsgSeen is a Boolean function that indicates if the message in the currently selected mailbox specified by the relative message number in AMsgNum has been read. CheckMsgSeen may raise an EIdNumberInvalid (

126) exception if AMsgNum contains an invalid value (0 or a negative number).

CheckMsgSeen requires that the ConnectionState ( exception will be raised.

1244) contain the value csSelected, or an EIdConnectionStateError (

70)

CheckMsgSeen calls SendCmd ( 1206), after incrementing the IMAP command counter, using the IMAP FETCH command with the FLAGS attribute. CheckMsgSeen returns True when the server response indicates that the flags for the message contains the TIdMessageFlag value mfSeen. Use UIDCheckMsgSeen (

1211) to check the flags for a message by its unique identifier.

Exceptions Exceptions EIdNumberInvalid (

Description 126)

EIdConnectionStateError (

1160

With the message RSIMAP4NumberInvalid when AMsgNum is invalid. 70)

With the message RSIMAP4ConnectionStateError and the value from GetConnectionStateName when ConnectionState ( 1244) indicates a mailbox has not been selected.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

See Also ConnectionState ( 1244) EIdConnectionStateError ( TIdMessageFlagsSet ( 3059) UIDCheckMsgSeen ( 1211)

70)

EIdNumberInvalid

(

126)

TIdMessageFlags

(

2968)

TIdIMAP4.CloseMailBox Method Closes the currently selected mailbox. Pascal function CloseMailBox: Boolean; Returns Boolean - True on success. Description CloseMailBox is a Boolean function used to close the currently selected mailbox. CloseMailBox requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. CloseMailBox calls SendCmd ( 1206) to execute the IMAP CLOSE command, and sets ConnectionState ( csAuthenticated on successful completion.

1244) to

The return value for the method is True on successful completion of the IMAP4 CLOSE command. Exceptions Exceptions

Description

EIdConnectionStateError (

70)

With the message RSIMAP4ConnectionStateError and the value from GetConnectionStateName.

See Also ConnectionState (

1244) SendCmd (

1206) EIdConnectionStateError (

70)

TIdIMAP4.Connect Method Opens a connection and optionally logs in to to the IMAP server. Pascal function Connect( const AAutoLogin: boolean = true ): Boolean; virtual; reintroduce; Parameters Parameters

Description

AAndLogin

Indicates if the Login (

1174) method is called when connecting.

Description Connect is an overridden procedure in TIdIMAP4 (

1150) that opens the connection to the IMAP4 server.

AAndLogin indicates if the Login ( 1174) method is called using values in the Username ( properties when establishing the connection to the server.

1248) and Password (

1247)

Connect sets the value in the ConnectionState ( 1244) property to csNonAuthenticated on entry to the method. When AAndLogin contains True, the value may also be updated after successful completion of the Login ( 1174) method. Connect calls the inherited Connect method when Connected ( 2353) indicates the IMAP4 session has not been previously established. If Connected ( 2353) returns True, the method is exited with no additional processing. Connect captures values in the LastCmdResult ( 1245) property.

2367) property following connecting to the server for use in GreetingBanner (

Connect will call the Login ( 1174) method when AAndLogin contains True. Additional lines of text returned by the IMAP server may be stored in the Capabilities ( 690) property when SASL is used for authenticating the client connection in ancestor classes.

Internet Direct (Indy) Version 10.1.5

1161

TIdIMAP4 Class

Classes

The Login ( 1174) method may be called manually when additional IMAP4 commands are required after connection but prior to logging in, such as when issuing the Capability ( 1159) command. This also allows switching users on the same server without having to disconnect ( 1166) from the server. See Also Username (

1248) Password (

1247) ConnectionState (

1244) Disconnect (

1166) Login (

1174) Capabilities (

690)

TIdIMAP4.CopyMsg Method Copies a message from the current mailbox to a specified mailbox. Pascal function CopyMsg( const AMsgNum: Integer; const AMBName: String ): Boolean; Parameters Parameters

Description

AMsgNum

relative message number for the message in the currently selected mailbox.

AMBName

target mailbox name on the IMAP4 server.

Returns Boolean - True on success. Description CopyMsg is a Boolean function used to copy a message in the currently selected mailbox to another mailbox on the IMAP4 server. AMsgNum is the relative message number for the message in the currently selected mailbox. AMBName is the target mailbox on the IMAP4 server where a copy of the message will be stored. AMBName must represent an existing mailbox on the IMAP4 server that is valid for the currently connected ( 2353) Username ( 1248) and Password ( 1247). CopyMsg performs validation for the value in AMsgNum, and can raise an EIdNumberInvalid ( number contains zero or a negative number.

126) exception if the message

Use of CopyMsg requires that a mailbox be previously selected using the SelectMailbox ( 1205) method, and that ConnectionState ( 1244) contains the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. CopyMsg calls SendCmd ( 1206) to send the IMAP4 COPY command using the values indicated in AMsgNum and AMBName. AMBName is UTF7-encoded prior to transmission. The return value for the method is True on successful completion of the IMAP4 COPY command. Use CopyMsgs (

1162) to copy multiple message numbers to a specified mailbox.

Use UIDCopyMsg ( 1211) or UIDCopyMsgs ( identifier(s) instead of relative message number(s).

1212) to copy messages in the currently selected mailbox using unique

Exceptions Exceptions EIdNumberInvalid (

Description 126)

EIdConnectionStateError (

With the message RSIMAP4NumberInvalid. 70)

With the message RSIMAP4ConnectionStateError.

See Also SelectMailBox ( 1205) ConnectionState ( 1244) EIdNumberInvalid ( UIDCopyMsg ( 1211) UIDCopyMsgs ( 1212)

126) EIdConnectionStateError (

70) SendCmd (

1206)

TIdIMAP4.CopyMsgs Method Copies the indicated messages from the current mailbox to a specified mailbox.

1162

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Pascal function CopyMsgs( const AMsgNumList: array of Integer; const AMBName: String ): Boolean; Parameters Parameters

Description

AMsgNumList

Array of relative message numbers for messages to be copied.

AMBName

target mailbox name on the IMAP4 server.

Returns Boolean - True on success. Description CopyMsgs is a Boolean function used to copy a list of relative message numbers in the currently selected mailbox to another mailbox on the IMAP4 server. AMsgNumList is an Array of relative message numbers for messages to be copied. If the length of the array is 0, no action is performed and the method is exited. AMBName is the target mailbox on the IMAP4 server where a copy of the message will be stored. AMBName must represent an existing mailbox on the IMAP4 server that is valid for the currently connected ( 2353) Username ( 1248) and Password ( 1247). Use of CopyMsgs requires that a mailbox be previously selected using the SelectMailbox ( 1205) method, and that ConnectionState ( 1244) contains the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. CopyMsgs calls SendCmd ( 1206) to send the IMAP4 COPY command using the list of message numbers and the value in AMBName. AMBName is UTF7-encoded prior to transmission. The return value for the method is True on successful completion of the IMAP4 COPY command. Use CopyMsg (

1162) to copy a single message to a specified mailbox.

Use UIDCopyMsg ( 1211) or UIDCopyMsgs ( identifier(s) instead of relative message number(s).

1212) to copy messages in the currently selected mailbox using unique

Exceptions Exceptions EIdConnectionStateError (

Description 70)

With the message RSIMAP4ConnectionStateError.

See Also SelectMailBox ( 1205) ConnectionState ( UIDCopyMsgs ( 1212)

1244) EIdConnectionStateError (

70) SendCmd (

1206) UIDCopyMsg (

1211)

TIdIMAP4.CreateMailBox Method Creates a new mailbox on the remote IMAP4 server for the current account. Pascal function CreateMailBox( const AMBName: String ): Boolean; Parameters Parameters

Description

AMBName

Mailbox name to create (

267) on the IMAP4 server.

Returns Boolean - True on success, False on error.

Internet Direct (Indy) Version 10.1.5

1163

TIdIMAP4 Class

Classes

Description CreateMailBox is a Boolean function used to create ( 267) a mailbox with the name indicated in AMBName on the remote IMAP4 server. AMBName must represent a valid mailbox name that does not already exist on the IMAP4 server. CreateMailBox requires that ConnectionState ( 1244) contain the value csAuthenticated or csSelected, indicating that the connection was successfully authenticated using the values in the Username ( 1248) and Password ( 1247) properties. When ConnectionState ( 1244) contains any other value, an EIdConnectionStateError ( 70) exception is raised. CreateMailBox uses SendCmd ( in AMBName.

1206) to send the IMAP4 CREATE command using a UTF7-encoded copy of the value specified

CreateMailBox returns True if the requested mailbox was successfully created on the remote IMAP4 server, or False when a protocol response indicates the operation was not successfully completed. The return value for the method is set to True if the server response is IMAP_OK ( 4334). A value other than IMAP_OK ( 4334) generally indicates that the IMAP4 account does not have permissions required to create ( 267) new mailboxes on the server. Use LastCmdResult ( 2367) to access the protocol response and determine the exact reason for the failure. Use DeleteMailbox ( 1164), ExpungeMailbox ( 1168), ExamineMailbox ( maintenance for a mailbox on the remote IMAP4 server.

1167), or StatusMailbox (

1208) to perform

See Also Username ( 1248) Password ( 1247) ConnectionState ( 1244) EIdConnectionStateError ( 70) SendCmd ( LastCmdResult ( 2367) DeleteMailbox ( 1164) ExpungeMailbox ( 1168) ExamineMailbox ( 1167) StatusMailbox ( MailboxSeperator

1206) 1208)

TIdIMAP4.DeleteMailBox Method Removes the specified mailbox on the IMAP4 server. Pascal function DeleteMailBox( const AMBName: String ): Boolean; Parameters Parameters

Description

AMBName

Mailbox name to be removed for the current account.

Returns Boolean - True on success, or False when a protocol error has occurred. Description DeleteMailBox is a Boolean function used to permanently remove the mailbox specified in AMBName from the IMAP4 server. Attempting to remove the "INBOX" mailbox, or a mailbox name that does not exist, will result in an error response from the server. DeleteMailBox requires that the value of ConnectionState ( EIdConnectionStateError ( 70) exception will be raised.

1244) contain either csAuthenticated or csSelected, or an

DeleteMailBox calls SendCmd ( 1206) using the IMAP DELETE Command, and sets the return value to True when the server response contains the value IMAP_OK ( 4334). Please note that IMAP servers are required to have an "Inbox" or "INBOX" folder to allow them to receive email for a given user. This may or may not be case-sensitive. Your implementation may require you to create ( 267) an Inbox folder if it does not already exist. Because of this requirement, you may not be able to delete a mailbox named Inbox, and if it succeeded, such a deletion may cause unexpected results. In additional, use caustion when choosing the characters included in mailbox names. Different IMAP servers may allow, and may interpret differently, various characters, as allowed within the IMAP specification. Characters such as ~/ and . may have special meaning in the IMAP servers context, and may produce unexpected results. In practice, some IMAP servers may be case-sensitive and others not. It is recommended that you only use the characters A-Z and 0-9 and that you program to allow for case sensitivity or insensitivity, as applicable. Please note that, in general, IdIMAP4 adds double-quotes around mailbox names, which allows the use 1164

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

of spaces in mailbox names. Some IMAP servers may not allow spaces (this functionality is necessary to allow IdIMAP4 to deal with pre-existing mailboxes that include spaces). Use CreateMailBox (

1163) to create (

267) a new mailbox.

See Also ConnectionState (

1244) EIdConnectionStateError (

70)

TIdIMAP4.DeleteMsgs Method Marks the specified messages for subsequent deletion when a mailbox is purged. Pascal function DeleteMsgs( const AMsgNumList: array of Integer ): Boolean; Parameters Parameters

Description

AMsgNumList

Array of messge numbers to mark for deletion.

Returns Boolean - True on success. Description DeleteMsgs is a Boolean function used to mark the specified messages in AMsgNumList for subsequent deletion when the mailbox is purged. DeleteMsgs calls StoreFlags ( 1209) to add the message flag value mfDeleted to the flags stored for the associated message on the IMAP4 server. A mailbox must be selected using the SelectMailBox ( storing the message flags on the IMAP4 server.

1205) method prior to calling DeleteMsgs, or an exception is raised when

Use UIDDeleteMsgs (

1213) to mark a list of messages for deletion using their unique identifiers.

Use ExpungeMailBox (

1168) to remove messages marked for deletion in the specified mailbox.

See Also StoreFlags (

1209) MailBox (

1245)

TIdIMAP4.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy calls the Disconnect (

1166) method if the session is still Connected (

Destroy frees and releases resources allocated to the MailBox ( the component.

2353).

1245) and LineStruct properties allocated during initialization of

Destroy calls the inherited destructor prior to exiting from the method. See Also Disconnect (

1166) Connected (

Internet Direct (Indy) Version 10.1.5

2353) MailBox (

1245)

1165

TIdIMAP4 Class

Classes

TIdIMAP4.Disconnect Method Overload List Method

Description

TIdIMAP4.Disconnect () ( TIdIMAP4.Disconnect Boolean) ( 1166)

1166)

Closes an IMAP4 session and connection.

(Boolean, Closes an IMAP4 session and connection.

TIdIMAP4.Disconnect Method () Closes an IMAP4 session and connection. Pascal procedure Disconnect; overload; Description Disconnect is an overloaded procedure in TIdIMAP4 (

1150) that closes an IMAP4 session and connection.

Disconnect normally requires that the session still be Connected ( 2353) in order to send the LOGOUT command. Calling Disconnect with no arguments causes the session to be closed without notifying the peer connection and without raising an exception if the connection is already closed. Disconnect sets ConnectionState (

1244) to the value csNonAuthenticated.

Please note that the contents of the Capabilities (

690) property are cleared in Disconnect.

Disconnect is automatically called by the destructor when Connected (

2353) contains True.

See Also Connect (

1161) EIdNotConnected (

125) ConnectionState (

1244) Destroy (

1165) SendCmd (

1206)

TIdIMAP4.Disconnect Method (Boolean, Boolean) Closes an IMAP4 session and connection. Pascal procedure Disconnect( AImmediate: Boolean; const ARaiseExceptionIfNotCon: Boolean ); overload; reintroduce; Parameters Parameters

Description

AImmediate ARaiseExceptionIfNotCon

Description Disconnect is an overloaded procedure in TIdIMAP4 (

1150) that closes an IMAP4 session and connection.

Disconnect requires that the session still be Connected ( 2353) in order to send the LOGOUT command. If Connected ( 2353) is False, an EIdNotConnected ( 125) exception will be raised. This behavior is suppressed if the value in ARaiseExceptionIfNotCon is False. Disconnect calls the SendCmd ( 1206) method using the IMAP LOGOUT command prior to calling the inherited Disconnect method and setting ConnectionState ( 1244) to the value csNonAuthenticated. Please note that the contents of the Capabilities ( 690) property are cleared in Disconnect. Disconnect is automatically called by the destructor when Connected (

2353) contains True.

Calling Disconnect with no arguments causes the session to be closed without notifying the peer connection and without raising an exception if the connection is already closed. 1166

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

See Also Connect (

1161) EIdNotConnected (

125) ConnectionState (

1244) Destroy (

1165) SendCmd (

1206)

TIdIMAP4.DoAlert Method Triggers the OnAlert (

1249) event handler.

Pascal procedure DoAlert( const AMsg: String ); Parameters Parameters

Description

AMsg

Message for the OnAlert (

1249) event handler.

Description DoAlert is a public method used to trigger the OnAlert (

1249) event handler using the value specified in AMsg.

DoAlert is a procedure that implements event notification for alert messages in an IMAP4 response. Alert messages can occur in results from an IMAP4 command that selects the current mailbox, or appends a new message to a mailbox. TIdAlertEvent ( 3004) event are generated when the alert is parsed from the results from the command. DoAlert signals the OnAlert ( 1249) event handler for the current IMAP4 client instance using the value in AMsg for the alert message. Applications must assign a procedure to the OnAlert ( 1249) event handler to allow responding to the event notification. Please note that IMAP servers rarely implement alerts. See Also OnAlert (

1249) SelectMailBox (

1205) ExamineMailBox (

1167) AppendMsg (

1156) TIdAlertEvent (

3004)

TIdIMAP4.ExamineMailBox Method Selects a mailbox for read-only access. Pascal function ExamineMailBox( const AMBName: String; AMB: TIdMailBox ): Boolean; Parameters Parameters

Description

AMBName

Mailbox name to use accessed on the IMAP4 server.

AMB

Mailbox to be filled with the retrieved message values.

Returns Boolean - True on success. Description ExamineMailBox is a Boolean function in TIdIMAP4 ( 1150) used to select the mailbox specified in AMBName for read-only access. Messages and Flags are retrieved from the mailbox and stored in the TIdMailBox ( 1481) instance specified in AMB. ExamineMailBox returns the same output as SelectMailBox ( 1205), except for the read-only attribute applied to the mailbox, flags, and messages. ExamineMailBox requires that the value of ConnectionState ( EIdConnectionStateError ( 70) exception will be raised.

1244) contain either csAuthenticated or csSelected, or an

ExamineMailBox calls SendCmd ( 1206) using the IMAP EXAMINE command. When the numeric code in LastCmdResult ( 2367) contains wsOk ( 4546), the text values in LastCmdResult ( 2367) are parsed to populate the TIdMailBox ( 1481) instance specified AMB. Internet Direct (Indy) Version 10.1.5

1167

TIdIMAP4 Class

Classes

Please note that IMAP servers are required to have an "Inbox" folder to allow them to receive email for a given user. This may or may not be case-sensitive. Your implementation may require you to create ( 267) an Inbox folder if it does not already exist. Use caustion when choosing the characters used in mailbox names. Different IMAP servers may allow, and interpret differently, various characters, which is allowed within the IMAP specification. Characters such as ~ / and . may have special meaning in the IMAP servers context, and may produce unexpected results. In practice, some IMAP servers may be case-sensitive and others not. It is recommended that you only use the characters A-Z and 0-9 and that you program to allow for case sensitivity or insensitivity, as applicable. Note that, in general, IdIMAP4 adds double-quotes around mailbox names, which allows the use of spaces in mailbox names, but also note that a perticular IMAP server may not allow spaces (this functionality is necessary to allow IdIMAP4 deal with pre-existing mailboxes that include spaces). ExamineMailBox returns True on successful completion of the method, or false when the response code is not IMAP_OK ( or an exception occurs.

4334)

See Also SelectMailBox (

1205) ConnectionState (

1244) TIdMailBox (

1481)

TIdIMAP4.ExpungeMailBox Method Removes messages marked for deletion in the currently selected mailbox. Pascal function ExpungeMailBox: Boolean; Returns Boolean - True on success. Description ExpungeMailBox is a Boolean function that permanently removes messages marked for deletion in the currently selected mailbox. Messages marked for deletion contain the Deleted flag. ExpungeMailBox requires that ConnectionState ( exception will be raised.

1244) contain the value csSelected, or an EIdConnectionStateError (

70)

ExpungeMailBox calls the SendCmd ( 1206) method using the IMAP EXPUNGE command, and on successful completion calls the ParseExpungeResult method for the selected mailbox. Please note that ExpungeMailBox does not affect the current list of messages stored in the MailBox ( 1245) property; the application is responsible for synchronizing the local and remote storage for the mailbox. ExpungeMailBox sets the return value to True when the IMAP4 protocol response contains the value IMAP_OK ( Use DeleteMsgs (

1165), or UIDDeleteMsgs (

4334).

1213) to mark messages for deletion.

See Also ConnectionState (

1244) EIdConnectionStateError (

70) TIdMailBox (

1481)

TIdIMAP4.FindHowServerCreatesFolders Method Determine the method used to create (

267) folders on the remote IMAP4 server.

Pascal function FindHowServerCreatesFolders: TIdIMAP4FolderTreatment; Returns TIdIMAP4FolderTreatment (

2957)

Description FindHowServerCreatesFolders is a TIdIMAP4FolderTreatment ( 2957) function used to determine the method used to create ( 267) folders on the remote IMAP4 server. FindHowServerCreatesFolders examines and probes the mailbox hierarchy for the current IMAP4 account to derive the return value for the method. 1168

Internet Direct (Indy) Version 10.1.5

Classes TIdIMAP4FolderTreatment (

TIdIMAP4 Class 2957) includes the following values and associated meanings:

Value Meaning ---- -----ftAllowsTopLevelCreation Folders can be created at the same level as Inbox (the top level) ftFoldersMustBeUnderInbox Folders must be created under INBOX, such as INBOX.Sent ftDoesNotAllowFolderCreation Won't allow you create ( connection)

267) folders at the top level or under Inbox (may be read-only

ftCannotTestBecauseHasNoInbox Won't allow top-level folder creation but cannot test creation under Inbox because it does not exist ftCannotRetrieveAnyFolders No folders present for that user, cannot be determined FindHowServerCreatesFolders attempts to get any existing mailbox names for the current account using ListMailBoxes ( no mailboxes are found, the value ftCannotRetrieveAnyFolders is returned. When an "Inbox" or "INBOX" mailbox is found, FindHowServerCreatesFolders will try to create ( inferior mailboxes. Temporary mailboxes are deleted prior to exiting from the method.

1173). If

267) temprary top-level and

If the an Inbox cannot be located, the value ftCannotTestBecauseHasNoInbox is returned. If neither top-level or inferior mailboxes are allowed, the value ftDoesNotAllowFolderCreation is returned.

TIdIMAP4.GetInternalResponse Method Reads mutiple untagged responses or a single tagged response from the server. Pascal function GetInternalResponse( const ATag: String; AExpectedResponses: array of String; ASingleLineMode: Boolean; ASingleLineMayBeSplit: Boolean = False ): string; overload; reintroduce; Parameters Parameters

Description

ATag

Command tag expecetd in the IMAP4 response.

AExpectedResponses

Success values for the current response.

ASingleLineMode

Caller wants only the first line of the server response.

ASingleLineMayBeSplit

The first line may contain values split among one or more lines. Default value is False.

Returns String - Text from the server response. Description GetInternalResponse is a procedure that implements reading of tagged and untagged IMAP4 responses from the remote IMAP4 server. GetInternalResponse is called from the implementation of the GetResponse ( 1170) method. GetInternalResponse creates and maintains a TStringList that is used to capture the response line(s) from the IMAP4 server using ReadLnWait ( 1174). GetInternalLineResponse will read multiple untagged responses until the tagged response in ATag is encountered, or a single tagged response line having the value in ATag. ASingleLineMode indicates if the caller wants only the first line in the IMAP4 response. For instance, the caller may be looking only for "* FETCH (blah blah)", because he needs to parse that line to figure out how the rest will follow. This arises with a number of the FETCH commands where the caller needs to get the byte-count from the first line before he can retrieve ( 1176) the rest of the response. Note "FETCH" would have to be in AExpectedResponses. Internet Direct (Indy) Version 10.1.5

1169

TIdIMAP4 Class

Classes

When ASingleLineMode contains False, the caller wants everything up to and including the reply terminator (e.g. "C45 OK ( Completed").

4359)

In ASingleLineMode, we ignore any lines that dont have one of AExpectedResponses at the start, otherwise we add all lines to .Text and later strip out any lines that dont have one of AExpectedResponses at the start. ASingleLineMayBeSplit (which should only be used with ASingleLineMode = True) deals with the (unusual) case where the server cannot or does not fit a single-line response onto one line. This arises when FETCHing the BODYSTRUCTURE, which can be very long. The server (Courier, anyway) signals it by adding a byte-count to the end of the first line, that would not normally be present. For example, for normal short responses, the server would send:

• FETCH (BODYSTRUCTURE (Part1 Part2)) but if it splits it, it sends:

• FETCH (BODYSTRUCTURE (Part1 {16} Part2)) The number in the chain brackets {16} seems to be random. WARNING: If you use ASingleLineMayBeSplit on a line that is EXPECTED to end with a byte-count, the code will break, so don't use it unless absolutely necessary. GetInternalResponse handles server response lines that include the "BYE" command that indicates pending disconnection from the server. If the value "BYE" is not included in AExpectedResponses, the disconnection is not expected and causes the value in ConnectionState ( 1244) to be set to csUnexpectedlyDisconnected. An EIdDisconnectedProbablyIdledOut ( 73) is raised in this circumstance. GetInternalResponse calls LastCmdResult.ParseResponse using the command tag in ATag and the TStringList containing response lines to prepare the response for use in the IMAP4 client. GetInternalResponse frees the TStringList prior to exiting from the method. See Also GetResponse (

1170) TIdRFCReply

TIdIMAP4.GetResponse Method Retrieves and checks a multiple line IMAP4 server response. Pascal function GetResponse: string; overload; reintroduce; Returns String - The initial word from the server response. Description GetResponse is a reintroduced string function in TIdIMAP4 ( 1150) that implements retrieval and processing of IMAP4 server responses. GetResponse is used to read and accumulate response lines from the remote IMAP4 server until a line that has a valid response that terminates the response. GetResponse handles server response that include the following:

• Simple tagged responses C41 OK Completed

• Untagged responses followed by a tagged response: * LIST (UnMarked) "/" INBOX * LIST (UnMarked) "/" Junk 1170

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

* LIST (UnMarked) "/" Junk/Subbox1 C42 OK Completed

• Untagged success or failure reponses: * OK CommuniGate Pro IMAP Server 3.5.7 ready

• Untagged message literals: + Send the additional command text

• Completion responses: OK - search completed NO - search error: can't search that [CHARSET] or criteria BAD - command unknown or arguments invalid Because you may get data first, which you need to skip, you need to accept all the above possibilities. We MUST stop when we find a valid response code, like OK ( GetResponse sets the formatted reply in LastCmdResult ( from the server.

4359). 2367) using the initial tagged or completion response accumulated

See Also GetInternalResponse (

1169) LastCmdResult (

2367)

TIdIMAP4.GetUID Method Retrieves the unique identifier for a given relative message number. Pascal function GetUID( const AMsgNum: Integer; var AUID: string ): Boolean; Parameters Parameters

Description

AMsgNum

Message number (relative)

AUID

destination for the retrieved UID

Returns Boolean - True on success. Description GetUID is a Bollean function used to retrieve ( 1176) the UID (unique identifier) for a specified relative message number. GetUID allows the user to switch from relative message numbers to UIDs. Please note that TIdIMAP4 ( 1150) stores the UID as a string rather than a number (it is defined as a number in the RFCs) for historical reasons but is simply converted to a number via StrToInt should you wish to do so. Storing it as a string rather than a number is of no practical consequence or disadvantage, and changing it in TIdIMAP4 ( 1150) would only break existing code. The IMAP protocol uses two methods for message numbering: "relative" message numbers and UIDs. "Relative" message numbers are sequential numbers starting from 1 for each message in a mailbox - this is just the index number of the message in the TIdMailBox ( 1481) plus 1 (the first index is 0 in TIdMailBox ( 1481) and 1 on the IMAP server). UIDs are unique numbers assigned by the IMAP server, which rarely, if ever, change. While they can theoretically be changed as per the IMAP protocol, they certainly should not change during the period you have a mailbox open. While you may be able to get away with using the relative message number, you will get into difficulties if two sessions are accessing the same mailbox, and one of them deletes a message the relative message for the other session will then be incorrect. As an example, this can arise where a manager and his/her secretary are accessing the manager's mailbox. Even if you are using UIDs, this also gives the problem that the second session Internet Direct (Indy) Version 10.1.5

1171

TIdIMAP4 Class

Classes

may also try to modify the deleted message, but the solution is to always call the UIDRetrieveFlags ( to modify the message - it will return False if the message has been deleted.

1217) function before you try

IMAP implements a mechanism for checking if UIDs are valid over long periods. This can be useful in certain circumstances where you may need to keep track of a message between sessions or over long periods, such as weeks. A possible application that would do this is one that monitors a particular mailbox, such as sales leads, to ensure that someone reads them, and if they do not after say a week, emails an administrator to assign someone to read them. In that case, you don't want to create ( 267) a high load on the IMAP server by continually scanning through the mailbox. While there are different methods of doing this, one way is to periodically call UIDCheckMsgSeen ( 1211) or UIDRetrieveFlags ( 1217) for the given UID. The only potential problem you have is the unlikely/infrequent possibility of some other program re-ordering the mailbox, which will make your UIDs invalid. The return value for the method indicates if the UID was successfully retrieved for the specified relative message number. GetUID validates the value in AMsgNum to ensure that it contains a positive non-zero value. An EIdNumberInvalid ( exception is raised when the relative message number contains an invalid value.

126)

GetUID requires that ConnectionState ( 1244) contain the value csSelected, indicating that a mailbox has been previously selected using SelectMailBox ( 1205), or an EIdConnectionStateError ( 70) exception is raised. GetUID calls SendCmd ( 1206) to send the IMAP4 FETCH command using the values in AMsgNum and the fetch data item for the UID value. Some servers return NO if the requested message number is not present (e.g. Cyrus), others return OK ( 4359) but no data (CommuniGate). If the server response contains the value IMAP_OK ( 4334), the values in LastCmdResult ( 2367) are parsed to determine the UID value. To check if your UIDs have changed, use StatusMailBox ( 1208) command and check for changes to the UIDValidity field - the IMAP protocol guarantees that the server will change this value if it changes the UIDs of any existing messages.

TIdIMAP4.InternalRetrieveStructure Method Retrieves the body structure for a specified message. Pascal function InternalRetrieveStructure( const AMsgNum: Integer; AMsg: TIdMessage; AParts: TIdImapMessageParts ): Boolean; Parameters Parameters

Description

AMsgNum

Relative message number for the requested message.

AMsg

Message instance to store FETCH results from the server.

AParts

Message parts that represent the body structure for the message.

Returns Boolean - True on success. Description InternalRetrieveStructure is a Boolean function used to implement retrieving the body structure for the relative message number specified in AMsgNum. InternalRetrieveStructure is used in the implementation of the RetrieveStructure ( 1200) method. AMsg is the TIdMessage (

1521) instance to use for retrieving the contents of the specified message.

AParts is a TIdImapMessageParts ( response from the IMAP4 server.

1270) instance used to store the message parts that represent the BODYSTRUCTURE

InternalRetrieveStructure requires ConnectionState ( 1244) to contain the value csSelected, indicating a mailbox has been previously selected using SelectMailBox ( 1205), or an EIdConnectionStateError ( 70) exception is raised. InternalRetrieveStructure uses SendCmd ( 1206) to send the IMAP4 FETCH command with the specified message number and the BODYSTRUCTURE argument. When a successful FETCH response is received, values in LastCmdResult ( 2367) are parsed to store message parts that represent the body structure in AParts. The return value for the method is True if the body structure for the specified message number is successfully retrieved using the 1172

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

method.

TIdIMAP4.KeepAlive Method Prevents loss of a IMAP server connection due to a timeout. Pascal procedure KeepAlive; Description KeepAlive is a Procedure used to prevents loss of the IMAP server connection due to a timeout condition by sending the IMAP4 NOOP command using the SendCmd ( 1206) method. Calling KeepAlive is allowed regardless of the value in the ConnectionState ( 1244) property. Please note that the IMAP protocol states that if an IMAP server implements an autologout function, it must be of at least 30 minutes duration. To avoid being logged out, add a timer component to your form that calls the KeepAlive function every 25 minutes, but make sure you don't call KeepAlive while another IMAP function is awaiting a response, or it may mistakenly think the KeepAlive response is its response. In practice, some IMAP servers may not implement the correct autologout duration. Also note that a dial-up connection can be disconnected after a set period of inactivity, which you may mistake for a server disconnection. If the Borland IDE debugger is active, the protocol stack sending back lower-level "keep alive" ACK packets may still result in server disconnection - if you are getting disconnected unexpectedly, try your program outside the debugger to see if the problem persists.

TIdIMAP4.ListInferiorMailBoxes Method Pascal function ListInferiorMailBoxes( AMailBoxList: TIdStringList; AInferiorMailBoxList: TIdStringList ): Boolean; Parameters Parameters

Description

AMailBoxList

Type is TIdStringList (

3088).

AInferiorMailBoxList

Type is TIdStringList (

3088).

Returns Boolean Description ListInferiorMailBoxes is a method. ListInferiorMailBoxes returns a Boolean value.

TIdIMAP4.ListMailBoxes Method Pascal function ListMailBoxes( AMailBoxList: TIdStringList ): Boolean; Parameters Parameters

Description

AMailBoxList

Type is TIdStringList (

3088).

Returns Boolean

Internet Direct (Indy) Version 10.1.5

1173

TIdIMAP4 Class

Classes

Description ListMailBoxes is a method. ListMailBoxes returns a Boolean value.

TIdIMAP4.ListSubscribedMailBoxes Method Pascal function ListSubscribedMailBoxes( AMailBoxList: TIdStringList ): Boolean; Parameters Parameters

Description

AMailBoxList

Type is TIdStringList (

3088).

Returns Boolean Description ListSubscribedMailBoxes is a method. ListSubscribedMailBoxes returns a Boolean value.

TIdIMAP4.Login Method Attempts to login ajnd perform authentication on the IMAP4 server. Pascal procedure Login; virtual; Description Login is a virtual procedure in TIdIMAP4 ( 1150) used to perform authentication for the IMAP4 account. Login allows the IMAP4 session to switching users that are on the same server without having to disconnect ( 1166) from the server. For connections that support TLS (Transport Layer Security) and contain an explicit TLS value in UseTLS ( command is used to perform TLS handshaking and negotiation.

1249), the STARTTLS

For non-TLS transports, the value in the AuthType ( 1244) property indicates if the Username ( 1248) and Password ( 1247) properties are used for authentication, or if the SASLMechaisms and Capabilities ( 690) propeties are used for authentication. Login updates the value in ConnectionState (

1244) to reflect the current status of the authentication process.

If an exception occurs in the Login method, the connection is closed by calling the Disconnect ( Login is called in the Connect (

1166) method prior to exit.

1161) method when arguments to the method indicate automatic logins should be performed.

See Also Connect ( 1161) ConnectionState ( 1248) Capabilities ( 690)

1244) UseTLS (

1249) AuthType (

1244) Disconnect (

1166) SASLMechanisms (

TIdIMAP4.ReadLnWait Method Pauses until a line of text is read from the connection. Pascal function ReadLnWait: string; Returns String - Text read from the connection. 1174

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Description ReadLnWait is a String function used to pause until a line of text is read from the connection. ReadLnWait uses the ReadLnWait method in the IOHandler ( 2364) assigned for the client to read the line of text. Please note that an exception can be raised if the ReadTimeout ( from the client connection.

2349) value for the client elapses prior to returning a line of text

The return value for the method is the line of text (without the line end characters) read from the connection. ReadLnWait is used internally in the implementation of many IMAP4 methods that access line-oriented values (like server responses). See Also IOHandler (

2364) TIdIOHandler.ReadLnWait (

1307)

TIdIMAP4.RenameMailBox Method Renames a specified mailbox on the IMAP4 server. Pascal function RenameMailBox( const AOldMBName: String; const ANewMBName: String ): Boolean; Parameters Parameters

Description

AOldMBName

Mailbox name to be changed .

ANewMBName

New name for the mailbox.

Returns Boolean - True on success. Description RenameMailBox is a Boolean function used to rename the mailbox specified in AOldMBName to the value specified in ANewMBName on the remote IMAP4 server. RenameMailBox will receive a protocol error if a mailbox with the name specified in AOldMBName does not exist, or when a mailbox with the name specified in ANewMBName already exists for the IMAP4 account. Renaming the "INBOX" mailbox is permitted in the IMAP4 RFC, and has special behaviour. It moves all messages in INBOX to a new mailbox with the given name, leaving INBOX empty. If the server implementation supports inferior hierarchical names of INBOX, these are unaffected by a rename of INBOX. Note that the behaviour on IMAP4 servers for renaming INBOX seems to be varied in practice, and consequently renaming of the INBOX is not encouraged. RenameMailBox requires that the value of ConnectionState ( EIdConnectionStateError ( 70) exception will be raised.

1244) contain either csAuthenticated or csSelected, or an

RenameMailBox calls SendCmd ( 1206) using the IMAP4 RENAME command to alter the mailbox name. RenameMailBox sets the return value to True when the server response contains the value IMAP_OK ( 4334). Please note that IMAP4 servers are required to have an "Inbox" folder to allow them to receive email for a given user. This may or may not be case-sensitive. Your implementation may require you to create ( 267) an Inbox folder if it does not already exist. WARNING: Be careful with the characters you use for mailbox names. Different IMAP servers may allow, and interpret differently, various characters, which is allowed within the IMAP specification. Characters such as ~ / and . may have special meaning in the IMAP4 servers context, and may produce unexpected results. In practice, some IMAP servers may be case-sensitive and others not. It is recommended that you only use the characters A-Z and 0-9 and that you program to allow for case sensitivity or insensitivity, as applicable. Also note that, in general, IdIMAP4 adds double-quotes around mailbox names, which allows the use of spaces in mailbox names, but also note that a particular IMAP4 server may not allow spaces (this functionality is necessary to allow IdIMAP4 deal with pre-existing mailboxes that include spaces).

Internet Direct (Indy) Version 10.1.5

1175

TIdIMAP4 Class

Classes

See Also ConnectionState (

1244) EIdConnectionStateError (

70)

TIdIMAP4.Retrieve Method Retrieves a message from a mailbox and marks it as read on the server. Pascal function Retrieve( const AMsgNum: Integer; AMsg: TIdMessage ): Boolean; Parameters Parameters

Description

AMsgNum

Message number to retreive from the mailbox.

AMsg

Stores the retrieved message headers, body, and attachments.

Returns Boolean - True on success. Description Retrieve is a Boolean function that retrieves the entire contents for a message from a mailbox and marks it as read on the remote IMAP4 server. Retrieve requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Retrieve calls a protected method that sends the IMAP4 FETCH command for the message number specified in AMsgNum. Retrieve performs validation for the relative message number to ensure that it contains a positive non-zero value. An EIdNumberInvalid ( 126) exception can be raised if the relative message number in aMsgNum is invalid. On successful retrieval of the RFC 822 envelope data, Retrieve calls ReceiveHeader and ReceiveBody to load the message contents into the TIdMessage ( 1521) instance specified by AMsg. All headers, message parts, and the body of the message instance are cleared prior to storing values retrieved from the remote IMAP4 server. The value of the UID and Flags properties for the message in AMsg are updated based on the values found in the IMAP4 server response. See Also ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) EIdConnectionStateError ( 70) TIdMessage ( 1521) TIdMessage.Headers ( 1546) TIdMessage.Body ( 1538) TIdMessage.MessageParts ( 1548) TIdMessage.UID ( 1553) TIdMessage.Flags ( 1545)

TIdIMAP4.RetrieveAllEnvelopes Method Retrieves RFC-822 envelope data for messages in a mailbox. Pascal function RetrieveAllEnvelopes( AMsgList: TIdMessageCollection ): Boolean; Parameters Parameters

Description

AMsgList

Collection of message instances for storing message envelope data.

Returns Boolean - True on success, False on exception or protocol error. Description RetrieveAllEnvelopes is a Boolean function used to retrieve ( selected IMAP4 mailbox by their message number. 1176

1176) IMAP4 envelope data for all messages in the currently

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

IMAP4 envelope information consists of data items that describe the envelope structure of a message and is computed by parsing RFC-822 message headers from individual messages in the IMAP4 mailbox. Fields in the envelope structure are in the following order: date, subject, from, sender, reply-to, to, cc, bcc, in-reply-to, and message-id. Any member in an envelope structure that is not applicable is presented as an empty value. Please note that the IMAP4 server sends a default value for the reply-to and sender fields using the from field; a client is not expected to know how to do this. RetrieveAllEnvelopes requires that the ConnectionState ( 1244) property for the IMAP4 client contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised and the return value will be set to False. RetrieveAllEnvelopes implements the IMAP4 FETCH command using arguments that will result in all envelope data items for the messages in the selected mailbox. The multi-line response from the IMAP4 server is captured and parsed into TIdMessages instances in the AMsgList collection. Please note that existing items in AMsgList are assumed to be in relative message number order, and will overwrite message headers for the TIdMessage ( 1521) instances based on that assumption. When AMsgList is unassigned, or does not contain enough items for the envelopes in the mailbox, a new TIdMessage ( 1521) instance is created and added to the AMsgList collection. The return value for RetrieveAllEnvelopes will be True when the protocol response code from the IMAP4 server is IMAP_OK ( 4334), and the multi-line response is successfully parsed into the AMsgList collection. Use UIDLRetrieveAllEnvelopes to retrieve (

1176) envelope data for messages using their unique identifier(s).

See Also TIdMessage (

1521) TIdMessageCollection (

1561) UIDLRetrieveAllEnvelopes

TIdIMAP4.RetrieveAllHeaders Method Retrieves headers for all messages in a mailbox and populates the specified message collection. Pascal function RetrieveAllHeaders( AMsgList: TIdMessageCollection ): Boolean; Parameters Parameters

Description

AMsgList

Message collection to be populated.

Returns Boolean - True on success. Description RetrieveAllHeaders is a Boolean function that retrieves headers for all messages in the currently selected mailbox, and populates the message collection specified in AMsgList with message instances to store the header values. RetrieveAllHeaders requires that ConnectionState ( exception will be raised.

1244) contain the value csSelected, or an EIdConnectionStateError (

70)

When AMsgList is unassigned (Nil), RetrieveAllHeaders will set the return value to False and exit from the method. Otherwise, RetrieveAllHeaders will create ( 267) a new TIdMessageItem ( 1611) in AMsgList and call RetrieveHeader ( 1180) for each individual relative message number stored in the Mailbox property. If the headers for a given message cannot be loaded from the IMAP4 mailbox, the return value is set to False and additional messages are ignored. RetrieveAllHeaders will return True when all message headers have been retrieved from the mailbox. RetrieveAllHeaders is used in SelectMailBox ( 1205) to automatically retrieve ( RetrieveOnSelect ( 1247) contains the value rsHeaders.

1176) data from the selected mailbox when

RetrieveAllMsgs ( 1178) is used in SelectMailBox ( 1205) to fetch both message headers and message part contents in a message collection when RetrieveOnSelect ( 1247) contains the value rsMessages.

Internet Direct (Indy) Version 10.1.5

1177

TIdIMAP4 Class

Classes

See Also MailBox ( 1245) SelectMailBox ( 1205) ConnectionState ( 1244) EIdConnectionStateError ( 70) TIdMessageCollection ( 1561) TIdMessageItem ( 1611) TIdMessage ( 1521) RetrieveHeader ( 1180) RetrieveAllMsgs ( 1178)

TIdIMAP4.RetrieveAllMsgs Method Retrieves all messages in a mailbox and populates the specified message collection. Pascal function RetrieveAllMsgs( AMsgList: TIdMessageCollection ): Boolean; Parameters Parameters

Description

AMsgList

Message collection to be populated.

Returns Boolean - True on success. Description RetrieveAllMsgs is a Boolean function used to retrieve ( 1176) all messages in the currently selected mailbox, and populates the message collection specified in AMsgList with message instances. RetrieveAllMsgs is used in SelectMailBox ( 1205) to automatically retrieve ( RetrieveOnSelect ( 1247) contains the value rsMessages. RetrieveAllMsgs requires that ConnectionState ( exception will be raised.

1176) data from the selected mailbox when

1244) contain the value csSelected, or an EIdConnectionStateError (

70)

When AMsgList is unassigned (Nil), RetrieveAllHeaders ( 1177) will set the return value to False and exit from the method. Otherwise, RetrieveAllMsgs will create ( 267) a new message in the collection and call Retrieve ( 1176) for each individual realtive message number found in the current MailBox ( 1245) for the IMAP4 account. If the headers for a given message cannot be loaded from the IMAP4 mailbox, the return value is set to False and additional messages are ignored. RetrieveAllMsgs will return True when all messages have been retrieved from the mailbox. Use RetrieveAllHeaders (

1177) to fetch only message headers for the message collection.

See Also SelectMailBox ( TIdMessageItem (

1205) ConnectionState ( 1244) EIdConnectionStateError ( 1611) TIdMessage ( 1521) Retrieve ( 1176) RetrieveAllHeaders (

70) TIdMessageCollection ( 1177)

1561)

TIdIMAP4.RetrieveEnvelope Method Retrieves SMTP envelope information for a message in the mailbox. Pascal function RetrieveEnvelope( const AMsgNum: Integer; AMsg: TIdMessage ): Boolean; Parameters Parameters

Description

AMsgNum

Message number to retrieve (

AMsg

Message instance to store the return values.

1176) from the mailbox.

Returns Boolean - True on success.

1178

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Description RetrieveEnvelope is a Boolean function used to retrieve ( 1176) the SMTP envelope information for the relative message number specified in AMsgNum, and to store the information in the message identified by AMsg. RetrieveEnvelope validates the relative message number in aMsg to ensure that it contains a positive non-zero value. An EIdNumberInvalid ( 126) exception will be raised when the realtive message number is invalid. RetrieveEnvelope requires that ConnectionState ( 1244) contain the value csSelected, indicating a mailbox has been successfully selected and authenticated. RetrieveEnvelope can raise an EIdConnectionStateError ( 70) exception if a mailbox has not been selected and/or authenticated for the current user. RetrieveEnvelope calls SendCmd ( 1206) using the IMAP4 FETCH command and arguments constructed from the value in AMsgNum and the IMAP4 fetch data flags required for the operation. RetrieveEnvelope reads the multi-line response from the IMAP4 server, and verifies that the initial response matches the command issued using SendCmd ( 1206). When they are the same, RetrieveEnvelope extracts the SMTP headers from the response and parses the header values in the message specified in AMsg. Use RetrieveEnvelopeRaw (

1179) to retrieve (

1176) and store message envelope data into a specified TStrings argument.

Use UIDRetrieve ( 1214) or UIDRetrieveEnvelopeRaw ( message identified by its unique identifier (UID).

1217) to retrieve (

1176) and store message envelope data for a

See Also ConnectionState ( 1244) TIdMessage ( 1521) RetrieveEnvelopeRaw ( 1179) UIDRetrieveEnvelopeRaw ( 1217) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70)

UIDRetrieveEnvelope

(

1216)

TIdIMAP4.RetrieveEnvelopeRaw Method Pascal function RetrieveEnvelopeRaw( const AMsgNum: Integer; ADestList: TIdStringList ): Boolean; Parameters Parameters

Description

AMsgNum

Scope is const. Type is Integer.

ADestList

Type is TIdStringList (

3088).

Returns Boolean Description RetrieveEnvelopeRaw is a method. RetrieveEnvelopeRaw returns a Boolean value.

TIdIMAP4.RetrieveFlags Method Retrieves stored message flags for a message on the IMAP4 server. Pascal function RetrieveFlags( const AMsgNum: Integer; var AFlags: TIdMessageFlagsSet ): Boolean; Parameters Parameters

Description

AMsgNum

Message number containing flags to be retrieved.

AFlags

Storage for message flags in the specified message number.

Internet Direct (Indy) Version 10.1.5

1179

TIdIMAP4 Class

Classes

Returns Boolean - True on success. Description RetrieveFlags is a Boolean function used to retrieve ( 1176) stored message flags for the relative message number specified AMsgNum. Flags values retrieved from the current mailbox on the IMAP4 server are stored in the AFlags argument. RetrieveFlags validates the relative message number in AMsgNum to ensuire that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception when AMsgNum contains 0 (zero) or a negative number. RetrieveFlags requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select the current mailbox for the IMAP4 account propr to calling RetrieveFlags. RetrieveFlags sends the IMAP4 FETCH command to get the flag values for the specified message number. If a protocol response error occurs while retrieving the flag values, RetrieveFlags sets the return value to False and exits from the method. AFlags will contains an empty set in this condition. On successful completion, RetrieveFlags processes the untagged responses in IMPAP4 server response, and sets the return value to True. Message flags returned in the AFlags argument can be stored in the TIdMessage.Flags ( 1245). Use UIDRetrieveFlags ( Use StoreFlags (

1217) to retrieve (

1545) property for items in MailBox (

1176) message flags for a message using its unique identifier (UID).

1209) to update the stored message flags for a message in the mailbox on the remote IMAP4 server.

See Also ConnectionState ( 1244) MailBox ( 1245) StoreFlags ( EIdNumberInvalid ( 126) TIdMessage.Flags ( 1545)

1209) UIDRetrieveFlags (

1217) EIdConnectionStateError (

70)

TIdIMAP4.RetrieveHeader Method Retrieves headers for a specified message number and populates the message instance. Pascal function RetrieveHeader( const AMsgNum: Integer; AMsg: TIdMessage ): Boolean; Parameters Parameters

Description

AMsgNum

Message number to be retrieved from the mailbox.

AMsg

Message instance used to store retrieved header values.

Returns Boolean - True on success. Description RetrieveHeader is a Boolean function used to retrieve ( 1176) headers for the message number specified in AMsgNum, and populates the message instance specified in AMsg with the header values. RetrieveHeader validates the relative message number in AMsgNum to ensure that it contains a positive non-zero value, and raises and EIdNumberInvalid ( 126) exception if the condition is not met. RetrieveHeader requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select the current mailbox for the IMAP4 account prior to calling RetrieveHeader. RetrieveHeader sends the IMAP4 FETCH command for the specified message number to access the stored header values. 1180

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

RetrieveHeader ensures that the untagged server response contains an RFC 822 header before populating the header values in the specified message instance. Please note that any existing header values in AMsg are cleared prior to parsing and storing headers from the IMAP4 server response. RetrieveHeader sets the return value to True when the protocol response contains the value IMAP_OK ( RetrieveHeader is used in the implementation of the RetrieveAllHeaders ( ( 1205) when RetrieveOnSelect ( 1247) contains the value rsHeaders. Use UIDRetrieveHeader (

1218) to retrieve (

4334).

1177) method, which is in turn called by SelectMailBox

1176) message headers by a unique identifier (UID).

See Also ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) MailBox ( 1245) RetrieveAllHeaders ( UIDRetrieveHeader ( 1218) EIdConnectionStateError ( 70) EIdNumberInvalid ( 126) TIdMessage.Headers ( 1546)

1177)

TIdIMAP4.RetrieveMailBoxSize Method Indicates the size of all messages in the currently selected mailbox. Pascal function RetrieveMailBoxSize: Integer; Returns Integer - Bytes required to store all messages in the mailbox or -1 when an error occurs. Description RetrieveMailBoxSize is an Integer function that calculates the size of all messages in the currently selected mailbox. The calculated size for the mailbox includes all message parts (including attachments) currently stored on the remote IMAP4 server. RetrieveMailBoxSize requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select the current mailbox for the IMAP4 account prior to calling RetrieveMailBoxSize. RetrieveMailBoxSize calls SendCMd using the IMAP4 FETCH command to get the message size for each of the messages in the IMAP mailbox, and accumulates the total size as the return value for the method. The return value for RetrieveMailBoxSize is -1 if a protocol response error occurs in the method. Use RetreiveMsgSize or UIDRetreiveMsgSize to determine the size of a specific message stored in the currently selected mailbox for the IMAP4 account. See Also ConnectionState ( ( 4334)

1244) EIdConnectionStateError (

70) SendCmd (

1206) RetreiveMsgSize UIDRetreiveMsgSize IMAP_OK

TIdIMAP4.RetrieveMsgSize Method Indicates the size of a specified message in the currently selected mailbox. Pascal function RetrieveMsgSize( const AMsgNum: Integer ): Integer; Parameters Parameters

Description

AMsgNum

Message number to access in the mailbox.

Returns Integer - Bytes required to store the message in the mailbox or -1 when an error occurs.

Internet Direct (Indy) Version 10.1.5

1181

TIdIMAP4 Class

Classes

Description RetrieveMsgSize is an Integer function that calculates the size of the message specified by AMsgNum in the currently selected IMAP4 mailbox. RetrieveMsgSize validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrieveMsgSize requires that ConnectionState ( exception will be raised. Use SelectMailBox ( RetrieveMsgSize.

1244) contain the value csSelected, or an EIdConnectionStateError ( 70) 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling

RetrieveMsgSize calls SendCMd using the IMAP4 FETCH command to get the message size for the specified relative message number in the IMAP mailbox. The server response is examined for the message size when the server response contains the value IMAP_OK ( 4334), and sets the return value for the method. The return value for RetrieveMsgSize is -1 if a protocol error response occurs in the method. Use UIDRetrieveMsgSize (

1219) to retrieve (

1176) the size of a message using the unique identifier (UID) for the message.

Use RetrieveMailBoxSize ( IMAP4 account.

1181) to retrieve (

1176) the space required for all messages in the currently selected mailbox for the

See Also ConnectionState ( 1244) EIdConnectionStateError ( 1219) RetrieveMailBoxSize ( 1181)

70) EIdNumberInvalid (

126) SendCmd (

1206) UIDRetrieveMsgSize (

TIdIMAP4.RetrieveNoDecodeToFile Method Retrieves the raw encoded contents of a message and stores the contents in a file. Pascal function RetrieveNoDecodeToFile( const AMsgNum: Integer; ADestFile: string ): Boolean; Parameters Parameters

Description

AMsgNum

Relative message number to retrieve (

ADestFile

File name used to store the message contents.

1176).

Returns Boolean - True on success. Description RetrieveNoDecodeToFile is a Boolean function used to retrieve ( 1176) the raw encoded contents of the relative message number indicated in AMsgNum, and to store the message contents in the file indicated by ADestFile. RetrieveNoDecodeToFile can be used to access the contents of the message without creating object instances in the MessageParts collection. RetrieveNoDecodeToFile validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrieveNoDecodeToFile requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveNoDecodeToFile. RetrieveNoDecodeToFile creates a TIdMessage ( 1521) instance used to temporarily store the encoded contents of the specified message. The TIdMessage ( 1521) instance is freed after storing the message contents in the indicated file. RetrieveNoDecodeToFile returns True on successful completion of message retrieval. RetrieveNoDecodeToFile returns False if a protocol error response is received during retrieval of the specified message. 1182

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Use RetrieveNoDecodeToStream (

1183) to retrieve (

1176) a message without decoding, and to store the contents in a stream.

See Also ConnectionState ( 1244) RetrieveNoDecodeToStream ( TIdMessage.NoDecode ( 1549)

1183) EIdNumberInvalid (

126) EIdConnectionStateError (

70)

TIdIMAP4.RetrieveNoDecodeToStream Method Pascal function RetrieveNoDecodeToStream( const AMsgNum: Integer; AStream: TIdStream ): Boolean; Parameters Parameters

Description

AMsgNum

Scope is const. Type is Integer.

AStream

Type is TIdStream (

3087).

Returns Boolean Description RetrieveNoDecodeToStream is a method. RetrieveNoDecodeToStream returns a Boolean value.

TIdIMAP4.RetrievePart Method Overload List Method TIdIMAP4.RetrievePart Integer, PChar, Integer, string) (

Description (Integer, Retrieves an individual message part for a specified message stored in the remote 1183) mailbox.

TIdIMAP4.RetrievePart (Integer, Retrieves an individual message part for a specified message stored in the remote Integer, TIdBytes, Integer, string) ( 1184) mailbox. TIdIMAP4.RetrievePart (Integer, string, Retrieves an individual message part for a specified message stored in the remote PChar, Integer, string) ( 1185) mailbox. TIdIMAP4.RetrievePart (Integer, string, Retrieves an individual message part for a specified message stored in the remote TIdBytes, Integer, string) ( 1186) mailbox. TIdIMAP4.RetrievePart (Integer, string, TIdStream, string) ( 1187)

TIdIMAP4.RetrievePart Method (Integer, Integer, PChar, Integer, string) Retrieves an individual message part for a specified message stored in the remote mailbox. Pascal function RetrievePart( const AMsgNum: Integer; const APartNum: Integer; var ABuffer: PChar; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Relative message number to be retrieved from the mailbox.

Internet Direct (Indy) Version 10.1.5

1183

TIdIMAP4 Class

Classes

APartNum

Message part number to be retrieved.

ABuffer

Destination used to store the retrieved message part.

ABufferLength

Length of the message part.

AContentTransferEncoding

Content transfer encoding for the message part.

Returns Boolean - True on success. Description RetrievePart is an overloaded Boolean function used to retrieve ( number specified in aMsgNum.

1176) an individual message part for the relative message

Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. RetrievePart validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePart requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveNoDecodeToStream ( 1183). RetrievePart sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePart assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. AFter retrieval of the message part, ABuffer will contains the decoded message part content and ABufferLength will contain the length of the decoded message part. See Also RetrievePart RetrieveStructure (

1200)

RetrievePartPeek (

1189)

RetrievePartToFile (

1194)

RetrievePartToFilePeek (

1196)

TIdIMAP4.RetrievePart Method (Integer, Integer, TIdBytes, Integer, string) Retrieves an individual message part for a specified message stored in the remote mailbox. Pascal function RetrievePart( const AMsgNum: Integer; const APartNum: Integer; var ABuffer: TIdBytes; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Relative message number to be retrieved from the mailbox.

1184

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

APartNum

Message part number to be retrieved.

ABuffer

Destination used to store the retrieved message part.

ABufferLength

Length of the message part.

AContentTransferEncoding

Content transfer encoding for the message part.

Returns Boolean - True on success. Description RetrievePart is an overloaded Boolean function used to retrieve ( number specified in aMsgNum.

1176) an individual message part for the relative message

Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. RetrievePart validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePart requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveNoDecodeToStream ( 1183). RetrievePart sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePart assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. AFter retrieval of the message part, ABuffer will contains the decoded message part content and ABufferLength will contain the length of the decoded message part. See Also RetrievePart RetrieveStructure (

1200)

RetrievePartPeek (

1189)

RetrievePartToFile (

1194)

RetrievePartToFilePeek (

1196)

TIdIMAP4.RetrievePart Method (Integer, string, PChar, Integer, string) Retrieves an individual message part for a specified message stored in the remote mailbox. Pascal function RetrievePart( const AMsgNum: Integer; const APartNum: string; var ABuffer: PChar; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Relative message number to be retrieved from the mailbox.

Internet Direct (Indy) Version 10.1.5

1185

TIdIMAP4 Class

Classes

APartNum

Message part number to be retrieved.

ABuffer

Destination used to store the retrieved message part.

ABufferLength

Length of the message part.

AContentTransferEncoding

Content transfer encoding for the message part.

Returns Boolean - True on success. Description RetrievePart is an overloaded Boolean function used to retrieve ( number specified in aMsgNum.

1176) an individual message part for the relative message

Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. RetrievePart validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePart requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveNoDecodeToStream ( 1183). RetrievePart sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePart assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. AFter retrieval of the message part, ABuffer will contains the decoded message part content and ABufferLength will contain the length of the decoded message part. See Also RetrievePart RetrieveStructure (

1200)

RetrievePartPeek (

1189)

RetrievePartToFile (

1194)

RetrievePartToFilePeek (

1196)

TIdIMAP4.RetrievePart Method (Integer, string, TIdBytes, Integer, string) Retrieves an individual message part for a specified message stored in the remote mailbox. Pascal function RetrievePart( const AMsgNum: Integer; const APartNum: string; var ABuffer: TIdBytes; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Relative message number to be retrieved from the mailbox.

1186

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

APartNum

Message part number to be retrieved.

ABuffer

Destination used to store the retrieved message part.

ABufferLength

Length of the message part.

AContentTransferEncoding

Content transfer encoding for the message part.

Returns Boolean - True on success. Description RetrievePart is an overloaded Boolean function used to retrieve ( number specified in aMsgNum.

1176) an individual message part for the relative message

Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. RetrievePart validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePart requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveNoDecodeToStream ( 1183). RetrievePart sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePart assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. AFter retrieval of the message part, ABuffer will contains the decoded message part content and ABufferLength will contain the length of the decoded message part. See Also RetrievePart RetrieveStructure (

1200)

RetrievePartPeek (

1189)

RetrievePartToFile (

1194)

RetrievePartToFilePeek (

1196)

TIdIMAP4.RetrievePart Method (Integer, string, TIdStream, string) Pascal function RetrievePart( const AMsgNum: Integer; const APartNum: string; ADestStream: TIdStream; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Scope is const. Type is Integer.

APartNum

Scope is const. Type is string.

ADestStream

Type is TIdStream (

Internet Direct (Indy) Version 10.1.5

3087).

1187

TIdIMAP4 Class

Classes

AContentTransferEncoding

Type is string. Default value is 'tex.

Returns Boolean Description RetrievePart is a overloaded method. RetrievePart returns a Boolean value. See Also TIdIMAP4.RetrievePart

TIdIMAP4.RetrievePartHeader Method Retrieves RFC headers for a specified message and message part. Pascal function RetrievePartHeader( const AMsgNum: Integer; const APartNum: string; AHeaders: TIdHeaderList ): Boolean; Parameters Parameters

Description

AMsgNum

Relative message number for retrieved headers.

APartNum

Relative message part number for retrieved headers.

AHeaders

Header values retrieved from the message and message part.

Returns Boolean - True on Success. Description RetrievePartHeader is a Boolean function used to retrieve ( relative message number for the current mailbox.

1176) RFC-compliant headers for a specific message part using the

AMsgNum specifies the relative message number for the message as stored in the current mailbox on the remote IMAP4 server. APartNum indicates the relative message part number to be used for retrieval of RFC-compliant message headers. APartNum is the ordinal position of the message part as indicated by RetrieveStructure ( 1200). AHeaders is used to store the RFC-compliant message headers retrieved for the specified message and message part. RetrievePartHeader validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartHeader requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartHeader. RetrievePartHeader sends the IMAP4 FETCH command with the relative message number and data element requests needed to retrieve ( 1176) the message headers for a message part. The return value for the RetrievePartHeader method indicates if message headers were successfully retrieved using the specified message number and message part number. The return value will be False if a protocol error response (a value other than IMAP_OK ( 4334)) is received during processing in the method. Text returned in the IMAP4 server response is parsed to determine the size of the message headers for the specified message part. Instances of TIdTCPStream ( 2381) and TIdStreamVCL ( 2709) are created for internal use during retrieval and storage of the message headers in the server response. Use OnWorkForPart (

1188

1250) to respond to work events occurring during retrieval of the message part headers.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Use UIDRetrievePartHeader ( 1225) to retrieve ( identifier (UID) for the message. Use RetrieveStructure ( Use RetrievePart ( part.

1176) message headers for a specified message part using the unique

1200) to determine all of the message parts available in a message stored on the remote IMAP4 server.

1183) or UIDRetrievePart (

1221) to retrieve (

Use RetrievePartPeek ( 1189) or RetrievePartToFilePeek ( message flags for the message.

1176) the headers and the content for a specified message

1196) to retrieve (

1176) a message part without affecting the

See Also ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) RetrievePart ( 1183) RetrievePartPeek ( RetrievePartToFilePeek ( 1196) RetrieveStructure ( 1200) UIDRetrievePart ( 1221) UIDRetrievePartHeader ( OnWorkForPart ( 1250) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70)

1189) 1225)

TIdIMAP4.RetrievePartPeek Method Overload List Method

Description

TIdIMAP4.RetrievePartPeek (Integer, Retrieves a specified message part without affecting the flags stored for the message. Integer, PChar, Integer, string) ( 1189) TIdIMAP4.RetrievePartPeek (Integer, Retrieves a specified message part without affecting the flags stored for the message. Integer, TIdBytes, Integer, string) ( 1190) TIdIMAP4.RetrievePartPeek (Integer, Retrieves a specified message part without affecting the flags stored for the message. string, PChar, Integer, string) ( 1191) TIdIMAP4.RetrievePartPeek (Integer, Retrieves a specified message part without affecting the flags stored for the message. string, TIdBytes, Integer, string) ( 1193) TIdIMAP4.RetrievePartPeek (Integer, string, TIdStream, string) ( 1194)

TIdIMAP4.RetrievePartPeek Method (Integer, Integer, PChar, Integer, string) Retrieves a specified message part without affecting the flags stored for the message. Pascal function RetrievePartPeek( const AMsgNum: Integer; const APartNum: Integer; var ABuffer: PChar; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Relative message number for the message part.

APartNum

Relative part number for the message part.

ABuffer

Buffer for storing the retrieve (

ABufferLength

SIze of the buffer need to store the message part.

AContentTransferEncoding

Content transfer encoding applied to the stored message part.

1176) message part.

Returns Boolean - True on success. Description RetrievePartPeek is an overloaded Boolean function used to retrieve ( affecting the flags stored on the remote IMAP4 server for the message.

Internet Direct (Indy) Version 10.1.5

1176) a message part for a specific message without

1189

TIdIMAP4 Class

Classes

AMsgNum is the relative message number for the message stored in the current mailbox on the remote IMAP4 server. APartNum is the relative part number for the requested message part. Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart ( 1183) or RetrievePartPeek. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. RetrievePartPeek validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartPeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartPeek. RetrievePartPeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePartPeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contain the decoded message part content and ABufferLength will contain the length of the decoded message part. Please note that RetrievePartPeek does not affect the message flags stored for the message. Specifically, it allows accessing the message parts without setting the 'Seen' message flag that indicates the message has been read. Use RetrievePart (

1183) or UIDRetrievePart (

Use RetrievePartToFilePeek ( Use RetrievePeek ( message.

1221) to retrieve (

1176) (and mark as seen) a specific message part.

1196) to capture and store an unseen message part into a file on the local system.

1199) or UIDRetrievePeek (

1234) to perform similar processing for the entire contents of a specified

See Also RetrievePartPeek RetrievePart ( 1183) RetrieveStructure ( 1200) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70) ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) UIDRetrievePart ( 1221) RetrievePartToFilePeek ( 1196) RetrievePeek ( 1199) UIDRetrievePeek ( 1234) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250) TIdTCPStream ( 2381)

TIdIMAP4.RetrievePartPeek Method (Integer, Integer, TIdBytes, Integer, string) Retrieves a specified message part without affecting the flags stored for the message. Pascal function RetrievePartPeek( const AMsgNum: Integer; const APartNum: Integer; var ABuffer: TIdBytes; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Relative message number for the message part.

APartNum

Relative part number for the message part.

ABuffer

Buffer for storing the retrieve (

ABufferLength

SIze of the buffer need to store the message part.

1190

1176) message part.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

AContentTransferEncoding

Content transfer encoding applied to the stored message part.

Returns Boolean - True on success. Description RetrievePartPeek is an overloaded Boolean function used to retrieve ( affecting the flags stored on the remote IMAP4 server for the message.

1176) a message part for a specific message without

AMsgNum is the relative message number for the message stored in the current mailbox on the remote IMAP4 server. APartNum is the relative part number for the requested message part. Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart ( 1183) or RetrievePartPeek. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. RetrievePartPeek validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartPeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartPeek. RetrievePartPeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePartPeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contain the decoded message part content and ABufferLength will contain the length of the decoded message part. Please note that RetrievePartPeek does not affect the message flags stored for the message. Specifically, it allows accessing the message parts without setting the 'Seen' message flag that indicates the message has been read. Use RetrievePart (

1183) or UIDRetrievePart (

Use RetrievePartToFilePeek ( Use RetrievePeek ( message.

1221) to retrieve (

1176) (and mark as seen) a specific message part.

1196) to capture and store an unseen message part into a file on the local system.

1199) or UIDRetrievePeek (

1234) to perform similar processing for the entire contents of a specified

See Also RetrievePartPeek RetrievePart ( 1183) RetrieveStructure ( 1200) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70) ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) UIDRetrievePart ( 1221) RetrievePartToFilePeek ( 1196) RetrievePeek ( 1199) UIDRetrievePeek ( 1234) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250) TIdTCPStream ( 2381)

TIdIMAP4.RetrievePartPeek Method (Integer, string, PChar, Integer, string) Retrieves a specified message part without affecting the flags stored for the message. Pascal function RetrievePartPeek( const AMsgNum: Integer; const APartNum: string; var ABuffer: PChar; var ABufferLength: Integer; Internet Direct (Indy) Version 10.1.5

1191

TIdIMAP4 Class

Classes

AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Relative message number for the message part.

APartNum

Relative part number for the message part.

ABuffer

Buffer for storing the retrieve (

ABufferLength

SIze of the buffer need to store the message part.

AContentTransferEncoding

Content transfer encoding applied to the stored message part.

1176) message part.

Returns Boolean - True on success. Description RetrievePartPeek is an overloaded Boolean function used to retrieve ( affecting the flags stored on the remote IMAP4 server for the message.

1176) a message part for a specific message without

AMsgNum is the relative message number for the message stored in the current mailbox on the remote IMAP4 server. APartNum is the relative part number for the requested message part. Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart ( 1183) or RetrievePartPeek. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. RetrievePartPeek validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartPeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartPeek. RetrievePartPeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePartPeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contain the decoded message part content and ABufferLength will contain the length of the decoded message part. Please note that RetrievePartPeek does not affect the message flags stored for the message. Specifically, it allows accessing the message parts without setting the 'Seen' message flag that indicates the message has been read. Use RetrievePart (

1183) or UIDRetrievePart (

Use RetrievePartToFilePeek ( Use RetrievePeek ( message.

1221) to retrieve (

1176) (and mark as seen) a specific message part.

1196) to capture and store an unseen message part into a file on the local system.

1199) or UIDRetrievePeek (

1234) to perform similar processing for the entire contents of a specified

See Also RetrievePartPeek RetrievePart ( 1183) RetrieveStructure ( 1200) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70) ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) UIDRetrievePart ( 1221) RetrievePartToFilePeek ( 1196) RetrievePeek ( 1199) UIDRetrievePeek ( 1234) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250) TIdTCPStream ( 2381)

1192

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

TIdIMAP4.RetrievePartPeek Method (Integer, string, TIdBytes, Integer, string) Retrieves a specified message part without affecting the flags stored for the message. Pascal function RetrievePartPeek( const AMsgNum: Integer; const APartNum: string; var ABuffer: TIdBytes; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Relative message number for the message part.

APartNum

Relative part number for the message part.

ABuffer

Buffer for storing the retrieve (

ABufferLength

SIze of the buffer need to store the message part.

AContentTransferEncoding

Content transfer encoding applied to the stored message part.

1176) message part.

Returns Boolean - True on success. Description RetrievePartPeek is an overloaded Boolean function used to retrieve ( affecting the flags stored on the remote IMAP4 server for the message.

1176) a message part for a specific message without

AMsgNum is the relative message number for the message stored in the current mailbox on the remote IMAP4 server. APartNum is the relative part number for the requested message part. Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart ( 1183) or RetrievePartPeek. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. RetrievePartPeek validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartPeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartPeek. RetrievePartPeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePartPeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contain the decoded message part content and ABufferLength will contain the length of the decoded message part. Please note that RetrievePartPeek does not affect the message flags stored for the message. Specifically, it allows accessing the message parts without setting the 'Seen' message flag that indicates the message has been read. Use RetrievePart (

1183) or UIDRetrievePart (

Use RetrievePartToFilePeek (

1221) to retrieve (

1176) (and mark as seen) a specific message part.

1196) to capture and store an unseen message part into a file on the local system.

Internet Direct (Indy) Version 10.1.5

1193

TIdIMAP4 Class Use RetrievePeek ( message.

Classes 1199) or UIDRetrievePeek (

1234) to perform similar processing for the entire contents of a specified

See Also RetrievePartPeek RetrievePart ( 1183) RetrieveStructure ( 1200) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70) ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) UIDRetrievePart ( 1221) RetrievePartToFilePeek ( 1196) RetrievePeek ( 1199) UIDRetrievePeek ( 1234) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250) TIdTCPStream ( 2381)

TIdIMAP4.RetrievePartPeek Method (Integer, string, TIdStream, string) Pascal function RetrievePartPeek( const AMsgNum: Integer; const APartNum: string; ADestStream: TIdStream; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Scope is const. Type is Integer.

APartNum

Scope is const. Type is string.

ADestStream

Type is TIdStream (

AContentTransferEncoding

Type is string. Default value is 'tex.

3087).

Returns Boolean Description RetrievePartPeek is a overloaded method. RetrievePartPeek returns a Boolean value. See Also TIdIMAP4.RetrievePartPeek

TIdIMAP4.RetrievePartToFile Method Overload List Method

Description

TIdIMAP4.RetrievePartToFile (Integer, Retrieves and stores a message part for a message in the specified local file. Integer, Integer, string, string) ( 1194) TIdIMAP4.RetrievePartToFile (Integer, string, Integer, string, string) ( 1196)

TIdIMAP4.RetrievePartToFile Method (Integer, Integer, Integer, string, string) Retrieves and stores a message part for a message in the specified local file. Pascal function RetrievePartToFile( const AMsgNum: Integer; const APartNum: Integer; ALength: Integer; ADestFileNameAndPath: string; AContentTransferEncoding: string ): Boolean; overload;

1194

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Parameters Parameters

Description

AMsgNum

relative message number for the message.

APartNum

relative part number for the message part.

ALength

size of message part as indicated in the IMAP4 server response.

ADestFileNameAndPath

name of the file (including the optional path) used to store the contents of the message part.

AContentTransferEncoding

content transfer encoding expected for the specified message part.

Returns Boolean - True on success. Description RetrievePartToFile is a Boolean function used to retrieve ( 1176) a specific message part for the specified message, and to store the message parts contents in the specified local file name. AMsgNum is the relative message number for the message as stored in the currently selected mailbox on the remote IMAP4 server. APartNum is the relative part number for the message part in the structure for the message. ALength is the size of message part as indicated in the IMAP4 server response. ADestFileNameAndPath is the name of the file (including the optional path) used to store the contents of the message part. AContentTransferEncoding is the content transfer encoding expected for the specified message part. Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePartToFile. RetrievePartToFile validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartToFile validates the message part number in APartNum to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartToFile requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartToFile. RetrievePartToFile sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePartToFile assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. The return value for the method is True if the message part is successfully retrieved for the specified message. The return value for the method is False if a protocol error response is received (any value other than IMAP_OK ( 4334)) or the value in ADestFileNameAndPath is an empty string (''). Please note that the destination file specified in ADestFileNameAndPath will contain the decoded content for the message part after reversing the encoding algorithm specified in AContentTransferEncoding. Use RetrievePartToFilePeek ( 1196) or UIDRetrievePartToFilePeek ( affecting the stored message flags for the message.

1232) to retrieve (

Use RetrievePart ( 1183) or UIDRetrievePart ( flags for the message.

1176) a message part and to update the stored message

1221) to retrieve (

1176) a message part to a file without

See Also RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( 1189) RetrievePartToFilePeek ( 1196) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250)

Internet Direct (Indy) Version 10.1.5

1195

TIdIMAP4 Class

Classes

TIdIMAP4.RetrievePartToFile Method (Integer, string, Integer, string, string) Pascal function RetrievePartToFile( const AMsgNum: Integer; const APartNum: string; ALength: Integer; ADestFileNameAndPath: string; AContentTransferEncoding: string ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Scope is const. Type is Integer.

APartNum

Scope is const. Type is string.

ALength

Type is Integer.

ADestFileNameAndPath

Type is string.

AContentTransferEncoding

Type is string.

Returns Boolean Description RetrievePartToFile is a overloaded method. RetrievePartToFile returns a Boolean value. See Also TIdIMAP4.RetrievePartToFile

TIdIMAP4.RetrievePartToFilePeek Method Overload List Method

Description

TIdIMAP4.RetrievePartToFilePeek Retrieves and stores a message part for a message in the specified local file without (Integer, Integer, Integer, string, string) ( updating message flags stored on the remote IMAP4 server. 1196) TIdIMAP4.RetrievePartToFilePeek Retrieves and stores a message part for a message in the specified local file without (Integer, string, Integer, string, string) ( updating message flags stored on the remote IMAP4 server. 1197)

TIdIMAP4.RetrievePartToFilePeek Method (Integer, Integer, Integer, string, string) Retrieves and stores a message part for a message in the specified local file without updating message flags stored on the remote IMAP4 server. Pascal function RetrievePartToFilePeek( const AMsgNum: Integer; const APartNum: Integer; ALength: Integer; ADestFileNameAndPath: string; AContentTransferEncoding: string ): Boolean; overload; Parameters Parameters

Description

AMsgNum

relative message number for the message.

APartNum

relative part number for the message part.

1196

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

ALength

size of message part as indicated in the IMAP4 server response.

ADestFileNameAndPath

name of the file (including the optional path) used to store the contents of the message part.

AContentTransferEncoding

content transfer encoding expected for the specified message part.

Returns Boolean - True on success. Description RetrievePartToFilePeek is a Boolean function used to retrieve ( 1176) a specific message part for the specified message, and to store the message parts contents in the specified local file name. RetrievePartToFilePeek is similar to RetrievePartToFile ( 1194), but does not update the message flags stored on the remote IMAP4 server. Specifically, it does not affect the 'Seen' flag when accessing the message and/or message parts. AMsgNum is the relative message number for the message as stored in the currently selected mailbox on the remote IMAP4 server. APartNum is the relative part number for the message part in the structure for the message. ALength is the size of message part as indicated in the IMAP4 server response. ADestFileNameAndPath is the name of the file (including the optional path) used to store the contents of the message part. AContentTransferEncoding is the content transfer encoding expected for the specified message part. Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePartToFilePeek. RetrievePartToFilePeek validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartToFilePeek validates the message part number in APartNum to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartToFilePeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartToFilePeek. RetrievePartToFilePeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePartToFilePeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. The return value for the method is True if the message part is successfully retrieved for the specified message. The return value for the method is False if a protocol error response is received (any value other than IMAP_OK ( 4334)) or the value in ADestFileNameAndPath is an empty string (''). Please note that the destination file specified in ADestFileNameAndPath will contain the decoded content for the message part after reversing the encoding algorithm specified in AContentTransferEncoding. Use RetrievePartToFile ( 1194) or UIDRetrievePartToFile ( stored message flags for the message. Use RetrievePart ( 1183) or UIDRetrievePart ( flags for the message.

1230) to retrieve (

1221) to retrieve (

1176) a message part to a file and to update the

1176) a message part and to update the stored message

See Also RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( 1189) RetrievePartToFile ( 1194) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250)

TIdIMAP4.RetrievePartToFilePeek Method (Integer, string, Integer, string, string) Retrieves and stores a message part for a message in the specified local file without updating message flags stored on the remote IMAP4 server. Internet Direct (Indy) Version 10.1.5

1197

TIdIMAP4 Class

Classes

Pascal function RetrievePartToFilePeek( const AMsgNum: Integer; const APartNum: string; ALength: Integer; ADestFileNameAndPath: string; AContentTransferEncoding: string ): Boolean; overload; Parameters Parameters

Description

AMsgNum

relative message number for the message.

APartNum

relative part number for the message part.

ALength

size of message part as indicated in the IMAP4 server response.

ADestFileNameAndPath

name of the file (including the optional path) used to store the contents of the message part.

AContentTransferEncoding

content transfer encoding expected for the specified message part.

Returns Boolean - True on success. Description RetrievePartToFilePeek is a Boolean function used to retrieve ( 1176) a specific message part for the specified message, and to store the message parts contents in the specified local file name. RetrievePartToFilePeek is similar to RetrievePartToFile ( 1194), but does not update the message flags stored on the remote IMAP4 server. Specifically, it does not affect the 'Seen' flag when accessing the message and/or message parts. AMsgNum is the relative message number for the message as stored in the currently selected mailbox on the remote IMAP4 server. APartNum is the relative part number for the message part in the structure for the message. ALength is the size of message part as indicated in the IMAP4 server response. ADestFileNameAndPath is the name of the file (including the optional path) used to store the contents of the message part. AContentTransferEncoding is the content transfer encoding expected for the specified message part. Use RetrieveStructure ( 1200) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePartToFilePeek. RetrievePartToFilePeek validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartToFilePeek validates the message part number in APartNum to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartToFilePeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartToFilePeek. RetrievePartToFilePeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePartToFilePeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. The return value for the method is True if the message part is successfully retrieved for the specified message. The return value for the method is False if a protocol error response is received (any value other than IMAP_OK ( 4334)) or the value in ADestFileNameAndPath is an empty string (''). Please note that the destination file specified in ADestFileNameAndPath will contain the decoded content for the message part after reversing the encoding algorithm specified in AContentTransferEncoding. Use RetrievePartToFile ( 1194) or UIDRetrievePartToFile ( stored message flags for the message.

1198

1230) to retrieve (

1176) a message part to a file and to update the

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Use RetrievePart ( 1183) or UIDRetrievePart ( flags for the message.

1221) to retrieve (

1176) a message part and to update the stored message

See Also RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( 1189) RetrievePartToFile ( 1194) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250)

TIdIMAP4.RetrievePeek Method Retrieves a message from a mailbox without marking it as read on the server. Pascal function RetrievePeek( const AMsgNum: Integer; AMsg: TIdMessage ): Boolean; Parameters Parameters

Description

AMsgNum

Message number to retreive from the mailbox.

AMsg

Stores the retrieved message headers, body, and attachments.

Returns Boolean - True on success. Description RetrievePeek is a Boolean function that retrieves the entire contents for a message from a mailbox without marking it as read on the remote IMAP4 server. Please note that "Peek" versions of the IMAP4 functions do NOT set the mfSeen message flag. A new message in your inbox should not have set the mfSeen flag until you retrieve ( 1176) the message via a function such as Retrieve ( 1176). You can, however, retrieve ( 1176) the message via RetrievePeek, which should not set the mfSeen flag. The situation is not so clear, however, if you retrieve ( 1176) the third attachment (only) of an email. All the "Peek" versions of TIdIMAP4 ( 1150) functions do imply that the mfSeen flag NOT be set. Be aware that IMAP4 server support for the "Peek" functionality may vary. RetrievePeek requires that ConnectionState ( exception will be raised.

1244) contain the value csSelected, or an EIdConnectionStateError (

70)

RetrievePeek calls a protected method that sends the IMAP4 FETCH command for the message number specified in AMsgNum. RetrievePeek performs validation for the relative message number to ensure that it contains a positive non-zero value. An EIdNumberInvalid ( 126) exception can be raised if the relative message number in aMsgNum is invalid. On successful retrieval of the RFC 822 envelope data, RetrievePeek calls ReceiveHeader and ReceiveBody to load the message contents into the TIdMessage ( 1521) instance specified by AMsg. All headers, message parts, and the body of the message instance are cleared prior to storing values retrieved from the remote IMAP4 server. The value of the UID and Flags properties for the message in AMsg are updated based on the values found in the IMAP4 server response. RetrievePeek creates an internal TIdTCPStream ( 2381) instance to read message parts in the serve response, and assigns event handlers for the operation using procedure stored in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250). RetrievePeek sets the return value to True when the IMAP4 server response contains the value IMAP_OK ( Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox and retrieve ( Mailbox prior to calling the Retrieve ( 1176) or RetrievePeek methods. Use on of the UIDRetrieveXxx methods to retrieve ( selected mailbox.

4334).

1176) messages or headers in

1176) message(s) using the unique identifier (UID) for a message in the

See Also ConnectionState (

1244) SelectMailBox (

Internet Direct (Indy) Version 10.1.5

1205) ExamineMailBox (

1167) EIdConnectionStateError (

70) TIdMessage ( 1199

TIdIMAP4 Class 1521) TIdMessage.Headers ( TIdMessage.Flags ( 1545)

Classes 1546) TIdMessage.Body (

1538) TIdMessage.MessageParts (

1548) TIdMessage.UID (

1553)

TIdIMAP4.RetrieveStructure Method Overload List Method

Description

TIdIMAP4.RetrieveStructure (Integer, TIdImapMessageParts) ( 1200) TIdIMAP4.RetrieveStructure TIdMessage) ( 1201)

(Integer,

TIdIMAP4.RetrieveStructure Method (Integer, TIdImapMessageParts) Pascal function RetrieveStructure( const AMsgNum: Integer; AParts: TIdImapMessageParts ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Message number

AParts

A TIdMessageParts (

1623) instance used to return the structure of the message parts.

Returns Boolean - True on success. Description RetrieveStructure is an overloaded Boolean function used to return a list of the message parts for the message specified in AMsgNum. AParts is used to return the list of message parts with additional information about the size and content transfer encoding applied to the individual message parts. RetrieveStructure validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrieveStructure requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveStructure. RetrieveStructure sends the IMAP4 FETCH command using the specified message number and arguments needed to retrieve ( 1176) the Body structure for the message stored in the current mailbox on the remote IMAP4 server. The return value for the method is True if retrieval of the message part list is completed successfully. The return value for the method is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received during processing in the method. RetrieveStructure parses text in the IMAP4 server response, and stores the data about the message parts in the parameter provided to the method. RetrieveStructure is used in the implementation of other TIdIMAP4 ( 1150) methods, like RetrieveText ( 1201) and UIDRetrieveText ( 1237). RetrieveStructure may also be used to access the structure for the message prior to calling methods that require relative message part numbers and content transfer encoding information, like RetrievePart ( 1183) and UIDRetrievePart ( 1221). See Also RetrieveStructure EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( ExamineMailBox ( 1167) RetrieveText ( 1201) UIDRetrieveText ( 1237) RetrievePart ( 1183) UIDRetrievePart ( TIdImapMessageParts ( 1270) 1200

1205) 1221)

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

TIdIMAP4.RetrieveStructure Method (Integer, TIdMessage) Pascal function RetrieveStructure( const AMsgNum: Integer; AMsg: TIdMessage ): Boolean; overload; Parameters Parameters

Description

AMsgNum

Message number.

AMsg

Message instance used to store informatiuon about message parts for the message.

Returns Boolean - True on success. Description RetrieveStructure is an overloaded Boolean function used to return a list of the message parts for the message specified in AMsgNum. AMsg is used to return the list of message parts with additional information about the size and content transfer encoding applied to the individual message parts. RetrieveStructure validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrieveStructure requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveStructure. RetrieveStructure sends the IMAP4 FETCH command using the specified message number and arguments needed to retrieve ( 1176) the Body structure for the message stored in the current mailbox on the remote IMAP4 server. The return value for the method is True if retrieval of the message part list is completed successfully. The return value for the method is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received during processing in the method. RetrieveStructure parses text in the IMAP4 server response, and stores the data about the message parts in the parameter provided to the method. RetrieveStructure is used in the implementation of other TIdIMAP4 ( 1150) methods, like RetrieveText ( 1201) and UIDRetrieveText ( 1237). RetrieveStructure may also be used to access the structure for the message prior to calling methods that require relative message part numbers and content transfer encoding information, like RetrievePart ( 1183) and UIDRetrievePart ( 1221). See Also RetrieveStructure EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( ExamineMailBox ( 1167) RetrieveText ( 1201) UIDRetrieveText ( 1237) RetrievePart ( 1183) UIDRetrievePart ( TIdImapMessageParts ( 1270)

1205) 1221)

TIdIMAP4.RetrieveText Method Retrieves the text that makes up the body of a message. Pascal function RetrieveText( const AMsgNum: Integer; var AText: string ): Boolean; Parameters Parameters

Description

AMsgNum

relative message number for the message.

Internet Direct (Indy) Version 10.1.5

1201

TIdIMAP4 Class AText

Classes destination for text representing the body of the message.

Returns Boolean - True on success. Description RetrieveText is a Boolean function used to retrieve ( 1176) a message part for the specified message that represents the body of the message. RetrieveText uses the IMAP4 BODY[TEXT] command to access the message part that represents the body for the message. Please note that some IMAP4 servers do not correctly return the body text using this command. Some servers return the first unencoded attachment instead. Use RetrieveText2 ( 1202) for servers that exhibit this behavior. RetrieveText validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrieveText requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveText or RetrieveText2 ( 1202). The return value for the method indicates if the body text was successfully retrieved. The return value is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received, or the number of lines in the body text cannot be determined. RetrieveText captures and decodes the body lines in the IMAP4 server response, and stores the unencoded contents of the message part in the AText argument. RetrieveText creates an instance of TIdTCPStream ( 2381) for use in capturing the body text for the message, and assigns the OnWorkForPart ( 1250), OnWorkBeginForPart ( 1249), and OnWorkEndForPart ( 1250) event handlers used to respond to work events triggered during retrieval of the message part. Please note that some IMAP4 servers may truncate the initial body text found in the message structure if it contains non-textual data such as binary transfer-encoded data or multipart content with the subtype mixed, digest, or parallel. Use RetrieveText2 ( 1202) for servers exhibiting this behavior. Use UIDRetrieveText ( 1237) of UIDRetrieveText2 ( identifier (UID) for the message.

1238) to retrieve (

1176) the body text for a message using the unique

See Also RetrieveText2 ( 1202) UIDRetrieveText ( 1237) UIDRetrieveText2 ( 1238) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) TIdTCPStream ( 2381) OnWorkForPart ( 1250) OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250)

TIdIMAP4.RetrieveText2 Method Retrieves the text that makes up the body of a message. Pascal function RetrieveText2( const AMsgNum: Integer; var AText: string ): Boolean; Parameters Parameters

Description

AMsgNum

relative message number for the message.

AText

destination for text representing the body of the message.

Returns Boolean - True on success. Description RetrieveText2 is a Boolean function used to retrieve ( 1176) a message part for the specified message that represents the body of the message. RetrieveText2 uses the IMAP4 BODY[TEXT] command to access the message part that represents the body for the message. 1202

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Please note that some IMAP4 servers do not correctly return the body text using this command. Some servers return the first unencoded attachment instead. Other IMAP4 servers may truncate the initial body text found in the message structure if it contains non-textual data such as binary transfer-encoded data or multipart content with the subtype mixed, digest, or parallel. RetrieveText2 accounts for this behavior by checking the size of the initial message part, and retrieves a subsequent message part when the size of first message part contains 0 (zero). RetrieveText2 validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrieveText2 requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveText ( 1201) or RetrieveText2. The return value for the method indicates if the body text was successfully retrieved. The return value is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received, or the number of lines in the body text cannot be determined. RetrieveText2 captures and decodes the body lines in the IMAP4 server response, and stores the unencoded contents of the message part in the AText argument. RetrieveText2 creates an instance of TIdTCPStream ( 2381) for use in capturing the body text for the message, and assigns the OnWorkForPart ( 1250), OnWorkBeginForPart ( 1249), and OnWorkEndForPart ( 1250) event handlers used to respond to work events triggered during retrieval of the message part. Use UIDRetrieveText ( 1237) of UIDRetrieveText2 ( identifier (UID) for the message.

1238) to retrieve (

1176) the body text for a message using the unique

See Also RetrieveText ( 1201) UIDRetrieveText ( 1237) UIDRetrieveText2 ( 1238) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) TIdTCPStream ( 2381) OnWorkForPart ( 1250) OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250)

TIdIMAP4.RetrieveTextPeek Method Retrieves the text that makes up the body of a message without updating the flags for the message. Pascal function RetrieveTextPeek( const AMsgNum: Integer; var AText: string ): Boolean; Parameters Parameters

Description

AMsgNum

relative message number for the message.

AText

destination for text representing the body of the message.

Returns Boolean - True on success. Description RetrieveTextPeek is a Boolean function used to retrieve ( 1176) a message part for the specified message that represents the body of the message. RetrieveTextPeek is similar to RetrieveText ( 1201), but does not update the stored flags fpr the message when accessing the message or message parts in the IMAP4 mailbox. Specifically, it does not set the 'Seen' or mfSeen flag that indicates the message has been read. RetrieveTextPeek uses the IMAP4 BODY[TEXT] command to access the message part that represents the body for the message. Please note that some IMAP4 servers do not correctly return the body text using this command. Some servers return the first unencoded attachment instead. Use RetrieveTextPeek2 ( 1204) for servers that exhibit this behavior. RetrieveTextPeek validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. Internet Direct (Indy) Version 10.1.5

1203

TIdIMAP4 Class

Classes

RetrieveTextPeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveTextPeek or RetrieveTextPeek2 ( 1204). The return value for the method indicates if the body text was successfully retrieved. The return value is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received, or the number of lines in the body text cannot be determined. RetrieveTextPeek captures and decodes the body lines in the IMAP4 server response, and stores the unencoded contents of the message part in the AText argument. RetrieveTextPeek creates an instance of TIdTCPStream ( 2381) for use in capturing the body text for the message, and assigns the OnWorkForPart ( 1250), OnWorkBeginForPart ( 1249), and OnWorkEndForPart ( 1250) event handlers used to respond to work events triggered during retrieval of the message part. Please note that some IMAP4 servers may truncate the initial body text found in the message structure if it contains non-textual data such as binary transfer-encoded data or multipart content with the subtype mixed, digest, or parallel. Use RetrieveText2 ( 1202) for servers exhibiting this behavior. Use UIDRetrieveTextPeek ( 1239) or UIDRetrieveTextPeek2 ( unique identifier (UID) for the message.

1240) to retrieve (

1176) the body text for a message using the

See Also RetrieveText ( 1201) RetrieveText2 ( 1202) UIDRetrieveTextPeek ( 1239) UIDRetrieveTextPeek2 ( 1240) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) TIdTCPStream ( 2381) OnWorkForPart ( 1250) OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250)

TIdIMAP4.RetrieveTextPeek2 Method Retrieves the text that makes up the body of a message without updating the flags for the message. Pascal function RetrieveTextPeek2( const AMsgNum: Integer; var AText: string ): Boolean; Parameters Parameters

Description

AMsgNum

relative message number for the message.

AText

destination for text representing the body of the message.

Returns Boolean - True on success. Description RetrieveTextPeek2 is a Boolean function used to retrieve ( 1176) a message part for the specified message that represents the body of the message. RetrieveTextPeek2 is similar to RetrieveTextPeek ( 1203), and does not update the stored flags for the message when accessing the message or message parts in the IMAP4 mailbox. Specifically, it does not set the 'Seen' or mfSeen flag that indicates the message has been read. RetrieveTextPeek2 uses the IMAP4 BODY[TEXT] command to access the message part that represents the body for the message. Please note that some IMAP4 servers do not correctly return the body text using this command. Some servers return the first unencoded attachment instead. RetrieveTextPeek2 accounts for this behavior by accessing subsequent message bodies to locate the text for the message where the initial message part has a length of 0 (zero). RetrieveTextPeek2 validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrieveTextPeek2 requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveTextPeek ( 1203) or RetrieveTextPeek2. The return value for the method indicates if the body text was successfully retrieved. The return value is False if a protocol error 1204

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

response (any value other than IMAP_OK (

4334)) is received, or the number of lines in the body text cannot be determined.

RetrieveTextPeek2 captures and decodes the body lines in the IMAP4 server response, and stores the unencoded contents of the message part in the AText argument. RetrieveTextPeek2 creates an instance of TIdTCPStream ( 2381) for use in capturing the body text for the message, and assigns the OnWorkForPart ( 1250), OnWorkBeginForPart ( 1249), and OnWorkEndForPart ( 1250) event handlers used to respond to work events triggered during retrieval of the message part. Use UIDRetrieveTextPeek ( 1239) or UIDRetrieveTextPeek2 ( unique identifier (UID) for the message.

1240) to retrieve (

1176) the body text for a message using the

See Also RetrieveText ( 1201) RetrieveText2 ( 1202) RetrieveTextPeek ( 1203) UIDRetrieveTextPeek ( 1239) UIDRetrieveTextPeek2 ( 1240) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) TIdTCPStream ( 2381) OnWorkForPart ( 1250) OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250)

TIdIMAP4.SearchMailBox Method Pascal function SearchMailBox( const ASearchInfo: array of TIdIMAP4SearchRec ): Boolean; Parameters Parameters

Description

ASearchInfo

Scope is const. Type is array of TIdIMAP4SearchRec (

2958).

Returns Boolean Description SearchMailBox is a method. SearchMailBox returns a Boolean value.

TIdIMAP4.SelectMailBox Method Selects a mailbox on the IMAP4 server as the current mailbox for message access. Pascal function SelectMailBox( const AMBName: String ): Boolean; Parameters Parameters

Description

AMBName

Mailbox name to be activated.

Returns Boolean - True on success. Description SelectMailBox is a Boolean function that selects the mailbox specified in AMBName as the current mailbox for message access on the IMAP4 server. Only one mailbox can be selected at a time in an IMAP4 connection. Simultaneous access to multiple mailboxes requires multiple connections. SelectMailBox automatically deselects any currently selected mailbox before attempting the new selection. Consequently, if a mailbox is selected and a SELECT command that fails is attempted, no mailbox is selected. SelectMailBox requires that the value of ConnectionState ( EIdConnectionStateError ( 70) exception will be raised.

1244) contain either csAuthenticated or csSelected, or an

SelectMailBox calls SendCmd (

1206) using the IMAP4 SELECT command for the specified mailbox name. On successful

Internet Direct (Indy) Version 10.1.5

1205

TIdIMAP4 Class

Classes

completion of the command, SelectMailBox parses the multi-line response and loads the values into the MailBox ( in AMBName. SelectMailBox sets ConnectionState ( 1244) to the value csSelected. If the response code from SendCmd ( value other than wsOk ( 4546), the value in ConnectionState ( 1244) is set csAuthenticated. SelectMailBox can also call either RetrieveAllHeaders ( 1177) or RetrieveAllMsgs ( RetrieveOnSelect ( 1247), to populate the message list in MailBox ( 1245).

1245) specified 1206) contains a

1178), based on the value of

Please note that IMAP servers are required to have an "Inbox" folder to allow them to receive email for a given user. This may or may not be case-sensitive. Your implementation may require you to create ( 267) an Inbox folder if it does not already exist. Also, caution is advised when selecting the characters for mailbox names. Different IMAP servers may allow, and interpret differently, various characters, which is allowed within the IMAP specification. Characters such as ~ / and . may have special meaning in the IMAP servers context, and may produce unexpected results. In practice, some IMAP servers may be case-sensitive and others not. It is recommended that you only use the characters A-Z and 0-9 and that you program to allow for case sensitivity or insensitivity, as applicable. Note that, in general, IdIMAP4 adds double-quotes around mailbox names, which allows the use of spaces in mailbox names, but also note that a perticular IMAP server may not allow spaces (this functionality is necessary to allow IdIMAP4 deal with pre-existing mailboxes that include spaces). SelectMailBox sets the return value for the method to True when the IMAP4 server response contains the value IMAP_OK (

4334).

See Also ConnectionState (

1244)

EIdConnectionStateError (

70)

TIdTCPConnection.LastCmdResult ( SendCmd ( MailBox (

2367)

1206) 1245)

RetrieveAllHeaders ( RetrieveAllMsgs ( RetrieveOnSelect (

1177)

1178) 1247)

TIdIMAP4.SendCmd Method Overload List Method

Description

TIdIMAP4.SendCmd (string, array of Sends an IMAP4 command to the server and checks for valid response codes. String) ( 1206) TIdIMAP4.SendCmd array of String) ( 1207)

(string,

string, Sends an IMAP4 command to the server and checks for valid response codes.

TIdIMAP4.SendCmd Method (string, array of String) Sends an IMAP4 command to the server and checks for valid response codes. Pascal function SendCmd( const AOut: string; AExpectedResponses: array of String ): string; overload; Parameters Parameters

Description

AOut

Command to be executed on the IMAP4 server.

AResponse

Anticipated server reponse(s). -1 when omitted.

1206

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Returns String - Response received from the IMAP4 server. Description SendCmd is an overloaded String function in TIdIMAP4 ( 1150) that allows the client to send the IMAP4 command specified in AOut to the IMAP4 server, and anticipates a response or responses as specified in AResponse. AResponse can be an array of SmallInt values that indicate the valie responses for the command, or a single SmallInt value. SendCmd ensures that any unhandled data remaining in the buffer for the client connection is read prior to writing a new command for the remote IMAP4 server. SendCmd calls WriteLn ( 1243) to send the value AOut to the IMAP4 server, and calls GetResponse ( 1170) to determine the server response. The return value for the method contains the initial IMAP4 server response received for the command. SendCmd will handle an EIdSocketError ( 152) exception raised when sending the command by setting the ConnectionState ( 1244) property to the value csUnexpectedlyDisconnected. The exception is re-raised for subsequent error handling. See Also GetResponse (

1170) WriteLn (

1243) ConnectionState (

1244) EIdSocketError (

152)

TIdIMAP4.SendCmd Method (string, string, array of String) Sends an IMAP4 command to the server and checks for valid response codes. Pascal function SendCmd( const ATag: string; const AOut: string; AExpectedResponses: array of String ): string; overload; Parameters Parameters

Description

ATag

Tag to identify the server response to this command.

AOut

Command to be executed on the IMAP4 server.

AResponse

Anticipated server reponse(s). -1 when omitted.

Returns String - Response received from the IMAP4 server. Description SendCmd is an overloaded String function in TIdIMAP4 ( 1150) that allows the client to send the IMAP4 command specified in ATag and AOut to the IMAP4 server, and anticipates a response or responses as specified in AResponse. AResponse can be an array of SmallInt values that indicate the valie responses for the command, or a single SmallInt value. SendCmd ensures that any unhandled data remaining in the buffer for the client connection is read prior to writing a new command for the remote IMAP4 server. SendCmd calls WriteLn ( 1243) to send the values in ATag and AOut to the IMAP4 server, and calls GetResponse ( 1170) to determine the server response. The return value for the method contains the initial IMAP4 server response received for the command. SendCmd will handle an EIdSocketError ( 152) exception raised when sending the command by setting the ConnectionState ( 1244) property to the value csUnexpectedlyDisconnected. The exception is re-raised for subsequent error handling. See Also GetResponse (

1170) WriteLn (

Internet Direct (Indy) Version 10.1.5

1243) ConnectionState (

1244) EIdSocketError (

152)

1207

TIdIMAP4 Class

Classes

TIdIMAP4.StatusMailBox Method Overload List Method TIdIMAP4.StatusMailBox TIdMailBox) ( 1208)

Description (String, Retrieves status data items for the specified mailbox.

TIdIMAP4.StatusMailBox (String, Retrieves status data items for the specified mailbox. TIdMailBox, array of TIdIMAP4StatusDataItem) ( 1209)

TIdIMAP4.StatusMailBox Method (String, TIdMailBox) Retrieves status data items for the specified mailbox. Pascal function StatusMailBox( const AMBName: String; AMB: TIdMailBox ): Boolean; overload; Parameters Parameters

Description

AMBName

Mailbox name tio be accessed and loaded.

AMB

Represents the contents read from the mailbox.

Returns Boolean - True on success. Description StatusMailBox is an overloaded Boolean function used to retrieve ( mailbox specified in AMBName. StatusMailBox requires that the value of ConnectionState ( EIdConnectionStateError ( 70) exception will be raised.

1176) status data items specified in AStatusDataItems for the 1244) contain either csAuthenticated or csSelected, or an

StatusMailBox calls SendCmd ( 1206) using the IMAP4 STATUS command for the specified mailbox name and data items. On succesful completion, StatusMailBox parses the server response and loads values in the server response into the Mailbox specified in AMB. It is pointless calling StatusMailBox with an empty array of mail data items because you are asking the IMAP4 server to update none of the status flags. Instead, the standard flags returned by SelectMailBox ( 1205) are used for the requested mail data items to check if the mailbox has changed. In this situation, the array of TIdIMAP4StatusDataItem ( 2958) includes the following values:

mdMessages mdRecent mdUIDNext mdUIDValidity mdUnseen Please note that IMAP servers are required to have an "Inbox" folder to allow them to receive email for a given user. This may or may not be case-sensitive. Your implementation may require you to create ( 267) an Inbox folder if it does not already exist. Also, caution is advised when choosing the characters used for mailbox names. Different IMAP servers may allow, and interpret differently, various characters, which is allowed within the IMAP specification. Characters such as ~ / and . may have special meaning in the IMAP servers context, and may produce unexpected results. In practice, some IMAP servers may be case-sensitive and others not. It is recommended that you only use the characters A-Z and 0-9 and that you program to allow for case sensitivity or 1208

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

insensitivity, as applicable. Note that, in general, IdIMAP4 adds double-quotes around mailbox names, which allows the use of spaces in mailbox names, but also note that a perticular IMAP server may not allow spaces (this functionality is necessary to allow IdIMAP4 deal with pre-existing mailboxes that include spaces). StatusMailBox sets the return value for the method to True when the server response contains the value IMAP_OK (

4334).

See Also StatusMailBox ConnectionState (

1244) EIdConnectionStateError (

70) TIdMailBox (

1481) TIdIMAP4StatusDataItem (

2958)

TIdIMAP4.StatusMailBox Method (String, TIdMailBox, array of TIdIMAP4StatusDataItem) Retrieves status data items for the specified mailbox. Pascal function StatusMailBox( const AMBName: String; AMB: TIdMailBox; const AStatusDataItems: array of TIdIMAP4StatusDataItem ): Boolean; overload; Parameters Parameters

Description

AMBName

Mailbox name tio be accessed and loaded.

AMB

Represents the contents read from the mailbox.

AStatusDataItems

Status data items to be retrieved.

Returns Boolean - True on success. Description StatusMailBox is an overloaded Boolean function used to retrieve ( mailbox specified in AMBName. StatusMailBox requires that the value of ConnectionState ( EIdConnectionStateError ( 70) exception will be raised.

1176) status data items specified in AStatusDataItems for the 1244) contain either csAuthenticated or csSelected, or an

StatusMailBox calls SendCmd ( 1206) using the IMAP4 STATUS command for the specified mailbox name and data items. On succesful completion, StatusMailBox parses the server response and loads values in the server response into the Mailbox specified in AMB. Please note that IMAP servers are required to have an "Inbox" folder to allow them to receive email for a given user. This may or may not be case-sensitive. Your implementation may require you to create ( 267) an Inbox folder if it does not already exist. Also, caution is advised when choosing the characters used for mailbox names. Different IMAP servers may allow, and interpret differently, various characters, which is allowed within the IMAP specification. Characters such as ~ / and . may have special meaning in the IMAP servers context, and may produce unexpected results. In practice, some IMAP servers may be case-sensitive and others not. It is recommended that you only use the characters A-Z and 0-9 and that you program to allow for case sensitivity or insensitivity, as applicable. Note that, in general, IdIMAP4 adds double-quotes around mailbox names, which allows the use of spaces in mailbox names, but also note that a perticular IMAP server may not allow spaces (this functionality is necessary to allow IdIMAP4 deal with pre-existing mailboxes that include spaces). StatusMailBox sets the return value for the method to True when the server response contains the value IMAP_OK (

4334).

See Also StatusMailBox ConnectionState (

1244) EIdConnectionStateError (

70) TIdMailBox (

1481) TIdIMAP4StatusDataItem (

2958)

TIdIMAP4.StoreFlags Method Updates the specified message flags for a list of message numbers. Pascal function StoreFlags( Internet Direct (Indy) Version 10.1.5

1209

TIdIMAP4 Class

Classes

const AMsgNumList: array of Integer; const AStoreMethod: TIdIMAP4StoreDataItem; const AFlags: TIdMessageFlagsSet ): Boolean; Parameters Parameters

Description

AMsgNumList

Message numbers to be updated by the method.

AStoreMethod

Method to use for storing flag values.

AFlags

Message flags to be updated for the specified messages.

Returns Boolean - True on success. Description StoreFlags is a Boolean function that updates the message flags specified in AFlags for the list of message numbers specified in AMsgNumList. AStoreMethod indicates if the message flags are added, replaced or removed. When AMsgNumList has a length of zero, the return value for the method is set to False and the method is exited. StoreFlags requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. StoreFlags calls SendCmd ( 1206) using the IMAP4 STORE command for the specified messages and flags. StoreFlags sets the return value for the method to True when the server response contains the value IMAP_OK ( 4334). See Also TIdIMAP4StoreDataItem (

2958) TIdMessageFlags (

2968) ConnectionState (

1244) EIdConnectionStateError (

70)

TIdIMAP4.SubscribeMailBox Method Adds a mailbox to the list of "active" or "subscribed" mailboxes. Pascal function SubscribeMailBox( const AMBName: String ): Boolean; Parameters Parameters

Description

AMBName

Mailbox name to add to the active mailbox list.

Returns Boolean - True on success. Description SubscribeMailBox is a Boolean function used to add the mailbox name specified in AMBName to the list of "active" or "subscribed" mailboxes on the IMAP4 server. SubscribeMailBox updates the values that are returned by the IMAP4 LSUB command. SubscribeMailBox requires that ConnectionState ( 1244) contain the value csAuthenticated or csSelected to perform the IMAP4 function. SubscribeMailBox can raise an EIdConnectionStateError ( 70) exception with the message RSIMAP4ConnectionStateError if ConnectionState ( 1244) contains a value other than csAuthenticated or csSelected. SubscribeMailBox calls SendCmd ( 1206) using the IMAP4 SUBSCRIBE command and the value specified in AMBName as an argument. The IMAP4 server may validate the mailbox argument in AMBName to verify that it exists. SubscribeMailBox returns True when the server response contains the value IMAP_OK ( 4334). Use UnsubscribeMailBox (

1242) to remove a specified mailbox from the "active" or "subscibed" list.

Please note that IMAP4 servers are required to have an "Inbox" folder to allow them to receive email for a given user. This may or may not be case-sensitive. Your implementation may require you to create ( 267) an Inbox folder if it does not already exist. Also, caution is advised when choosing the characters used for mailbox names. Different IMAP servers may allow, and interpret differently, various characters, which is allowed within the IMAP specification. Characters such as ~ / and . may have special 1210

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

meaning in the IMAP servers context, and may produce unexpected results. In practice, some IMAP servers may be case-sensitive and others not. It is recommended that you only use the characters A-Z and 0-9 and that you program to allow for case sensitivity or insensitivity, as applicable. Note that, in general, IdIMAP4 adds double-quotes around mailbox names, which allows the use of spaces in mailbox names, but also note that a perticular IMAP server may not allow spaces (this functionality is necessary to allow IdIMAP4 deal with pre-existing mailboxes that include spaces). See Also SendCmd ( 1206) ConnectionState UnsubscribeMailBox ( 1242)

(

1244)

EIdConnectionStateError

(

70)

RSIMAP4ConnectionStateError

TIdIMAP4.UIDCheckMsgSeen Method Indicates if the specified message has been read. Pascal function UIDCheckMsgSeen( const AMsgUID: String ): Boolean; Parameters Parameters

Description

AMsgUID

Message unique identifier to be checked.

Returns Boolean - True when the message has been read. Description UIDCheckMsgSeen is a Boolean function that indicates if the message in the currently selected mailbox specified by the unique identifier in AMsgUID has been read. UIDCheckMsgSeen may raise an EIdNumberInvalid ( identifier. UIDCheckMsgSeen requires that the ConnectionState ( 70) exception will be raised.

126) exception if AMsgUID contains an invalid value for use in a unique 1244) contain the value csSelected, or an EIdConnectionStateError (

UIDCheckMsgSeen calls SendCmd ( 1206), after incrementing the IMAP command counter, using the IMAP FETCH command with the FLAGS attribute. UIDCheckMsgSeen returns True when the server response indicates that the flags for the message contains the TIdMessageFlag value mfSeen. Use CheckMsgSeen (

1160) to check the flags for a message by its relative message number.

Exceptions Exceptions EIdNumberInvalid (

Description 126)

EIdConnectionStateError (

With the message RSIMAP4NumberInvalid when AMsgUID is invalid. 70)

With the message RSIMAP4ConnectionStateError and the value from GetConnectionStateName when ConnectionState ( 1244) indicates a mailbox has not been selected.

See Also ConnectionState ( 1244) EIdConnectionStateError TIdMessageFlagsSet ( 3059) CheckMsgSeen ( 1160)

(

70)

EIdNumberInvalid

(

126)

TIdMessageFlags

(

2968)

TIdIMAP4.UIDCopyMsg Method Copies a message from the current mailbox to a specified mailbox. Pascal function UIDCopyMsg( const AMsgUID: String; const AMBName: String ): Boolean; Internet Direct (Indy) Version 10.1.5

1211

TIdIMAP4 Class

Classes

Parameters Parameters

Description

AMsgUID

Unique identifier for the message in the currently selected mailbox.

AMBName

target mailbox name on the IMAP4 server.

Returns Boolean - True on success. Description UIDCopyMsg is a Boolean function used to copy a message in the currently selected mailbox to another mailbox on the IMAP4 server. AMsgUID is the unique identifier for the message in the currently selected mailbox. AMBName is the target mailbox on the IMAP4 server where a copy of the message will be stored. AMBName must represent an existing mailbox on the IMAP4 server that is valid for the currently connected ( 2353) Username ( 1248) and Password ( 1247). UIDCopyMsg performs validation for the value in AMsgUID, and can raise an EIdNumberInvalid ( UID contains an invalid value for use as a unique identifier.

126) exception if the message

Use of UIDCopyMsg requires that a mailbox be previously selected using the SelectMailbox ( 1205) method, and that ConnectionState ( 1244) contains the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. UIDCopyMsg calls SendCmd ( 1206) to send the IMAP4 COPY command using the values indicated in AMsgUID and AMBName. AMBName is UTF7-encoded prior to transmission. The return value for the method is True on successful completion of the IMAP4 COPY command. Use UIDCopyMsgs (

1212) to copy multiple message numbers to a specified mailbox.

Use CopyMsg ( 1162) or UIDCopyMsg to copy a single message in the currently selected mailbox using a relative message number or a unique identifier. Exceptions Exceptions EIdNumberInvalid (

Description 126)

EIdConnectionStateError (

With the message RSIMAP4NumberInvalid. 70)

With the message RSIMAP4ConnectionStateError.

See Also SelectMailBox ( UIDCopyMsgs (

1205) ConnectionState ( 1244) EIdNumberInvalid ( 1212) CopyMsg ( 1162)

126) EIdConnectionStateError (

70) SendCmd (

1206)

TIdIMAP4.UIDCopyMsgs Method Pascal function UIDCopyMsgs( const AMsgUIDList: TIdStringList; const AMBName: String ): Boolean; Parameters Parameters

Description

AMsgUIDList

Scope is const. Type is TIdStringList (

AMBName

Scope is const. Type is String.

3088).

Returns Boolean Description UIDCopyMsgs is a method. UIDCopyMsgs returns a Boolean value. 1212

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

TIdIMAP4.UIDDeleteMsg Method Marks the specified message for subsequent deletion when a mailbox is purged. Pascal function UIDDeleteMsg( const AMsgUID: String ): Boolean; Parameters Parameters

Description

AMsgUID

Message unique identifier to mark for deletion.

Returns Boolean - True on success. Description UIDDeleteMsg is a Boolean function used to mark the specified message in AMsgUID for subsequent deletion when the mailbox is purged. UIDDeleteMsg calls StoreFlags ( 1209) to add the message flag value mfDeleted to the flags stored for the associated message on the IMAP4 server. A mailbox must be selected using the SelectMailBox ( 1205) method prior to calling DeleteMsgs ( raised when storing the message flags on the IMAP4 server. Use DeleteMsgs ( 1165) or UIDDeleteMsgs ( relative message numbers. Use ExpungeMailBox ( Use GetUID (

1165), or an exception is

1213) to mark a list of messages for deletion using their unique identifiers or

1168) to remove messages marked for deletion in the specified mailbox.

1171) to retrieve (

1176) the UID for a specified relative message number.

See Also StoreFlags (

1209) MailBox (

1245) ExpungeMailBox (

1168) GetUID (

1171) DeleteMsgs (

1165) UIDDeleteMsgs (

1213)

TIdIMAP4.UIDDeleteMsgs Method Marks the specified messages for subsequent deletion when a mailbox is purged. Pascal function UIDDeleteMsgs( const AMsgUIDList: array of String ): Boolean; Parameters Parameters

Description

AMsgUIDList

Array of message unique identifiers to mark for deletion.

Returns Boolean - True on success. Description UIDDeleteMsgs is a Boolean function used to mark the specified messages in AMsgUIDList for subsequent deletion when the mailbox is purged. UIDDeleteMsgs calls StoreFlags ( 1209) to add the message flag value mfDeleted to the flags stored for the associated message on the IMAP4 server. A mailbox must be selected using the SelectMailBox ( 1205) method prior to calling DeleteMsgs ( raised when storing the message flags on the IMAP4 server. Use DeleteMsgs (

1165), or an exception is

1165) to mark a list of messages for deletion using their relative message numbers.

Use ExpungeMailBox (

1168) to remove messages marked for deletion in the specified mailbox.

Internet Direct (Indy) Version 10.1.5

1213

TIdIMAP4 Class Use GetUID (

Classes 1171) to retrieve (

1176) the UID for a specified relative message number.

See Also StoreFlags (

1209) MailBox (

1245) ExpungeMailBox (

1168) GetUID (

1171)

TIdIMAP4.UIDInternalRetrieveStructure Method Retrieves the body structure for a specified message. Pascal function UIDInternalRetrieveStructure( const AMsgUID: String; AMsg: TIdMessage; AParts: TIdImapMessageParts ): Boolean; Parameters Parameters

Description

AMsgUID

Unique identifier for the requested message.

AMsg

Message instance to store FETCH results from the server.

AParts

Message parts that represent the body structure for the message.

Returns Boolean - True on success. Description UIDInternalRetrieveStructure is a Boolean function used to implement retrieving the body structure for the unique message identifier specified in AMsgUID. UIDInternalRetrieveStructure is used in the implementation of the UIDRetrieveStructure ( 1236) method. AMsg is the TIdMessage (

1521) instance to use for retrieving the contents of the specified message.

AParts is a TIdImapMessageParts ( response from the IMAP4 server.

1270) instance used to store the message parts that represent the BODYSTRUCTURE

UIDInternalRetrieveStructure requires ConnectionState ( 1244) to contain the value csSelected, indicating a mailbox has been previously selected using SelectMailBox ( 1205), or an EIdConnectionStateError ( 70) exception is raised. UIDInternalRetrieveStructure uses SendCmd ( 1206) to send the IMAP4 FETCH command with the specified message UID and the BODYSTRUCTURE argument. When a successful FETCH response is received, values in the response are parsed to store message parts that represent the body structure in AParts. The return value for the method is True if the body structure for the specified message UID is successfully retrieved using the method.

TIdIMAP4.UIDRetrieve Method Retrieves a message from a mailbox and marks it as read on the server. Pascal function UIDRetrieve( const AMsgUID: String; AMsg: TIdMessage ): Boolean; Parameters Parameters

Description

AMsgUID

Message unique identifier to retreive from the mailbox.

AMsg

Stores the retrieved message headers, body, and attachments.

Returns Boolean - True on success. 1214

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Description UIDRetrieve is a Boolean function that retrieves the entire contents for a given message unique identifier from a mailbox and marks it as read on the remote IMAP4 server. UIDRetrieve requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. UIDRetrieve calls a protected method that sends the IMAP4 FETCH command for the message UID specified in AMsgUID. UIDRetrieve performs validation for the message UID to ensure that it contains a valid value. An EIdNumberInvalid ( 126) exception can be raised if the unique identifier in aMsgUID is invalid. On successful retrieval of the RFC 822 envelope data, UIDRetrieve calls ReceiveHeader and ReceiveBody to load the message contents into the TIdMessage ( 1521) instance specified by AMsg. All headers, message parts, and the body of the message instance are cleared prior to storing values retrieved from the remote IMAP4 server. The value of the UID and Flags properties for the message in AMsg are updated based on the values found in the IMAP4 server response. UIDRetrieve creates an internal TIdTCPStream ( 2381) instance to read message parts in the serve response, and assigns event handlers for the operation using procedure stored in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250). UIDRetrieve sets the return value to True when the IMAP4 server response contains the value IMAP_OK ( Use SelectMailBox ( 1205) or ExamineMailBox ( Mailbox prior to calling the UIDRetrieve method. Use Retrieve (

1176) to retrieve (

1167) to select a mailbox and retrieve (

4334).

1176) messages or headers in

1176) a message using the relative message number for a message in the selected mailbox.

See Also ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) EIdConnectionStateError ( 70) TIdMessage ( 1521) TIdMessage.Headers ( 1546) TIdMessage.Body ( 1538) TIdMessage.MessageParts ( 1548) TIdMessage.UID ( 1553) TIdMessage.Flags ( 1545) Retrieve ( 1176)

TIdIMAP4.UIDRetrieveAllEnvelopes Method Retrieves RFC-822 envelope data for messages in a mailbox. Pascal function UIDRetrieveAllEnvelopes( AMsgList: TIdMessageCollection ): Boolean; Parameters Parameters

Description

AMsgList

Collection of message instances for storing message envelope data.

Returns Boolean - True on success, False on exception or protocol error. Description UIDRetrieveAllEnvelopes is a Boolean function used to retrieve ( selected IMAP4 mailbox by their unique message identifiers.

1176) IMAP4 envelope data for all messages in the currently

IMAP4 envelope information consists of data items that describe the envelope structure of a message and is computed by parsing RFC-822 message headers from individual messages in the IMAP4 mailbox. Fields in the envelope structure are in the following order: date, subject, from, sender, reply-to, to, cc, bcc, in-reply-to, and message-id. Any member in an envelope structure that is not applicable is presented as an empty value. Please note that the IMAP4 server sends a default value for the reply-to and sender fields using the from field; a client is not expected to know how to do this. UIDRetrieveAllEnvelopes requires that the ConnectionState ( 1244) property for the IMAP4 client contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised and the return value will be set to False. UIDRetrieveAllEnvelopes implements the IMAP4 FETCH command using arguments that will result in all envelope data items for the messages in the selected mailbox. The multi-line response from the IMAP4 server is captured and parsed into TIdMessages Internet Direct (Indy) Version 10.1.5

1215

TIdIMAP4 Class

Classes

instances in the AMsgList collection. Please note that existing items in AMsgList are assumed to be in unique identifier order, and will overwrite message headers for the TIdMessage ( 1521) instances based on that assumption. When AMsgList is unassigned, or does not contain enough items for the envelopes in the mailbox, a new TIdMessage ( 1521) instance is created and added to the AMsgList collection. The return value for UIDRetrieveAllEnvelopes will be True when the protocol response code from the IMAP4 server is IMAP_OK ( 4334), and the multi-line response is successfully parsed into the AMsgList collection. Use RetrieveAllEnvelopes (

1176) to retrieve (

1176) envelope data for messages using their relative message number(s).

See Also TIdMessage ( 1521) TIdMessageCollection RetrieveAllEnvelopes ( 1176)

(

1561)

ConnectionState

(

1244)

EIdConnectionStateError

(

70)

TIdIMAP4.UIDRetrieveEnvelope Method Retrieves SMTP envelope information for a message in the mailbox. Pascal function UIDRetrieveEnvelope( const AMsgUID: String; AMsg: TIdMessage ): Boolean; Parameters Parameters

Description

AMsgUID

Message unique identifier to retrieve (

AMsg

Message instance to store the return values.

1176) from the mailbox.

Returns Boolean - True on success. Description UIDRetrieveEnvelope is a Boolean function used to retrieve ( 1176) the SMTP envelope information for the unique identifier specified in AMsgUID, and to store the information in the message identified by AMsg. UIDRetrieveEnvelope validates the message UID in AMsgUID to ensure that it contains a valid value. An EIdNumberInvalid ( exception will be raised when the UID is invalid.

126)

UIDRetrieveEnvelope requires that ConnectionState ( 1244) contain the value csSelected, indicating a mailbox has been successfully selected and authenticated. UIDRetrieveEnvelope can raise an EIdConnectionStateError ( 70) exception if a mailbox has not been selected and/or authenticated for the current user. UIDRetrieveEnvelope calls SendCmd ( 1206) using the IMAP4 FETCH command and arguments constructed from the value in AMsgUID and the IMAP4 fetch data flags required for the operation. UIDRetrieveEnvelope reads the multi-line response from the IMAP4 server, and verifies that the initial response matches the command issued using SendCmd ( 1206). When they are the same, UIDRetrieveEnvelope extracts the headers from the response and parses the header values in the message specified in AMsg. Use UIDRetrieveEnvelopeRaw (

1217) to retrieve (

Use Retrieve ( 1176) or RetrieveEnvelopeRaw ( identified by its relative message number.

1176) and store message envelope data into a specified TStrings argument. 1179) to retrieve (

1176) and store message envelope data for a message

See Also ConnectionState ( 1244) TIdMessage ( 1521) UIDRetrieveEnvelopeRaw ( 1217) RetrieveEnvelopeRaw ( 1179) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70)

1216

RetrieveEnvelope

(

1178)

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

TIdIMAP4.UIDRetrieveEnvelopeRaw Method Pascal function UIDRetrieveEnvelopeRaw( const AMsgUID: String; ADestList: TIdStringList ): Boolean; Parameters Parameters

Description

AMsgUID

Scope is const. Type is String.

ADestList

Type is TIdStringList (

3088).

Returns Boolean Description UIDRetrieveEnvelopeRaw is a method. UIDRetrieveEnvelopeRaw returns a Boolean value.

TIdIMAP4.UIDRetrieveFlags Method Retrieves stored message flags for a message on the IMAP4 server. Pascal function UIDRetrieveFlags( const AMsgUID: String; var AFlags: TIdMessageFlagsSet ): Boolean; Parameters Parameters

Description

AMsgUID

Unique message identifier containing flags to be retrieved.

AFlags

Storage for message flags in the specified message UID.

Returns Boolean - True on success. Description UIDRetrieveFlags is a Boolean function used to retrieve ( 1176) stored message flags for the unique message identifier specified AMsgUID. Flags values retrieved from the current mailbox on the IMAP4 server are stored in the AFlags argument. UIDRetrieveFlags validates the unique message identifier in AMsgUID to ensuire that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception when AMsgUID contains an invalid value for use as a UID. UIDRetrieveFlags requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select the current mailbox for the IMAP4 account propr to calling UIDRetrieveFlags. UIDRetrieveFlags sends the IMAP4 FETCH command to get the flag values for the specified message UID. If a protocol response error occurs while retrieving the flag values, UIDRetrieveFlags sets the return value to False and exits from the method. AFlags will contains an empty set in this condition. On successful completion, UIDRetrieveFlags processes the untagged responses in IMAP4 server response, and sets the return value to True. Message flags returned in the AFlags argument can be stored in the TIdMessage.Flags ( 1245). Use RetrieveFlags (

1179) to retrieve (

Internet Direct (Indy) Version 10.1.5

1545) property for items in MailBox (

1176) message flags for a message using its relative message number.

1217

TIdIMAP4 Class

Classes

Use StoreFlags ( 1209) or UIDStoreFlags ( remote IMAP4 server.

1241) to update the stored message flags for a message in the mailbox on the

See Also ConnectionState ( 1244) MailBox ( 1245) StoreFlags ( 1209) UIDStoreFlags EIdConnectionStateError ( 70) EIdNumberInvalid ( 126) TIdMessage.Flags ( 1545)

(

1241)

UIDRetrieveFlags

TIdIMAP4.UIDRetrieveHeader Method Retrieves headers for a specified message and populates the message instance. Pascal function UIDRetrieveHeader( const AMsgUID: String; AMsg: TIdMessage ): Boolean; Parameters Parameters

Description

AMsgUID

Message unique identifier to be retrieved from the mailbox.

AMsg

Message instance used to store retrieved header values.

Returns Boolean - True on success. Description UIDRetrieveHeader is a Boolean function used to retrieve ( 1176) headers for the message unique identifier specified in AMsgUID, and populates the message instance specified in AMsg with the header values. UIDRetrieveHeader validates the UID in AMsgUID to ensure that it contains a valid value, and raises and EIdNumberInvalid ( exception if the condition is not met.

126)

UIDRetrieveHeader requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select the current mailbox for the IMAP4 account prior to calling UIDRetrieveHeader. UIDRetrieveHeader sends the IMAP4 FETCH command for the specified message number to access the stored header values. UIDRetrieveHeader ensures that the untagged server response contains an RFC 822 header before populating the header values in the specified message instance. Please note that any existing header values in AMsg are cleared prior to parsing and storing headers from the IMAP4 server response. UIDRetrieveHeader sets the return value to True when the protocol response contains the value IMAP_OK (

4334).

UIDRetrieveHeader is used in the implementation of the RetrieveAllHeaders ( 1177) method, which is in turn called by SelectMailBox ( 1205) when RetrieveOnSelect ( 1247) contains the value rsHeaders. Use RetrieveHeader (

1180) to retrieve (

1176) message headers by a relative message number.

See Also ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) MailBox ( 1245) RetrieveAllHeaders ( RetrieveHeader ( 1180) EIdConnectionStateError ( 70) EIdNumberInvalid ( 126) TIdMessage.Headers ( 1546)

1177)

TIdIMAP4.UIDRetrieveMailBoxSize Method Indicates the size of all messages in the currently selected mailbox. Pascal function UIDRetrieveMailBoxSize: Integer; Returns Integer - Bytes required to store all messages in the mailbox or -1 when an error occurs. 1218

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Description UIDRetrieveMailBoxSize is an Integer function that calculates the size of all messages in the currently selected mailbox. The calculated size for the mailbox includes all message parts (including attachments) currently stored on the remote IMAP4 server. UIDRetrieveMailBoxSize requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select the current mailbox for the IMAP4 account prior to calling UIDRetrieveMailBoxSize. UIDRetrieveMailBoxSize calls SendCMd using the IMAP4 FETCH command to get the message size for each of the message UIDs in the IMAP4 mailbox, and accumulates the total size as the return value for the method. The return value for UIDRetrieveMailBoxSize is -1 if a protocol response error occurs in the method. Use RetreiveMsgSize or UIDRetreiveMsgSize to determine the size of a specific message stored in the currently selected mailbox for the IMAP4 account. See Also ConnectionState ( 1244) EIdConnectionStateError ( RetrieveMailBoxSize ( 1181) IMAP_OK ( 4334)

70) SendCmd (

1206) RetreiveMsgSize UIDRetreiveMsgSize

TIdIMAP4.UIDRetrieveMsgSize Method Indicates the size of a specified message in the currently selected mailbox. Pascal function UIDRetrieveMsgSize( const AMsgUID: String ): Integer; Parameters Parameters

Description

AMsgUID

Message unique identifier to access in the mailbox.

Returns Integer - Bytes required to store the message in the mailbox or -1 when an error occurs. Description UIDRetrieveMsgSize is an Integer function that calculates the size of the message unique identifier specified by AMsgUID in the currently selected IMAP4 mailbox. UIDRetrieveMsgSize validates the message UID in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrieveMsgSize requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling UIDRetrieveMsgSize. UIDRetrieveMsgSize calls SendCMd using the IMAP4 FETCH command to get the message size for the specified UID in the IMAP mailbox. The server response is examined for the message size when the server response contains the value IMAP_OK ( 4334), and sets the return value for the method. The return value for UIDRetrieveMsgSize is -1 if a protocol error response occurs in the method. Use RetrieveMsgSize (

1181) to retrieve (

Use RetrieveMailBoxSize ( IMAP4 account.

1176) the size of a message using the relative message number for the message.

1181) to retrieve (

1176) the space required for all messages in the currently selected mailbox for the

See Also ConnectionState ( 1244) EIdConnectionStateError ( 1181) RetrieveMailBoxSize ( 1181)

Internet Direct (Indy) Version 10.1.5

70) EIdNumberInvalid (

126) SendCmd (

1206) RetrieveMsgSize (

1219

TIdIMAP4 Class

Classes

TIdIMAP4.UIDRetrieveNoDecodeToFile Method Retrieves the raw encoded contents of a message and stores the contents in a file. Pascal function UIDRetrieveNoDecodeToFile( const AMsgUID: String; ADestFile: string ): Boolean; Parameters Parameters

Description

AMsgUID

Unique identifier for the message to retrieve (

ADestFile

File name used to store the message contents.

1176).

Returns Boolean - True on success. Description UIDRetrieveNoDecodeToFile is a Boolean function used to retrieve ( 1176) the raw encoded contents of the unique message identifier indicated in AMsgUID, and to store the message contents in the file indicated by ADestFile. UIDRetrieveNoDecodeToFile can be used to access the contents of the message without creating object instances in the MessageParts collection. UIDRetrieveNoDecodeToFile validates the message UID in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrieveNoDecodeToFile requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling UIDRetrieveNoDecodeToFile. UIDRetrieveNoDecodeToFile creates a TIdMessage ( 1521) instance used to temporarily store the encoded contents of the specified message. The TIdMessage ( 1521) instance is freed after storing the message contents in the indicated file. UIDRetrieveNoDecodeToFile returns True on successful completion of message retrieval. UIDRetrieveNoDecodeToFile returns False if a protocol error response is received during retrieval of the specified message. Use UIDRetrieveNoDecodeToStream ( stream.

1220) to retrieve (

1176) a message without decoding, and to store the contents in a

See Also ConnectionState ( 1244) UIDRetrieveNoDecodeToStream ( TIdMessage.NoDecode ( 1549)

1220) EIdNumberInvalid (

126) EIdConnectionStateError (

70)

TIdIMAP4.UIDRetrieveNoDecodeToStream Method Pascal function UIDRetrieveNoDecodeToStream( const AMsgUID: String; AStream: TIdStream ): Boolean; Parameters Parameters

Description

AMsgUID

Scope is const. Type is String.

AStream

Type is TIdStream (

3087).

Returns Boolean

1220

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Description UIDRetrieveNoDecodeToStream is a method. UIDRetrieveNoDecodeToStream returns a Boolean value.

TIdIMAP4.UIDRetrievePart Method Overload List Method

Description

TIdIMAP4.UIDRetrievePart (String, Retrieves an individual message part for a specified message stored in the remote Integer, PChar, Integer, string) ( 1221) mailbox. TIdIMAP4.UIDRetrievePart (String, Retrieves an individual message part for a specified message stored in the remote Integer, TIdBytes, Integer, string) ( 1222) mailbox. TIdIMAP4.UIDRetrievePart (String, Retrieves an individual message part for a specified message stored in the remote string, PChar, Integer, string) ( 1223) mailbox. TIdIMAP4.UIDRetrievePart string, TIdBytes, Integer, string) (

(String, Retrieves an individual message part for a specified message stored in the remote 1224) mailbox.

TIdIMAP4.UIDRetrievePart (String, string, TIdStream, string) ( 1225)

TIdIMAP4.UIDRetrievePart Method (String, Integer, PChar, Integer, string) Retrieves an individual message part for a specified message stored in the remote mailbox. Pascal function UIDRetrievePart( const AMsgUID: String; const APartNum: Integer; var ABuffer: PChar; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique message identifier for the message.

APartNum

Message part number to be retrieved.

ABuffer

Destination used to store the retrieved message part.

ABufferLength

Length of the message part.

AContentTransferEncoding

Content transfer encoding for the message part.

Returns Boolean - True on success. Description UIDRetrievePart is an overloaded Boolean function used to retrieve ( identifier specified in aMsgUID.

1176) an individual message part for the unique message

Use UIDRetrieveStructure ( 1236) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling UIDRetrievePart. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. Internet Direct (Indy) Version 10.1.5

1221

TIdIMAP4 Class

Classes

UIDRetrievePart validates the unique message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePart requires that ConnectionState ( exception will be raised. Use SelectMailBox ( UIDRetrievePart.

1244) contain the value csSelected, or an EIdConnectionStateError ( 70) 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling

UIDRetrievePart sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. UIDRetrievePart assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contains the decoded message part content and ABufferLength will contain the length of the decoded message part. See Also UIDRetrievePart UIDRetrieveStructure ( 1236) UIDRetrievePartPeek ( 1226) UIDRetrievePartToFile ( UIDRetrievePartToFilePeek ( 1232) RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( RetrievePartToFile ( 1194) RetrievePartToFilePeek ( 1196)

1230) 1189)

TIdIMAP4.UIDRetrievePart Method (String, Integer, TIdBytes, Integer, string) Retrieves an individual message part for a specified message stored in the remote mailbox. Pascal function UIDRetrievePart( const AMsgUID: String; const APartNum: Integer; var ABuffer: TIdBytes; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique message identifier for the message.

APartNum

Message part number to be retrieved.

ABuffer

Destination used to store the retrieved message part.

ABufferLength

Length of the message part.

AContentTransferEncoding

Content transfer encoding for the message part.

Returns Boolean - True on success. Description UIDRetrievePart is an overloaded Boolean function used to retrieve ( identifier specified in aMsgUID.

1176) an individual message part for the unique message

Use UIDRetrieveStructure ( 1236) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling UIDRetrievePart. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. UIDRetrievePart validates the unique message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePart requires that ConnectionState ( 1222

1244) contain the value csSelected, or an EIdConnectionStateError (

70)

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

exception will be raised. Use SelectMailBox ( UIDRetrievePart.

1205) or ExamineMailBox (

1167) to select a mailbox prior to calling

UIDRetrievePart sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. UIDRetrievePart assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contains the decoded message part content and ABufferLength will contain the length of the decoded message part. See Also UIDRetrievePart UIDRetrieveStructure ( 1236) UIDRetrievePartPeek ( 1226) UIDRetrievePartToFile ( UIDRetrievePartToFilePeek ( 1232) RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( RetrievePartToFile ( 1194) RetrievePartToFilePeek ( 1196)

1230) 1189)

TIdIMAP4.UIDRetrievePart Method (String, string, PChar, Integer, string) Retrieves an individual message part for a specified message stored in the remote mailbox. Pascal function UIDRetrievePart( const AMsgUID: String; const APartNum: string; var ABuffer: PChar; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique message identifier for the message.

APartNum

Message part number to be retrieved.

ABuffer

Destination used to store the retrieved message part.

ABufferLength

Length of the message part.

AContentTransferEncoding

Content transfer encoding for the message part.

Returns Boolean - True on success. Description UIDRetrievePart is an overloaded Boolean function used to retrieve ( identifier specified in aMsgUID.

1176) an individual message part for the unique message

Use UIDRetrieveStructure ( 1236) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling UIDRetrievePart. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. UIDRetrievePart validates the unique message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePart requires that ConnectionState ( exception will be raised. Use SelectMailBox ( UIDRetrievePart.

1244) contain the value csSelected, or an EIdConnectionStateError ( 70) 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling

UIDRetrievePart sends the IMAP4 FETCH command to retrieve ( Internet Direct (Indy) Version 10.1.5

1176) the specified message part, and retrieves the message 1223

TIdIMAP4 Class

Classes

part content using a TIdTCPStream ( 2381) instance. UIDRetrievePart assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contains the decoded message part content and ABufferLength will contain the length of the decoded message part. See Also UIDRetrievePart UIDRetrieveStructure ( 1236) UIDRetrievePartPeek ( 1226) UIDRetrievePartToFile ( UIDRetrievePartToFilePeek ( 1232) RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( RetrievePartToFile ( 1194) RetrievePartToFilePeek ( 1196)

1230) 1189)

TIdIMAP4.UIDRetrievePart Method (String, string, TIdBytes, Integer, string) Retrieves an individual message part for a specified message stored in the remote mailbox. Pascal function UIDRetrievePart( const AMsgUID: String; const APartNum: string; var ABuffer: TIdBytes; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique message identifier for the message.

APartNum

Message part number to be retrieved.

ABuffer

Destination used to store the retrieved message part.

ABufferLength

Length of the message part.

AContentTransferEncoding

Content transfer encoding for the message part.

Returns Boolean - True on success. Description UIDRetrievePart is an overloaded Boolean function used to retrieve ( identifier specified in aMsgUID.

1176) an individual message part for the unique message

Use UIDRetrieveStructure ( 1236) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling UIDRetrievePart. ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. UIDRetrievePart validates the unique message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePart requires that ConnectionState ( exception will be raised. Use SelectMailBox ( UIDRetrievePart.

1244) contain the value csSelected, or an EIdConnectionStateError ( 70) 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling

UIDRetrievePart sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. UIDRetrievePart assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval.

1224

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

After retrieval of the message part, ABuffer will contains the decoded message part content and ABufferLength will contain the length of the decoded message part. See Also UIDRetrievePart UIDRetrieveStructure ( 1236) UIDRetrievePartPeek ( 1226) UIDRetrievePartToFile ( UIDRetrievePartToFilePeek ( 1232) RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( RetrievePartToFile ( 1194) RetrievePartToFilePeek ( 1196)

1230) 1189)

TIdIMAP4.UIDRetrievePart Method (String, string, TIdStream, string) Pascal function UIDRetrievePart( const AMsgUID: String; const APartNum: string; var ADestStream: TIdStream; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Scope is const. Type is String.

APartNum

Scope is const. Type is string.

ADestStream

Scope is var. Type is TIdStream (

AContentTransferEncoding

Type is string. Default value is 'tex.

3087).

Returns Boolean Description UIDRetrievePart is a overloaded method. UIDRetrievePart returns a Boolean value. See Also TIdIMAP4.UIDRetrievePart

TIdIMAP4.UIDRetrievePartHeader Method Retrieves RFC headers for a specified message and message part. Pascal function UIDRetrievePartHeader( const AMsgUID: String; const APartNum: string; AHeaders: TIdHeaderList ): Boolean; Parameters Parameters

Description

AMsgUID

Unique identifier for the message.

APartNum

Relative message part number for retrieved headers.

AHeaders

Header values retrieved from the message and message part.

Returns Boolean - True on Success. Description UIDRetrievePartHeader is a Boolean function used to retrieve ( the unique identifier for the message in the current mailbox.

1176) RFC-compliant headers for a specific message part using

AMsgUID specifies the unique identifier (UID) for the message as stored in the current mailbox on the remote IMAP4 server.

Internet Direct (Indy) Version 10.1.5

1225

TIdIMAP4 Class

Classes

APartNum indicates the relative message part number to be used for retrieval of RFC-compliant message headers. APartNum is the ordinal position of the message part as indicated by RetrieveStructure ( 1200) or UIDRetrieveStructure ( 1236). AHeaders is used to store the RFC-compliant message headers retrieved for the specified message and message part. UIDRetrievePartHeader validates the message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePartHeader requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartHeader ( 1188) or UIDRetrievePartHeader. UIDRetrievePartHeader sends the IMAP4 FETCH command with the relative message number and data element requests needed to retrieve ( 1176) the message headers for a message part. The return value for the UIDRetrievePartHeader. method indicates if message headers were successfully retrieved using the specified message identifier and message part number. The return value will be False if a protocol error response (a value other than IMAP_OK ( 4334)) is received during processing in the method. Text returned in the IMAP4 server response is parsed to determine the size of the message headers for the specified message part. Instances of TIdTCPStream ( 2381) and TIdStreamVCL ( 2709) are created for internal use during retrieval and storage of the message headers in the server response. Use OnWorkForPart (

1250) to respond to work events occurring during retrieval of the message part headers.

Use RetrievePartHeader ( number for the message.

1188) to retrieve (

1176) message headers for a specified message part using the relative message

Use RetrieveStructure ( 1200) or UIDRetrieveStructure ( stored on the remote IMAP4 server. Use RetrievePart ( part.

1183) or UIDRetrievePart (

1236) to determine all of the message parts available in a message

1221) to retrieve (

1176) the headers and the content for a specified message

Use RetrievePartPeek ( 1189), RetrievePartToFilePeek ( 1196), UIDRetrievePartPeek ( 1226), UIDRetrievePartToFilePeek ( 1232) to retrieve ( 1176) a message part without affecting the message flags for the message. See Also ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) RetrievePart ( 1183) RetrievePartHeader ( RetrievePartPeek ( 1189) RetrievePartToFilePeek ( 1196) RetrieveStructure ( 1200) UIDRetrievePart ( UIDRetrievePartHeader UIDRetrievePartPeek ( 1226) UIDRetrievePartToFilePeek ( 1232) UIDRetrieveStructure ( OnWorkForPart ( 1250) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70)

1188) 1221) 1236)

TIdIMAP4.UIDRetrievePartPeek Method Overload List Method

Description

TIdIMAP4.UIDRetrievePartPeek (String, Retrieves a specified message part without affecting the flags stored for the message. Integer, PChar, Integer, string) ( 1226) TIdIMAP4.UIDRetrievePartPeek (String, Retrieves a specified message part without affecting the flags stored for the message. Integer, TIdBytes, Integer, string) ( 1228) TIdIMAP4.UIDRetrievePartPeek (String, string, PChar, Integer, string) ( 1229) TIdIMAP4.UIDRetrievePartPeek (String, string, TIdStream, string) ( 1229)

TIdIMAP4.UIDRetrievePartPeek Method (String, Integer, PChar, Integer, string) Retrieves a specified message part without affecting the flags stored for the message.

1226

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Pascal function UIDRetrievePartPeek( const AMsgUID: String; const APartNum: Integer; var ABuffer: PChar; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique identifier for the message with the desired message part.

APartNum

Relative part number for the message part.

ABuffer

Buffer for storing the retrieve (

ABufferLength

SIze of the buffer need to store the message part.

AContentTransferEncoding

Content transfer encoding applied to the stored message part.

1176) message part.

Returns Boolean - True on success. Description UIDRetrievePartPeek is an overloaded Boolean function used to retrieve ( affecting the flags stored on the remote IMAP4 server for the message.

1176) a message part for a specific message without

AMsgUID is the unique identifier (UID) for the message stored in the current mailbox on the remote IMAP4 server. APartNum is the relative part number for the requested message part. Use RetrieveStructure ( 1200) or UIDRetrieveStructure ( 1236) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart ( 1183) or RetrievePartPeek ( 1189). ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. UIDRetrievePartPeek validates the message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePartPeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartPeek ( 1189) or UIDRetrievePartPeek. UIDRetrievePartPeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. UIDRetrievePartPeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contain the decoded message part content and ABufferLength will contain the length of the decoded message part. Please note that UIDRetrievePartPeek does not affect the message flags stored for the message. Specifically, it allows accessing the message parts without setting the 'Seen' message flag that indicates the message has been read. Use RetrievePart (

1183) or UIDRetrievePart (

Use RetrievePartToFilePeek ( file on the local system. Use RetrievePeek ( message.

1221) to retrieve (

1176) (and mark as seen) a specific message part.

1196) or UIDRetrievePartToFilePeek (

1199) or UIDRetrievePeek (

Internet Direct (Indy) Version 10.1.5

1232) to capture and store an unseen message part into a

1234) to perform similar processing for the entire contents of a specified

1227

TIdIMAP4 Class

Classes

See Also RetrievePart ( 1183) RetrievePartPeek ( 1189) RetrievePartToFilePeek ( 1196) RetrievePeek ( 1199) RetrieveStructure ( 1200) UIDRetrievePart ( 1221) UIDRetrievePartPeek UIDRetrievePartToFilePeek ( 1232) UIDRetrievePeek ( 1234) UIDRetrieveStructure ( 1236) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70) ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250) TIdTCPStream ( 2381)

TIdIMAP4.UIDRetrievePartPeek Method (String, Integer, TIdBytes, Integer, string) Retrieves a specified message part without affecting the flags stored for the message. Pascal function UIDRetrievePartPeek( const AMsgUID: String; const APartNum: Integer; var ABuffer: TIdBytes; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique identifier for the message with the desired message part.

APartNum

Relative part number for the message part.

ABuffer

Buffer for storing the retrieve (

ABufferLength

SIze of the buffer need to store the message part.

AContentTransferEncoding

Content transfer encoding applied to the stored message part.

1176) message part.

Returns Boolean - True on success. Description UIDRetrievePartPeek is an overloaded Boolean function used to retrieve ( affecting the flags stored on the remote IMAP4 server for the message.

1176) a message part for a specific message without

AMsgUID is the unique identifier (UID) for the message stored in the current mailbox on the remote IMAP4 server. APartNum is the relative part number for the requested message part. Use RetrieveStructure ( 1200) or UIDRetrieveStructure ( 1236) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePart ( 1183) or RetrievePartPeek ( 1189). ABuffer is the storage to use for the retrieved message part after decoding the message content using the algorithm specified in AContentTransferEncoding. On successful retrieval of the message part, the values in ABuffer and ABufferLength are updated to reflect the message part content and length (respectively). Please note that the caller is responsible for freeing the memory allocated in ABuffer by calling FreeMem. UIDRetrievePartPeek validates the message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePartPeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartPeek ( 1189) or UIDRetrievePartPeek. UIDRetrievePartPeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. UIDRetrievePartPeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. After retrieval of the message part, ABuffer will contain the decoded message part content and ABufferLength will contain the length 1228

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

of the decoded message part. Please note that UIDRetrievePartPeek does not affect the message flags stored for the message. Specifically, it allows accessing the message parts without setting the 'Seen' message flag that indicates the message has been read. Use RetrievePart (

1183) or UIDRetrievePart (

Use RetrievePartToFilePeek ( file on the local system. Use RetrievePeek ( message.

1221) to retrieve (

1176) (and mark as seen) a specific message part.

1196) or UIDRetrievePartToFilePeek (

1199) or UIDRetrievePeek (

1232) to capture and store an unseen message part into a

1234) to perform similar processing for the entire contents of a specified

See Also RetrievePart ( 1183) RetrievePartPeek ( 1189) RetrievePartToFilePeek ( 1196) RetrievePeek ( 1199) RetrieveStructure ( 1200) UIDRetrievePart ( 1221) UIDRetrievePartPeek UIDRetrievePartToFilePeek ( 1232) UIDRetrievePeek ( 1234) UIDRetrieveStructure ( 1236) EIdNumberInvalid ( 126) EIdConnectionStateError ( 70) ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250) TIdTCPStream ( 2381)

TIdIMAP4.UIDRetrievePartPeek Method (String, string, PChar, Integer, string) Pascal function UIDRetrievePartPeek( const AMsgUID: String; const APartNum: string; var ABuffer: PChar; var ABufferLength: Integer; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Scope is const. Type is String.

APartNum

Scope is const. Type is string.

ABuffer

Scope is var. Type is PChar.

ABufferLength

Scope is var. Type is Integer.

AContentTransferEncoding

Type is string. Default value is 'tex.

Returns Boolean Description UIDRetrievePartPeek is a overloaded method. UIDRetrievePartPeek returns a Boolean value. See Also TIdIMAP4.UIDRetrievePartPeek

TIdIMAP4.UIDRetrievePartPeek Method (String, string, TIdStream, string) Pascal function UIDRetrievePartPeek( const AMsgUID: String; const APartNum: string; var ADestStream: TIdStream; AContentTransferEncoding: string = 'text' ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Scope is const. Type is String.

Internet Direct (Indy) Version 10.1.5

1229

TIdIMAP4 Class

Classes

APartNum

Scope is const. Type is string.

ADestStream

Scope is var. Type is TIdStream (

AContentTransferEncoding

Type is string. Default value is 'tex.

3087).

Returns Boolean Description UIDRetrievePartPeek is a overloaded method. UIDRetrievePartPeek returns a Boolean value. See Also TIdIMAP4.UIDRetrievePartPeek

TIdIMAP4.UIDRetrievePartToFile Method Overload List Method

Description

TIdIMAP4.UIDRetrievePartToFile Retrieves and stores a message part for a message in the specified local file. (String, Integer, Integer, string, string) ( 1230) TIdIMAP4.UIDRetrievePartToFile (String, string, Integer, string, string) ( 1231)

TIdIMAP4.UIDRetrievePartToFile Method (String, Integer, Integer, string, string) Retrieves and stores a message part for a message in the specified local file. Pascal function UIDRetrievePartToFile( const AMsgUID: String; const APartNum: Integer; ALength: Integer; ADestFileNameAndPath: string; AContentTransferEncoding: string ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique identifier (UID) for the desired message.

APartNum

relative part number for the message part.

ALength

size of message part as indicated in the IMAP4 server response.

ADestFileNameAndPath

name of the file (including the optional path) used to store the contents of the message part.

AContentTransferEncoding

content transfer encoding expected for the specified message part.

Returns Boolean - True on success. Description UIDRetrievePartToFile is a Boolean function used to retrieve ( 1176) a specific message part for the specified message, and to store the message parts contents in the specified local file name. AMsgUID is the unique identifier (UID) for the message as stored in the currently selected mailbox on the remote IMAP4 server. APartNum is the relative part number for the message part in the structure for the message. ALength is the size of message part as indicated in the IMAP4 server response. ADestFileNameAndPath is the name of the file (including the optional path) used to store the contents of the message part. 1230

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

AContentTransferEncoding is the content transfer encoding expected for the specified message part. Use RetrieveStructure ( 1200) or UIDRetrieveStructure ( 1236) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePartToFile ( 1194). UIDRetrievePartToFile validates the unique identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePartToFile validates the message part number in APartNum to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePartToFile requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartToFile ( 1194). UIDRetrievePartToFile sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. UIDRetrievePartToFile assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. The return value for the method is True if the message part is successfully retrieved for the specified message. The return value for the method is False if a protocol error response is received (any value other than IMAP_OK ( 4334)) or the value in ADestFileNameAndPath is an empty string (''). Please note that the destination file specified in ADestFileNameAndPath will contain the decoded content for the message part after reversing the encoding algorithm specified in AContentTransferEncoding. Use RetrievePartToFilePeek ( 1196) or UIDRetrievePartToFilePeek ( affecting the stored message flags for the message.

1232) to retrieve (

Use RetrievePart ( 1183) or UIDRetrievePart ( flags for the message.

1176) a message part and to update the stored message

1221) to retrieve (

1176) a message part to a file without

See Also RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( 1189) RetrievePartToFilePeek ( 1196) UIDRetrievePart ( 1221) UIDRetrieveStructure ( 1236) UIDRetrievePartPeek ( 1226) UIDRetrievePartToFilePeek ( 1232) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250)

TIdIMAP4.UIDRetrievePartToFile Method (String, string, Integer, string, string) Pascal function UIDRetrievePartToFile( const AMsgUID: String; const APartNum: string; ALength: Integer; ADestFileNameAndPath: string; AContentTransferEncoding: string ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Scope is const. Type is String.

APartNum

Scope is const. Type is string.

ALength

Type is Integer.

ADestFileNameAndPath

Type is string.

AContentTransferEncoding

Type is string.

Returns Boolean

Internet Direct (Indy) Version 10.1.5

1231

TIdIMAP4 Class

Classes

Description UIDRetrievePartToFile is a overloaded method. UIDRetrievePartToFile returns a Boolean value. See Also TIdIMAP4.UIDRetrievePartToFile

TIdIMAP4.UIDRetrievePartToFilePeek Method Overload List Method

Description

TIdIMAP4.UIDRetrievePartToFilePeek Retrieves and stores a message part for a message in the specified local file without (String, Integer, Integer, string, string) ( updating message flags stored on the remote IMAP4 server. 1232) TIdIMAP4.UIDRetrievePartToFilePeek Retrieves and stores a message part for a message in the specified local file without (String, string, Integer, string, string) ( updating message flags stored on the remote IMAP4 server. 1233)

TIdIMAP4.UIDRetrievePartToFilePeek Method (String, Integer, Integer, string, string) Retrieves and stores a message part for a message in the specified local file without updating message flags stored on the remote IMAP4 server. Pascal function UIDRetrievePartToFilePeek( const AMsgUID: String; const APartNum: Integer; ALength: Integer; ADestFileNameAndPath: string; AContentTransferEncoding: string ): Boolean; overload; Parameters Parameters

Description

APartNum

relative part number for the message part.

ALength

size of message part as indicated in the IMAP4 server response.

ADestFileNameAndPath

name of the file (including the optional path) used to store the contents of the message part.

AContentTransferEncoding

content transfer encoding expected for the specified message part.

AMsgNum

relative message number for the message.

Returns Boolean - True on success. Description RetrievePartToFilePeek ( 1196) is a Boolean function used to retrieve ( 1176) a specific message part for the specified message, and to store the message parts contents in the specified local file name. RetrievePartToFilePeek ( 1196) is similar to RetrievePartToFile ( 1194), but does not update the message flags stored on the remote IMAP4 server. Specifically, it does not affect the 'Seen' flag when accessing the message and/or message parts. AMsgNum is the relative message number for the message as stored in the currently selected mailbox on the remote IMAP4 server. APartNum is the relative part number for the message part in the structure for the message. ALength is the size of message part as indicated in the IMAP4 server response. ADestFileNameAndPath is the name of the file (including the optional path) used to store the contents of the message part. AContentTransferEncoding is the content transfer encoding expected for the specified message part. Use RetrieveStructure ( 1232

1200) to find the message parts available for a specific message, and the content transfer encoding used Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling RetrievePartToFilePeek ( 1196). RetrievePartToFilePeek ( 1196) validates the message number in AMsgNum to ensure that it contains a positive non-zero value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartToFilePeek ( 1196) validates the message part number in APartNum to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. RetrievePartToFilePeek ( 1196) requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartToFilePeek ( 1196). RetrievePartToFilePeek ( 1196) sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. RetrievePartToFilePeek ( 1196) assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. The return value for the method is True if the message part is successfully retrieved for the specified message. The return value for the method is False if a protocol error response is received (any value other than IMAP_OK ( 4334)) or the value in ADestFileNameAndPath is an empty string (''). Please note that the destination file specified in ADestFileNameAndPath will contain the decoded content for the message part after reversing the encoding algorithm specified in AContentTransferEncoding. Use RetrievePartToFile ( 1194) or UIDRetrievePartToFile ( stored message flags for the message. Use RetrievePart ( 1183) or UIDRetrievePart ( flags for the message.

1230) to retrieve (

1221) to retrieve (

1176) a message part to a file and to update the

1176) a message part and to update the stored message

See Also RetrievePart ( 1183) RetrieveStructure ( 1200) RetrievePartPeek ( 1189) RetrievePartToFile ( 1194) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250)

TIdIMAP4.UIDRetrievePartToFilePeek Method (String, string, Integer, string, string) Retrieves and stores a message part for a message in the specified local file without updating message flags stored on the remote IMAP4 server. Pascal function UIDRetrievePartToFilePeek( const AMsgUID: String; const APartNum: string; ALength: Integer; ADestFileNameAndPath: string; AContentTransferEncoding: string ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique identifier for the desired message.

APartNum

relative part number for the message part.

ALength

size of message part as indicated in the IMAP4 server response.

ADestFileNameAndPath

name of the file (including the optional path) used to store the contents of the message part.

AContentTransferEncoding

content transfer encoding expected for the specified message part.

Returns Boolean - True on success. Description UIDRetrievePartToFilePeek is a Boolean function used to retrieve ( Internet Direct (Indy) Version 10.1.5

1176) a specific message part for the specified message, and 1233

TIdIMAP4 Class

Classes

to store the message parts contents in the specified local file name. UIDRetrievePartToFilePeek is similar to UIDRetrievePartToFile ( 1230), but does not update the message flags stored on the remote IMAP4 server. Specifically, it does not affect the 'Seen' flag when accessing the message and/or message parts. AMsgUID is the unique identifier (UID) for the message as stored in the currently selected mailbox on the remote IMAP4 server. APartNum is the relative part number for the message part in the structure for the message. ALength is the size of message part as indicated in the IMAP4 server response. ADestFileNameAndPath is the name of the file (including the optional path) used to store the contents of the message part. AContentTransferEncoding is the content transfer encoding expected for the specified message part. Use RetrieveStructure ( 1200) or UIDRetrieveStructure ( 1236) to find the message parts available for a specific message, and the content transfer encoding used for each of the message parts. Use the message part number (the relative position of the message part) and the content transfer encoding when calling UIDRetrievePartToFilePeek. UIDRetrievePartToFilePeek validates the message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePartToFilePeek validates the message part number in APartNum to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrievePartToFilePeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrievePartToFilePeek ( 1196) or UIDRetrievePartToFilePeek. UIDRetrievePartToFilePeek sends the IMAP4 FETCH command to retrieve ( 1176) the specified message part, and retrieves the message part content using a TIdTCPStream ( 2381) instance. UIDRetrievePartToFilePeek assigns the event handlers in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250) to the TIdTCPStream ( 2381) instance to respond to work events occurring during message part retrieval. The return value for the method is True if the message part is successfully retrieved for the specified message. The return value for the method is False if a protocol error response is received (any value other than IMAP_OK ( 4334)) or the value in ADestFileNameAndPath is an empty string (''). Please note that the destination file specified in ADestFileNameAndPath will contain the decoded content for the message part after reversing the encoding algorithm specified in AContentTransferEncoding. Use RetrievePartToFile ( 1194) or UIDRetrievePartToFile ( stored message flags for the message. Use RetrievePart ( 1183) or UIDRetrievePart ( flags for the message.

1230) to retrieve (

1221) to retrieve (

1176) a message part to a file and to update the

1176) a message part and to update the stored message

See Also RetrievePart ( 1183) RetrievePartPeek ( 1189) RetrievePartToFile ( 1194) RetrieveStructure ( 1200) UIDRetrievePart ( 1221) UIDRetrievePartPeek ( 1226) UIDRetrievePartToFile ( 1230) UIDRetrieveStructure ( 1236) EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) OnWorkEndForPart ( 1250)

TIdIMAP4.UIDRetrievePeek Method Retrieves a message from a mailbox without marking it as read on the server. Pascal function UIDRetrievePeek( const AMsgUID: String; AMsg: TIdMessage ): Boolean;

1234

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Parameters Parameters

Description

AMsgUID

Unique identifier for the desired message.

AMsg

Stores the retrieved message headers, body, and attachments.

Returns Boolean - True on success. Description UIDRetrievePeek is a Boolean function that retrieves the entire contents for a message from a mailbox without marking it as read on the remote IMAP4 server. Please note that "Peek" versions of the IMAP4 functions do NOT set the mfSeen message flag. A new message in your inbox should not have set the mfSeen flag until you retrieve ( 1176) the message via a function such as Retrieve ( 1176). You can, however, retrieve ( 1176) the message via RetrievePeek ( 1199), which should not set the mfSeen flag. The situation is not so clear, however, if you retrieve ( 1176) the third attachment (only) of an email. All the "Peek" versions of TIdIMAP4 ( 1150) functions do imply that the mfSeen flag NOT be set. Be aware that IMAP4 server support for the "Peek" functionality may vary. UIDRetrievePeek requires that ConnectionState ( exception will be raised.

1244) contain the value csSelected, or an EIdConnectionStateError (

70)

UIDRetrievePeek calls a protected method that sends the IMAP4 FETCH command for the message number specified in AMsgNum. UIDRetrievePeek performs validation for the unique message identifier to ensure that it contains a valid value. An EIdNumberInvalid ( 126) exception can be raised if the condition is not met. On successful retrieval of the RFC 822 envelope data, UIDRetrievePeek calls ReceiveHeader and ReceiveBody to load the message contents into the TIdMessage ( 1521) instance specified by AMsg. All headers, message parts, and the body of the message instance are cleared prior to storing values retrieved from the remote IMAP4 server. The value of the UID and Flags properties for the message in AMsg are updated based on the values found in the IMAP4 server response. UIDRetrievePeek creates an internal TIdTCPStream ( 2381) instance to read message parts in the serve response, and assigns event handlers for the operation using procedure stored in OnWorkBeginForPart ( 1249), OnWorkForPart ( 1250), and OnWorkEndForPart ( 1250). UIDRetrievePeek sets the return value to True when the IMAP4 server response contains the value IMAP_OK (

4334).

Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox and retrieve ( 1176) messages or headers in Mailbox prior to calling the Retrieve ( 1176), UIDRetrieve ( 1214), RetrievePeek ( 1199), or UIDRetrievePeek methods. Use on of the RetrieveXxx methods to retrieve ( selected mailbox.

1176) message(s) using the relative message number for a message in the

See Also ConnectionState ( 1244) SelectMailBox ( 1205) ExamineMailBox ( 1167) EIdConnectionStateError ( 70) TIdMessage ( 1521) TIdMessage.Headers ( 1546) TIdMessage.Body ( 1538) TIdMessage.MessageParts ( 1548) TIdMessage.UID ( 1553) TIdMessage.Flags ( 1545) Retrieve ( 1176) RetrievePeek ( 1199) UIDRetrieve ( 1214)

TIdIMAP4.UIDRetrieveStructure Method Overload List Method

Description

TIdIMAP4.UIDRetrieveStructure (String, TIdImapMessageParts) ( 1236) TIdIMAP4.UIDRetrieveStructure (String, TIdMessage) ( 1236)

Internet Direct (Indy) Version 10.1.5

1235

TIdIMAP4 Class

Classes

TIdIMAP4.UIDRetrieveStructure Method (String, TIdImapMessageParts) Pascal function UIDRetrieveStructure( const AMsgUID: String; AParts: TIdImapMessageParts ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique identifier for the message.

AParts

Stores informatiuon about the message parts for the message.

Returns Boolean - True on success. Description UIDRetrieveStructure is an overloaded Boolean function used to return a list of the message parts for the message specified in AMsgUID. AParts is used to return the information about the message parts with additional information about the size and content transfer encoding applied to the individual message parts. UIDRetrieveStructure validates the message number in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrieveStructure requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveStructure ( 1200) or UIDRetrieveStructure. UIDRetrieveStructure sends the IMAP4 FETCH command using the specified message number and arguments needed to retrieve ( 1176) the Body structure for the message stored in the current mailbox on the remote IMAP4 server. The return value for the method is True if retrieval of the message part list is completed successfully. The return value for the method is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received during processing in the method. UIDRetrieveStructure parses text in the IMAP4 server response, and stores the data about the message parts in the parameter provided to the method. UIDRetrieveStructure is used in the implementation of other TIdIMAP4 ( 1150) methods, like UIDRetrieveText ( 1237). UIDRetrieveStructure may also be used to access the structure for the message prior to calling methods that require unique identifiers and content transfer encoding information, like UIDRetrievePart ( 1221). See Also EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) RetrievePart ( 1183) RetrieveStructure ( 1200) RetrieveText ( 1201) UIDRetrievePart ( 1221) UIDRetrieveStructure UIDRetrieveText ( 1237) TIdImapMessageParts ( 1270)

TIdIMAP4.UIDRetrieveStructure Method (String, TIdMessage) Pascal function UIDRetrieveStructure( const AMsgUID: String; AMsg: TIdMessage ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Unique identifier for the message.

AMsg

Message instance used to store informatiuon about message parts for the message.

1236

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Returns Boolean - True on success. Description UIDRetrieveStructure is an overloaded Boolean function used to return a list of the message parts for the message specified in AMsgUID. AMsg is used to return the list of message parts with additional information about the size and content transfer encoding applied to the individual message parts. UIDRetrieveStructure validates the message number in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrieveStructure requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling RetrieveStructure ( 1200) or UIDRetrieveStructure. UIDRetrieveStructure sends the IMAP4 FETCH command using the specified message number and arguments needed to retrieve ( 1176) the Body structure for the message stored in the current mailbox on the remote IMAP4 server. The return value for the method is True if retrieval of the message part list is completed successfully. The return value for the method is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received during processing in the method. UIDRetrieveStructure parses text in the IMAP4 server response, and stores the data about the message parts in the parameter provided to the method. UIDRetrieveStructure is used in the implementation of other TIdIMAP4 ( 1150) methods, like UIDRetrieveText ( 1237). UIDRetrieveStructure may also be used to access the structure for the message prior to calling methods that require unique identifiers and content transfer encoding information, like UIDRetrievePart ( 1221). See Also EIdNumberInvalid ( 126) ConnectionState ( 1244) EIdConnectionStateError ( 70) SelectMailBox ( 1205) ExamineMailBox ( 1167) RetrievePart ( 1183) RetrieveStructure ( 1200) RetrieveText ( 1201) UIDRetrievePart ( 1221) UIDRetrieveStructure UIDRetrieveText ( 1237) TIdImapMessageParts ( 1270)

TIdIMAP4.UIDRetrieveText Method Retrieves the text that makes up the body of a message. Pascal function UIDRetrieveText( const AMsgUID: String; var AText: string ): Boolean; Parameters Parameters

Description

AMsgUID

Unique identifier for the message.

AText

destination for text representing the body of the message.

Returns Boolean - True on success. Description UIDRetrieveText is a Boolean function used to retrieve ( 1176) a message part for the specified message that represents the body of the message. UIDRetrieveText uses the IMAP4 BODY[TEXT] command to access the message part that represents the body for the message. Please note that some IMAP4 servers do not correctly return the body text using this command. Some servers return the first unencoded attachment instead. Use UIDRetrieveText2 ( 1238) for servers that exhibit this behavior. UIDRetrieveText validates the message identifier in AMsgUID to ensure that it contains a valid value, and raises an Internet Direct (Indy) Version 10.1.5

1237

TIdIMAP4 Class EIdNumberInvalid (

Classes 126) exception if the requirement is not met.

UIDRetrieveText requires that ConnectionState ( exception will be raised. Use SelectMailBox ( UIDRetrieveText or UIDRetrieveText2 ( 1238).

1244) contain the value csSelected, or an EIdConnectionStateError ( 70) 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling

The return value for the method indicates if the body text was successfully retrieved. The return value is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received, or the number of lines in the body text cannot be determined. UIDRetrieveText captures and decodes the body lines in the IMAP4 server response, and stores the unencoded contents of the message part in the AText argument. UIDRetrieveText creates an instance of TIdTCPStream ( 2381) for use in capturing the body text for the message, and assigns the OnWorkForPart ( 1250), OnWorkBeginForPart ( 1249), and OnWorkEndForPart ( 1250) event handlers used to respond to work events triggered during retrieval of the message part. Please note that some IMAP4 servers may truncate the initial body text found in the message structure if it contains non-textual data such as binary transfer-encoded data or multipart content with the subtype mixed, digest, or parallel. Use UIDRetrieveText2 ( 1238) for servers exhibiting this behavior. Use RetrieveText ( 1201) of RetrieveText2 ( number for the message.

1202) to retrieve (

1176) the body text for a message using the relative message

See Also ConnectionState ( 1244) EIdConnectionStateError ( 70) EIdNumberInvalid ( 126) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250) OnWorkForPart ( 1250) RetrieveText ( 1201) RetrieveText2 ( 1202) SelectMailBox ( 1205) TIdTCPStream ( 2381) UIDRetrieveText2 ( 1238) UIDRetrieveText2 ( 1238)

TIdIMAP4.UIDRetrieveText2 Method Retrieves the text that makes up the body of a message. Pascal function UIDRetrieveText2( const AMsgUID: String; var AText: string ): Boolean; Parameters Parameters

Description

AMsgUID AText

destination for text representing the body of the message.

Returns Boolean - True on success. Description UIDRetrieveText2 is a Boolean function used to retrieve ( 1176) a message part for the specified message that represents the body of the message. RetrieveText2 ( 1202) uses the IMAP4 BODY[TEXT] command to access the message part that represents the body for the message. Please note that some IMAP4 servers do not correctly return the body text using this command. Some servers return the first unencoded attachment instead. Other IMAP4 servers may truncate the initial body text found in the message structure if it contains non-textual data such as binary transfer-encoded data or multipart content with the subtype mixed, digest, or parallel. UIDRetrieveText2 accounts for this behavior by checking the size of the initial message part, and retrieves a subsequent message part when the size of first message part contains 0 (zero). UIDRetrieveText2 validates the message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrieveText2 requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling 1238

Internet Direct (Indy) Version 10.1.5

Classes UIDRetrieveText (

TIdIMAP4 Class 1237) or UIDRetrieveText2.

The return value for the method indicates if the body text was successfully retrieved. The return value is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received, or the number of lines in the body text cannot be determined. UIDRetrieveText2 captures and decodes the body lines in the IMAP4 server response, and stores the unencoded contents of the message part in the AText argument. UIDRetrieveText2 creates an instance of TIdTCPStream ( 2381) for use in capturing the body text for the message, and assigns the OnWorkForPart ( 1250), OnWorkBeginForPart ( 1249), and OnWorkEndForPart ( 1250) event handlers used to respond to work events triggered during retrieval of the message part. Use RetrieveText ( 1201) of RetrieveText2 ( number for the message.

1202) to retrieve (

1176) the body text for a message using the relative message

See Also ConnectionState ( 1244) EIdConnectionStateError ( 70) EIdNumberInvalid ( 126) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250) OnWorkForPart ( 1250) RetrieveText ( 1201) RetrieveText2 ( 1202) RetrieveTextPeek ( 1203) RetrieveText2Peek SelectMailBox ( 1205) TIdTCPStream ( 2381) UIDRetrieveText ( 1237) UIDRetrieveText2 UIDRetrieveTextPeek ( 1239) UIDRetrieveText2Peek

TIdIMAP4.UIDRetrieveTextPeek Method Retrieves the text that makes up the body of a message without updating the flags for the message. Pascal function UIDRetrieveTextPeek( const AMsgUID: String; var AText: string ): Boolean; Parameters Parameters

Description

AMsgUID

Unique identifier for the message.

AText

destination for text representing the body of the message.

Returns Boolean - True on success. Description UIDRetrieveTextPeek is a Boolean function used to retrieve ( 1176) a message part for the specified message that represents the body of the message. UIDRetrieveTextPeek is similar to UIDRetrieveText ( 1237), but does not update the stored flags for the message when accessing the message or message parts in the IMAP4 mailbox. Specifically, it does not set the 'Seen' or mfSeen flag that indicates the message has been read. UIDRetrieveTextPeek uses the IMAP4 BODY[TEXT] command to access the message part that represents the body for the message. Please note that some IMAP4 servers do not correctly return the body text using this command. Some servers return the first unencoded attachment instead. Use UIDRetrieveTextPeek2 ( 1240) for servers that exhibit this behavior. UIDRetrieveTextPeek validates the message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrieveTextPeek requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling UIDRetrieveTextPeek or UIDRetrieveTextPeek2 ( 1240). The return value for the method indicates if the body text was successfully retrieved. The return value is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received, or the number of lines in the body text cannot be determined. UIDRetrieveTextPeek captures and decodes the body lines in the IMAP4 server response, and stores the unencoded contents of the message part in the AText argument. UIDRetrieveTextPeek creates an instance of TIdTCPStream ( 2381) for use in capturing the body text for the message, and assigns the OnWorkForPart ( 1250), OnWorkBeginForPart ( 1249), and OnWorkEndForPart Internet Direct (Indy) Version 10.1.5

1239

TIdIMAP4 Class (

Classes

1250) event handlers used to respond to work events triggered during retrieval of the message part.

Please note that some IMAP4 servers may truncate the initial body text found in the message structure if it contains non-textual data such as binary transfer-encoded data or multipart content with the subtype mixed, digest, or parallel. Use UIDRetrieveText2 ( 1238) for servers exhibiting this behavior. Use RetrieveTextPeek ( 1203) or RetrieveTextPeek2 ( message number for the message.

1204) to retrieve (

1176) the body text for a message using the relative

See Also ConnectionState ( 1244) EIdConnectionStateError ( 70) EIdNumberInvalid ( 126) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250) OnWorkForPart ( 1250) RetrieveText ( 1201) RetrieveText2 ( 1202) RetrieveTextPeek ( 1203) RetrieveText2Peek SelectMailBox ( 1205) TIdTCPStream ( 2381) UIDRetrieveText ( 1237) UIDRetrieveText2 ( 1238) UIDRetrieveTextPeek2 ( 1240)

TIdIMAP4.UIDRetrieveTextPeek2 Method Retrieves the text that makes up the body of a message without updating the flags for the message. Pascal function UIDRetrieveTextPeek2( const AMsgUID: String; var AText: string ): Boolean; Parameters Parameters

Description

AMsgUID

Unique identifier for the message.

AText

destination for text representing the body of the message.

Returns Boolean - True on success. Description UIDRetrieveTextPeek2 is a Boolean function used to retrieve ( 1176) a message part for the specified message that represents the body of the message. UIDRetrieveTextPeek2 is similar to UIDRetrieveTextPeek ( 1239), and does not update the stored flags for the message when accessing the message or message parts in the IMAP4 mailbox. Specifically, it does not set the 'Seen' or mfSeen flag that indicates the message has been read. UIDRetrieveTextPeek2 uses the IMAP4 BODY[TEXT] command to access the message part that represents the body for the message. Please note that some IMAP4 servers do not correctly return the body text using this command. Some servers return the first unencoded attachment instead. UIDRetrieveTextPeek2 accounts for this behavior by accessing subsequent message bodies to locate the text for the message where the initial message part has a length of 0 (zero). UIDRetrieveTextPeek2 validates the message identifier in AMsgUID to ensure that it contains a valid value, and raises an EIdNumberInvalid ( 126) exception if the requirement is not met. UIDRetrieveTextPeek2 requires that ConnectionState ( 1244) contain the value csSelected, or an EIdConnectionStateError ( 70) exception will be raised. Use SelectMailBox ( 1205) or ExamineMailBox ( 1167) to select a mailbox prior to calling UIDRetrieveTextPeek ( 1239) or UIDRetrieveTextPeek2. The return value for the method indicates if the body text was successfully retrieved. The return value is False if a protocol error response (any value other than IMAP_OK ( 4334)) is received, or the number of lines in the body text cannot be determined. UIDRetrieveTextPeek2 captures and decodes the body lines in the IMAP4 server response, and stores the unencoded contents of the message part in the AText argument. UIDRetrieveTextPeek2 creates an instance of TIdTCPStream ( 2381) for use in capturing the body text for the message, and assigns the OnWorkForPart ( 1250), OnWorkBeginForPart ( 1249), and OnWorkEndForPart ( 1250) event handlers used to respond to work events triggered during retrieval of the message part. Use RetrieveTextPeek ( 1240

1203) or RetrieveTextPeek2 (

1204) to retrieve (

1176) the body text for a message using the relative Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

message number for the message. See Also ConnectionState ( 1244) EIdConnectionStateError ( 70) EIdNumberInvalid ( 126) ExamineMailBox ( 1167) OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250) OnWorkForPart ( 1250) RetrieveText ( 1201) RetrieveText2 ( 1202) RetrieveTextPeek ( 1203) RetrieveText2Peek SelectMailBox ( 1205) TIdTCPStream ( 2381) UIDRetrieveText ( 1237) UIDRetrieveTextPeek ( 1239)

TIdIMAP4.UIDSearchMailBox Method Pascal function UIDSearchMailBox( const ASearchInfo: array of TIdIMAP4SearchRec ): Boolean; Parameters Parameters

Description

ASearchInfo

Scope is const. Type is array of TIdIMAP4SearchRec (

2958).

Returns Boolean Description UIDSearchMailBox is a method. UIDSearchMailBox returns a Boolean value.

TIdIMAP4.UIDStoreFlags Method Overload List Method

Description

TIdIMAP4.UIDStoreFlags (array of String, TIdIMAP4StoreDataItem, TIdMessageFlagsSet) ( 1242) TIdIMAP4.UIDStoreFlags TIdIMAP4StoreDataItem, TIdMessageFlagsSet) ( 1241)

(String, Updates the specified message flags for a given message UID.

TIdIMAP4.UIDStoreFlags Method (String, TIdIMAP4StoreDataItem, TIdMessageFlagsSet) Updates the specified message flags for a given message UID. Pascal function UIDStoreFlags( const AMsgUID: String; const AStoreMethod: TIdIMAP4StoreDataItem; const AFlags: TIdMessageFlagsSet ): Boolean; overload; Parameters Parameters

Description

AMsgUID

Message unique identifier to be updated by the method.

AStoreMethod

Method to use for storing flag values.

AFlags

Message flags to be updated for the specified messages.

Returns Boolean - True on success.

Internet Direct (Indy) Version 10.1.5

1241

TIdIMAP4 Class

Classes

Description UIDStoreFlags is a Boolean function that updates the message flags specified in AFlags for the message unique identifier specified in AMsgUID. AStoreMethod indicates if the message flags are added, replaced or removed. When AMsgUID has a length of zero, the return value for the method is set to False and the method is exited. UIDStoreFlags requires that ConnectionState ( exception will be raised.

1244) contain the value csSelected, or an EIdConnectionStateError (

70)

UIDStoreFlags calls SendCmd ( 1206) using the IMAP4 STORE command for the specified messages and flags. UIDStoreFlags sets the return value for the method to True when the server response contains the value IMAP_OK ( 4334). Use StoreFlags (

1209) to update message flag for a message using relative message numbers.

See Also TIdIMAP4StoreDataItem ( StoreFlags ( 1209)

2958) TIdMessageFlags (

2968) ConnectionState (

1244) EIdConnectionStateError (

70)

TIdIMAP4.UIDStoreFlags Method (array of String, TIdIMAP4StoreDataItem, TIdMessageFlagsSet) Pascal function UIDStoreFlags( const AMsgUIDList: array of String; const AStoreMethod: TIdIMAP4StoreDataItem; const AFlags: TIdMessageFlagsSet ): Boolean; overload; Parameters Parameters

Description

AMsgUIDList

Scope is const. Type is array of String.

AStoreMethod

Scope is const. Type is TIdIMAP4StoreDataItem (

AFlags

Scope is const. Type is TIdMessageFlagsSet (

2958).

3059).

Returns Boolean Description UIDStoreFlags is a overloaded method. UIDStoreFlags returns a Boolean value. See Also TIdIMAP4.UIDStoreFlags

TIdIMAP4.UnsubscribeMailBox Method Removes a mailbox from the list of "active" or "subscribed" mailboxes. Pascal function UnsubscribeMailBox( const AMBName: String ): Boolean; Parameters Parameters

Description

AMBName

Mailbox name to removed from the active or subscribed list.

Returns Boolean - True on success. 1242

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Description UnsubscribeMailBox is a Boolean function used to remove the mailbox name specified in AMBName from the list of "active" or "subscribed" mailboxes on the IMAP4 server. UnsubscribeMailBox updates the values that are returned by the IMAP4 LSUB command. UnsubscribeMailBox requires that the ConnectionState ( 1244) for the client contain the value csAuthenticated or csSelected to perform the IMAP4 function. SubscribeMailBox ( 1210) can raise an EIdConnectionStateError ( 70) exception with the message RSIMAP4ConnectionStateError if ConnectionState ( 1244) contains a value other than csAuthenticated or csSelected. UnsubscribeMailBox calls sends the IMAP4 UNSUBSCRIBE command and the value specified in AMBName as an argument. UnsubscribeMailBox returns True when the response code from the IMAP4 server is IMAP_OK ( 4334). Use SubscribeMailBox (

1210) to add a specified mailbox from the "active" or "subscibed" list.

Please note that IMAP4 servers are required to have an "Inbox" folder to allow receipt of email for a given user. This may or may not be case-sensitive. Your implementation may require you to create ( 267) an Inbox folder if it does not already exist. Also, caution is advised when choosing the characters used for mailbox names. Different IMAP servers may allow, and interpret differently, various characters, which is allowed within the IMAP specification. Characters such as ~ / and . may have special meaning in the IMAP servers context, and may produce unexpected results. In practice, some IMAP servers may be case-sensitive and others not. It is recommended that you only use the characters A-Z and 0-9 and that you program to allow for case sensitivity or insensitivity, as applicable. Note that, in general, IdIMAP4 adds double-quotes around mailbox names, which allows the use of spaces in mailbox names, but also note that a perticular IMAP server may not allow spaces (this functionality is necessary to allow IdIMAP4 deal with pre-existing mailboxes that include spaces). See Also ConnectionState (

1244) EIdConnectionStateError (

70) RSIMAP4ConnectionStateError SubscribeMailBox (

1210)

TIdIMAP4.WriteLn Method Used internally to send a command/request to an IMAP server. Pascal procedure WriteLn( AOut: string ); Parameters Parameters

Description

AOut

Command (string) to be sent.

Description WriteLn is an overloaded method used internally to send the command or request specified in AOut to the remote IMAP4 server. WriteLn uses the corresponding method in the IOHandler (

2364) assigned for the client connection

See Also IOHandler (

2364)

TIdIMAP4 Properties The Properties of the TIdIMAP4 class are listed here. Properties Property

Description

AuthType (

1244)

ConnectionState ( GreetingBanner ( Host (

Indicates the mechanism to use for authentication in the Login ( 1244) 1245)

1245)

Internet Direct (Indy) Version 10.1.5

1174) method.

Indicates the IMAP4 connection state. Identifies the server and its state during connection of the IMAP4 session. Identifies the host name or IP address for the remote IMAP4 server.

1243

TIdIMAP4 Class MailBox (

Classes

1245)

Represents the IMAP4 mailbox.

MailBoxSeparator (

1246)

Identifies the character used to separate mailbox names in the hierarchical mailbox namespace.

MilliSecsToWaitToClearBuffer ( Password ( Port (

1246)

1247)

Identifies the credentials for IMAP4 server authentication.

1247)

Identifies the port number used for the IMAP4 server connection.

RetrieveOnSelect (

1247)

SASLMechanisms ( Username ( UseTLS (

Delay time for unhandled response data in the buffer for the client.

Specifies data to automatically retrieve (

1248)

1176) from the mailbox when a mailbox is selected.

SASL authentication mechanisms supported on the remote IMAP4 server.

1248)

Identifies the user name for IMAP4 server authentication.

1249)

Indicates Transport-Level Security is used on the connection.

Legend Property read only

TIdIMAP4.AuthType Property Indicates the mechanism to use for authentication in the Login (

1174) method.

Pascal property AuthType: TIdIMAP4AuthenticationType; Description AuthType is a TIdIMAP4AuthenticationType ( 2957) property that indicates the mechanism to use when performing authentication for the IMAP4 client connection in the Login ( 1174) method. When AuthType contains the value atUserPass, the values in the Username ( 1248) and Password ( 1247) properties are used to perform authentication. Username ( 1248) is required. Password ( 1247) may contain an empty string ('') if the IMAP4 acccount does not require authentication credentials. When AuthType contains the value atSASL, the authentication mechanisms found in the SASLMechanism and Capabilities ( properties are used to send the AUTHENTICATE command. AuthType is used in the Login ( 1174) method following TLS handshaking and negotiations when UseTLS ( and the value in LastCmdResult ( 2367) contains the value IMAP_OK ( 4334). The default value for AuthType is DEF_IMAP4_AUTH ( Use Login (

690)

1249) contains True,

3188), as assigned during initialization of the component.

1174) to establish and authenticate the IMAP4 client connection.

Use ConnectionState ( ( 1174) method. Use Capability (

1244) to determine the state of the IMAP4 connection following authentication or completion of the Login

1159) to request and populate the Capabilities (

690) supported on the remote server.

See Also Capabilities (

690) Capability (

1159) ConnectionState (

1244) Login (

1174) SASLMechanisms (

1248) UseTLS (

1249)

TIdIMAP4.ConnectionState Property Indicates the IMAP4 connection state. Pascal property ConnectionState: TIdIMAP4ConnectionState; Description ConnectionState is a Public read-only TIdIMAP4ConnectionState (

2957) property

ConnectionState is a read-only TIdIMAP4ConnectionState ( 2957) property that indicates the state of the IMAP4 connection. AN IMAP4 connection can exist in one of the following states: Non-Authenticated, Authenticated, Selected, and Logout. ConnectionState is used to determine which IMAP commands are valid for the indicated state. ConnectionState can contain one the follwing TIdIMAP4ConnectionState ( 1244

2957) values: Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Value

Meaning

csAny

Commands allowed in any connection state.

csNonAuthenticated

Commands allowed prior to establishing authentication and entering an authenticated state.

csAuthenticated

Commands allowed after authentication but prior to mailbox selection.

csSelected

Commands allowed after selecting a mailbox.

csUnexpectedlyDisconnected Commands are disallowed because the connection has been closed. csAny allows execution of the commands cmdCAPABILITY, cmdNOOP, and cmdLOGOUT at any time during the IMAP4 session. csNonAuthenticated permits commands from the csAny connection state, as well as the commands cmdAUTHENTICATE and cmdLOGOUT. csAuthenticated permits commands from the csNonAuthenticated connection state, as well as the commands cmdSELECT, cmdEXAMINE, cmdCREATE, cmdDELETE, cmdRENAME, cmdSUBSCRIBE, cmdUNSUBSCRIBE, cmdLIST, cmdLSUB, cmdSTATUS, and cmdAPPEND. csSelected permits commands from the csAuthenticated connection state, as well as the commands cmdCHECK, cmdCLOSE, cmdEXPUNGE, cmdSEARCH, cmdFETCH, cmdSTORE, cmdCOPY, cmdUID, and the experimental/expansion commmands represented by cmdXCmd. csUnexpectedlyDisconnected is used when sending IMAP4 commands and processing server responses to indicate situations where the connection has been reset by the peer. See Also TIdIMAP4ConnectionState (

2957) Login (

1174) Connect (

1161) SendCmd (

1206)

TIdIMAP4.GreetingBanner Property Identifies the server and its state during connection of the IMAP4 session. Pascal property GreetingBanner: string; Description GreetingBanner is a read-only string property used to help in identifying the remote IMAP4 server for the client connection. GreetingBanner can help the user decide the appropriate actions to perform after connecting to the IMAP4 server. GreetingBanner is updated in the Connect ( 1161) method using values returned in the initial IMAP4 server response received after establishing the client connection. This generally includes information that identifies the server and its state, like: * OK IMAP4rev1 Service Ready

TIdIMAP4.Host Property Identifies the host name or IP address for the remote IMAP4 server. Pascal property Host; Description Host is a Published String property that identifies the host name or IP address for the remote IMAP4 server for the client connection. Set values in the Host and Port (

1247) properties prior to calling Connect (

1161) and Login (

1174).

TIdIMAP4.MailBox Property Represents the IMAP4 mailbox. Internet Direct (Indy) Version 10.1.5

1245

TIdIMAP4 Class

Classes

Pascal property MailBox: TIdMailBox; Description MailBox is a TIdMailBox ( the remote IMAP4 server.

1481) property that represents the IMAP4 mailbox including Attributes, Flags, and Messages stored on

Resources are allocated for the MailBox property during initialization of the component, and freed and released in the Destroy ( 1165) method. MailBox is assigned during processing that occurs for the server response in either the SelectMailBox ( 1205) or ExamineMailBox ( 1167) methods, and can be updated in methods that select, retrieve ( 1176) or update messages on the IMAP4 server. Use SelectMailBox (

1205) to select the current mailbox with read or write access.

Use ExamineMailBox (

1167) to select the current mailbox with read-only access.

Please note that message instances stored in the MailBox may not contain the complete contents for messages. They may contain only the headers (and no message parts), based on the value of the RetrieveOnSelect ( 1247) property when the mailbox is selected (or examined). Use one of the RetrieveXxx or UIDRetrieveXxx methods to populate the list of envelopes, headers, and messages in the mailbox. See Also TIdMailBox ( 1481) Destroy ( 1176) UIDRetrieve ( 1214)

1165) SelectMailBox (

1205) ExamineMailBox (

1167) RetrieveOnSelect (

1247) Retrieve (

TIdIMAP4.MailBoxSeparator Property Identifies the character used to separate mailbox names in the hierarchical mailbox namespace. Pascal property MailBoxSeparator: Char; Description MailBoxSeparator is a Char property that represents the character used to separate levels of hierarchy in a hierarchical mailbox namespace. The default value for MailBoxSeparator is '/', as assigned during initialization of the component. The namespace may contain an optional namespace character '#' and namespace identifier that specifies the type of mailbox store, followed by one or more mailboxes. The interpretation of mailbox names is implementation-dependent. However, the case-insensitive mailbox name 'INBOX' is a special name reserved to mean "the primary mailbox for this user on this server". For instance, the following examples represent the default mailbox for an IMAP4 account for the user 'jdoe', and the shared NNTP mailbox for the borland.public.delphi.internet.winsock newsgroup on the server Forums.Borland.Com: jdoe/InBox #news/Forums/Borland/Com/Borland/Public/Delphi/Internet/Winsock By changing the MailboxSeparator character to '.', the previous examples would contain the following: jdoe.InBox #news.Forums.Borland.Com.Borland.Public.Delphi.Internet.Winsock MailBoxSeparator is used when parsing IMAP4 server responses that include mailbox names. MailBoxSeparator may also be updated to reflect the mailbox separator character detected when parsing the IMAP4 server response. Please note that MailBoxSeparator may be set to the value CHAR0 ( as the mailbox seperator character.

3169) (decimal 0) when server responses use the value NIL

TIdIMAP4.MilliSecsToWaitToClearBuffer Property Delay time for unhandled response data in the buffer for the client.

1246

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

Pascal property MilliSecsToWaitToClearBuffer: integer; Description MilliSecsToWaitToClearBuffer is an integer property that indicates the number of milliseconds to wait for clearing of previously unhandled response data in the buffer for the IMAP4 client. MilliSecsToWaitToClearBuffer is used in the overloaded SendCmd ( 1206) method, and allows the client to detect and read unhandled response data before sending additional commands on the client connection. The default value for MilliSecsToWaitToClearBuffer is IDF_DEFAULT_MS_TO_WAIT_TO_CLEAR_BUFFER ( during initialization of the component.

3833), as assigned

See Also SendCmd (

1206) IDF_DEFAULT_MS_TO_WAIT_TO_CLEAR_BUFFER (

3833)

TIdIMAP4.Password Property Identifies the credentials for IMAP4 server authentication. Pascal property Password; Description Password is a String property that represents the authentication credentials used for the IMAP4 account. Username ( 1248) and Password are used in the Login ( 1174) method to perform authentication on the remote IMAP4 server when AuthType ( 1244) contains the value atUserPass. Username ( 1248) and Password are used also used when creating SASL challenge / response exchanges using the SASLMechanisms ( 1248) and Capabilities ( 690) implemented for the remote IMAP4 server. Set values in the Username ( 1248) and Password properties prior to calling the the Connect ( 1174)) or Login ( 1174) methods.

1161) (with automatic login (

See Also Username (

1248) Connect (

1161) Login (

1174) SASLMechanisms (

1248) Capabilities (

690)

TIdIMAP4.Port Property Identifies the port number used for the IMAP4 server connection. Pascal property Port; Description Port is a published Integer property that identifies the port number used for the IMAP4 server connection. Port is assigned the default value IdPORT_IMAP4 ( 4031) during initialization of the component. Set values in the Host ( 1245), Port, Username ( or Login ( 1174) methods.

1248), and Password (

1247) properties prior to calling the Connect (

1161)

See Also Create ( 267) Destroy ( 1247) Host ( 1245)

1165) IdPORT_IMAP4 (

4031) Connect (

1161) Login (

1174) Username (

1248) Password (

TIdIMAP4.RetrieveOnSelect Property Specifies data to automatically retrieve (

Internet Direct (Indy) Version 10.1.5

1176) from the mailbox when a mailbox is selected.

1247

TIdIMAP4 Class

Classes

Pascal property RetrieveOnSelect: TIdRetrieveOnSelect; Description RetrieveOnSelect is a TIdRetrieveOnSelect ( an IMAP4 mailbox.

2973) property that indicates the data to be automatically retrieved when selecting

rsHeaders indicates that only message headers are loaded for messages in the mailbox. rsMessages indicates that complete messages are loaded from the mailbox. rsDisabled indicates that no message data is loaded from the mailbox. RetrieveOnSelect is used in the SelectMailBox ( 1205) and the ExamineMailBox ( 1167) methods to determine if any message data should be loaded in the MailBox ( 1245) that represents the currently selected mailbox. The default value for RetrieveOnSelect is rsDisabled as assigned during initialization of the component. See Also TIdRetrieveOnSelect (

2973) SelectMailBox (

1205) ExamineMailBox (

1167)

TIdIMAP4.SASLMechanisms Property SASL authentication mechanisms supported on the remote IMAP4 server. Pascal property SASLMechanisms: TIdSASLEntries; Description SASLMechanisms is a TIdSASLList property that identifies the Simple Authentication and Security Layer (SASL) authentication mechanisms supported on the connection to the remote IMAP4 server. SASLMechanisms is updated in the Login ( 1174) method when the AuthType ( 1244) property contains the value atSASL, and the Capabilities ( 690) property includes the AUTHENTICATE directive that indicates supports for the feature on the remote IMAP4 server. For additional information about SASL authentication, please refer to the following documentation: IANA Official Simple Authentication and Security Layer Mechanisms See Also Login (

1174) Capabilities (

690) AuthType (

1244)

TIdIMAP4.Username Property Identifies the user name for IMAP4 server authentication. Pascal property Username; Description Username is a published String property that identifies the user (or account) to be used for connection and authentication to the IMAP4 server. Username and Password ( 1247) are used in the Login ( 1174) method, and in Connect ( is selected, to perform authentication for the connection to the remote IMAP4 server. Use AuthType (

1161) when automatic login (

1174)

1244) to determine the authentication mechanism used for the connection.

See Also Password (

1248

1247) Connect (

1161) Login (

1174) AuthType (

1244)

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4 Class

TIdIMAP4.UseTLS Property Indicates Transport-Level Security is used on the connection. Pascal property UseTLS; Description UseTLS is a Published TIdUseTLS ( TIdIMAP4 ( 1150) client.

2982) property that indicates the level of Transport Layer Security (TLS) required for the

Values in UseTLS and SupportsTLS ( 690) are used in the Login ( 1174) method to determine if the IMAP4 STARTTLS command is issued to perform TLS handshaking and negotiation for the client connection. Use Capabilities (

690) to determine if the remote IMAP4 server contains support for TLS.

See Also Login (

1174) Capabilities (

690)

TIdIMAP4 Events The Events of the TIdIMAP4 class are listed here. Events Event OnAlert (

Description 1249)

Event handler triggered for IMAP4 ALERT response codes found in server responses.

OnWorkBeginForPart ( OnWorkEndForPart ( OnWorkForPart (

1249) 1250)

1250)

Event handler signalled when starting retrieval of a message part for the IMAP4 client. Event handler signalled when completing retrieval of a message part for the IMAP4 client. Event handler signalled during retrieval of a message part for the IMAP4 client.

Legend Event

TIdIMAP4.OnAlert Event Event handler triggered for IMAP4 ALERT response codes found in server responses. Pascal property OnAlert: TIdAlertEvent; Description OnAlert is a TIdAlertEvent ( 3004) property that represents the event handler triggered when the IMAP4 ALERT response code is retrieved for a message in an IMAP4 server response. OnAlert is triggered once for each message with the ALERT response code during parsing of server responses in the SelectMailBox ( 1205) and ExamineMailBox ( 1167) methods. OnAlert allows the application to present the human-readable text from the server response that contains the special alert associated with the message. Applications must assign a procedure to the event handler to allow responding to the event notification.

TIdIMAP4.OnWorkBeginForPart Event Event handler signalled when starting retrieval of a message part for the IMAP4 client. Pascal property OnWorkBeginForPart: TWorkBeginEvent; Description OnWorkBeginForPart is a TWorkBeginEvent ( Internet Direct (Indy) Version 10.1.5

3120) property that represents the event handler signalled when starting to read or 1249

TIdIMAP4PeerContext Class

Classes

write a message part using the IMAP4 client. OnWorkBeginForPart, OnWorkEndForPart ( 1250), and OnWorkForPart ( 1250) are used internally in the implementation of methods like Retrieve ( 1176), UIDRetrieve ( 1214), AppendMsg ( 1156), AppendMsgNoEncodeFromFile ( 1158), and AppendMsgNoEncodeFromStream ( 1159). When assigned, the event handlers are assigned to the TIdTCPStream ( 2381) instance used to read or write the message part for the operation. Applications must assign a procedure to the OnWorkBeginForPart, OnWorkEndForPart ( event handlers to allow responding to the event notifications.

1250), and OnWorkForPart (

1250)

OnWorkEndForPart ( 1250) OnWorkForPart ( 1250) TIdTCPStream ( 2381) Retrieve ( 1176) UIDRetrieve ( AppendMsg ( 1156) AppendMsgNoEncodeFromFile ( 1158) AppendMsgNoEncodeFromStream ( 1159)

1214)

See Also

TIdIMAP4.OnWorkEndForPart Event Event handler signalled when completing retrieval of a message part for the IMAP4 client. Pascal property OnWorkEndForPart: TWorkEndEvent; Description OnWorkEndForPart is a TWorkEndEvent ( 3121) property that represents the event handler signalled when completing a read or write operation for a message part using the IMAP4 client. OnWorkBeginForPart ( 1249), OnWorkEndForPart, and OnWorkForPart ( 1250) are used internally in the implementation of methods like Retrieve ( 1176), UIDRetrieve ( 1214), AppendMsg ( 1156), AppendMsgNoEncodeFromFile ( 1158), and AppendMsgNoEncodeFromStream ( 1159). When assigned, the event handlers are assigned to the TIdTCPStream ( 2381) instance used to read or write the message part for the operation. Applications must assign a procedure to the OnWorkBeginForPart ( event handlers to allow responding to the event notifications.

1249), OnWorkEndForPart, and OnWorkForPart (

1250)

OnWorkBeginForPart ( 1249) OnWorkForPart ( 1250) TIdTCPStream ( 2381) Retrieve ( 1176) UIDRetrieve ( AppendMsg ( 1156) AppendMsgNoEncodeFromFile ( 1158) AppendMsgNoEncodeFromStream ( 1159)

1214)

See Also

TIdIMAP4.OnWorkForPart Event Event handler signalled during retrieval of a message part for the IMAP4 client. Pascal property OnWorkForPart: TWorkEvent; Description OnWorkForPart is a TWorkEvent ( 3121) property that represents the event handler signalled during execution of a read or write operation for a message part using the IMAP4 client. OnWorkBeginForPart ( 1249), OnWorkEndForPart ( 1250), and OnWorkForPart are used internally in the implementation of methods like Retrieve ( 1176), UIDRetrieve ( 1214), AppendMsg ( 1156), AppendMsgNoEncodeFromFile ( 1158), and AppendMsgNoEncodeFromStream ( 1159). When assigned, the event handlers are assigned to the TIdTCPStream ( 2381) instance used to read or write the message part for the operation. Applications must assign a procedure to the OnWorkBeginForPart ( event handlers to allow responding to the event notifications.

1249), OnWorkEndForPart (

1250), and OnWorkForPart

See Also OnWorkBeginForPart ( 1249) OnWorkEndForPart ( 1250) TIdTCPStream ( 2381) Retrieve ( 1176) UIDRetrieve ( AppendMsg ( 1156) AppendMsgNoEncodeFromFile ( 1158) AppendMsgNoEncodeFromStream ( 1159)

1250

1214)

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4PeerContext Class

TIdIMAP4PeerContext Class File IdIMAP4Server (

4668)

Hierarchy

Pascal TIdIMAP4PeerContext = class(TIdContext); Description TIdIMAP4PeerContext is a TIdContext (

376) descendant

See Also TIdContext (

376)

TIdIMAP4PeerContext Members The following tables list the members exposed by TIdIMAP4PeerContext. Properties Property

Description

BeforeRunDone ( Connection ( Data (

2332)

379)

2332)

A user-specified object with values used during execution of the task.

LoginName (

1253)

MailBox (

1253)

TagData (

1253)

UsingTLS ( Yarn (

Represents the peer connection for a client session on the TCP server.

1253)

2333)

Represents the thread or fiber for executing the task.

Methods Method Binding (

Description 378)

Create (

1252)

Destroy (

1252)

DoAfterRun (

2331)

DoBeforeRun ( DoRun (

2331)

2332)

Triggers execution of the event handler for the task. Triggers execution of the event handler for the task. Triggers execution of the event handler for the task.

RemoveFromList (

379)

Removes the session context from the list of session contexts in a TCP server.

Events Event

Description

OnAfterRun (

380)

OnBeforeRun ( OnRun (

380)

381)

Event handler signalled after execution of the client connection context. Event handler signalled before execution of the client connection context. Event handler signalled to execute the task for the client session context.

Legend Method virtual Property read only Event

Internet Direct (Indy) Version 10.1.5

1251

TIdIMAP4PeerContext Class

Classes

TIdIMAP4PeerContext Methods The Methods of the TIdIMAP4PeerContext class are listed here. Methods Method Create ( Destroy (

Description 1252) 1252)

Legend Constructor virtual

TIdIMAP4PeerContext.Create Constructor Pascal constructor Create( AConnection: TIdTCPConnection; AYarn: TIdYarn; AList: TIdThreadList = nil ); override; Parameters Parameters

Description

AConnection

Peer connection for the client.

AYarn

Thread or fiber for execution the client connections task.

AList

List of session contexts that owns the new session context.

Description Create is the reintroduced constructor for the client session context. AConnection is the peer connection for the client session created in a listener thread for the server. AYarn is the thread or fiber to use when executing the task for the client connection created in a listener thread for the server. AList is the list of session contexts that exist in the server, and owns the new session context. Create calls the inherited constructor using AYarn as the owner of the task. Create stores the value in AConnection in the Connection property. The value in AList is stored in a private member used for the other session contexts that exist in the server. When AList contains a valid non-null instance, the new session context from the constructor is added to the internal list of session contexts. Use Destroy to free the session context. See Also Connection Destroy

TIdIMAP4PeerContext.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden method procedure

1252

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4Server Class

TIdIMAP4PeerContext Properties The Properties of the TIdIMAP4PeerContext class are listed here. Properties Property

Description

LoginName (

1253)

MailBox (

1253)

TagData (

1253)

UsingTLS (

1253)

Legend Property read only

TIdIMAP4PeerContext.LoginName Property Pascal property LoginName: string; Description LoginName is a Public string property

TIdIMAP4PeerContext.MailBox Property Pascal property MailBox: TIdMailBox; Description MailBox is a Public TIdMailBox (

1481) property

TIdIMAP4PeerContext.TagData Property Pascal property TagData: TIdIMAP4Tag; Description TagData is a Public TIdIMAP4Tag (

1265) property

TIdIMAP4PeerContext.UsingTLS Property Pascal property UsingTLS: boolean; Description UsingTLS is a Public read-only boolean property

TIdIMAP4Server Class File IdIMAP4Server (

4668)

Internet Direct (Indy) Version 10.1.5

1253

TIdIMAP4Server Class

Classes

Hierarchy

Pascal TIdIMAP4Server = class(TIdExplicitTLSServer); Description TIdIMAP4Server is a TIdExplicitTLSServer (

691) descendant

See Also TIdExplicitTLSServer (

691)

TIdIMAP4Server Members The following tables list the members exposed by TIdIMAP4Server. Properties Property Active (

Description 458)

Bindings (

Indicates if the server is running and listening for client connections.

461)

Container for socket handles allocated by the server.

CommandHandlers ( ContextClass (

330)

Contexts (

Class reference used to create (

462)

DefaultPort (

1256)

462)

ExceptionReply (

Identifies the default port number used to listen for new connections.

331)

Response code and text used for exceptions occurring in the server.

331)

HelpReply (

"Welcome" message sent to new connections accepted in listener thread(s).

332)

Response sent when the HELP command is issued for a client connection.

ImplicitIOHandler (

463)

Indicates if resources in the IOHandler (

464) are managed by the server.

ImplicitScheduler (

463)

Indicates if resources in the Scheduler (

466) are managed by the server.

Intercept (

464)

IOHandler (

Identifies a data handler for server socket connections.

464)

ListenQueue (

Represents the IOHandler used by listener threads for the server.

465)

Indicates the maximum number of unresolved connection attempts allowed for a server listener thread.

MailBoxSeparator (

1257)

MaxConnectionReply (

332)

MaxConnections (

465)

OnAfterBind (

466)

OnExecute (

2379)

ReplyTexts (

333)

ReuseSocket ( RootPath (

Response used when the maximum number of client connections is exceeded. Indicates the maximum numer of client connections allowed for the server. Event handler signalled after binding socket handles for listener threads. Event handler used to execute the task for a client connection. Represents protocol responses used in the server implementation.

ReplyUnknownCommand (

333)

466)

Represents the response message used for an unkown command. Indicates reuse of local addresses for listener threads.

1257)

SaferMode ( Scheduler (

1257) 466)

TerminateWaitTime ( (

267) new executable tasks for client connections to the server.

Executable tasks for client connections to the server.

DefaultPassword (

Greeting (

Command handlers used in the server implementation.

461)

Identifies the thread-based or fiber-based scheduler used in the server. 468)

Specifies the time a server should wait while terminating executable tasks for client connections.

UseDefaultMechanismsForUnassignedCommands 1257) Version (

269)

WorkTarget (

359)

Identifies the version number for the Indy component suite. Indy component to receive work mode events for the current object instance.

Methods Method

Description

BeginWork ( Create (

267) 1256)

DoWork (

357)

GetVersion (

Triggers the OnBeginWork event. Constructor for the object instance.

Destroy ( EndWork (

1254

356)

358) 269)

Triggers the OnWork event handler. Triggers the OnEndWork event handler. Version (

269) number for Indy component suite.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4Server Class

CType (

267)

Create (

1274)

Events Event

Description

OnAfterCommandHandler ( OnBeforeCmd (

334)

OnBeforeCommandHandler ( OnBeforeConnect ( OnBeforeSend (

335)

Event handler signalled proper to establishing a client connection to the server.

468)

Event handler signalled prior to executing a listener thread.

1258)

OnCommandAPPEND (

1258)

OnCommandAUTHENTICATE ( OnCommandCAPABILITY (

1259)

OnCommandCLOSE (

1259)

OnCommandCOPY (

1259)

1259)

OnCommandCHECK (

1259)

OnCommandCREATE (

1259)

OnCommandDELETE (

1259)

OnCommandError (

1260)

OnCommandEXAMINE (

1260)

OnCommandEXPUNGE ( OnCommandFETCH ( OnCommandLIST (

1260)

1260)

1260)

OnCommandLOGIN (

1260)

OnCommandLOGOUT ( OnCommandLSUB (

1261)

1261)

OnCommandNOOP (

1261)

OnCommandRENAME (

1261)

OnCommandSEARCH (

1261)

OnCommandSELECT (

1261)

OnCommandSTATUS ( OnCommandSTORE (

1261) 1262)

OnCommandSUBSCRIBE ( OnCommandUID (

1262)

1262)

OnCommandUNSUBSCRIBE ( OnConnect (

1262)

1262)

469)

Event handler signalled for establishing new client connections.

OnDefMechCopyMessage (

1262)

OnDefMechCreateMailBox (

1263)

OnDefMechDeleteMailBox (

1263)

OnDefMechDeleteMessage (

1263)

OnDefMechDoesImapMailBoxExist ( (

Represents the event handler signalled after CommandHandler usgage.

468)

OnBeforeListenerRun (

OnCommandX (

Represents the event handler signalled after CommandHandler usgage.

1258)

1263)

OnDefMechGetFileNameToWriteAppendMessage 1263) OnDefMechGetMessageHeader ( OnDefMechGetMessageRaw (

1263)

1263)

OnDefMechGetMessageSize (

1264)

OnDefMechGetNextFreeUID (

1264)

OnDefMechIsMailBoxOpen ( OnDefMechListMailBox (

1264)

1264)

OnDefMechNameAndMailBoxToPath ( OnDefMechOpenMailBox (

1264)

1264)

OnDefMechReinterpretParamAsMailBox ( OnDefMechRenameMailBox ( OnDefMechSetupMailbox (

1265)

OnDefMechUpdateNextFreeUID ( OnDisconnect ( OnException (

1265)

469)

Event handler signalled when disconnecting the client connection.

470)

OnListenException (

1265)

1265)

Event handler for exceptions raised in a peer thread. 470)

Internet Direct (Indy) Version 10.1.5

Event handler for an exception in a listener thread.

1255

TIdIMAP4Server Class OnStatus (

Classes

359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdIMAP4Server Methods The Methods of the TIdIMAP4Server class are listed here. Methods Method Destroy (

Description 1256)

Legend Destructor virtual

TIdIMAP4Server.Destroy Destructor Pascal destructor Destroy; override; Description Destroy is a overridden method procedure

TIdIMAP4Server Properties The Properties of the TIdIMAP4Server class are listed here. Properties Property

Description

DefaultPassword (

1256)

MailBoxSeparator ( RootPath ( SaferMode ( (

1257)

1257) 1257)

UseDefaultMechanismsForUnassignedCommands 1257)

Legend Property read only

TIdIMAP4Server.DefaultPassword Property Pascal property DefaultPassword: string; Description DefaultPassword is a Published string property

1256

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4Server Class

TIdIMAP4Server.MailBoxSeparator Property Pascal property MailBoxSeparator: Char; Description MailBoxSeparator is a Published read-only Char property

TIdIMAP4Server.RootPath Property Pascal property RootPath: string; Description RootPath is a Published string property

TIdIMAP4Server.SaferMode Property Pascal property SaferMode: Boolean; Description SaferMode is a Published Boolean property default value is False

TIdIMAP4Server.UseDefaultMechanismsForUnassignedCommands Property Pascal property UseDefaultMechanismsForUnassignedCommands: Boolean; Description UseDefaultMechanismsForUnassignedCommands is a Published Boolean property default value is True

TIdIMAP4Server Events The Events of the TIdIMAP4Server class are listed here. Events Event

Description

OnBeforeCmd (

1258)

OnBeforeSend (

1258)

OnCommandAPPEND (

1258)

OnCommandAUTHENTICATE ( OnCommandCAPABILITY ( OnCommandCHECK (

1259)

OnCommandCLOSE (

1259)

OnCommandCOPY (

1259)

OnCommandCREATE (

1259)

OnCommandDELETE (

1259)

OnCommandError (

1260)

OnCommandEXAMINE (

1260)

OnCommandEXPUNGE ( OnCommandFETCH ( OnCommandLIST (

1259)

1259)

1260)

1260)

1260)

OnCommandLOGIN ( OnCommandLOGOUT (

1260) 1261)

Internet Direct (Indy) Version 10.1.5

1257

TIdIMAP4Server Class OnCommandLSUB (

Classes 1261)

OnCommandNOOP (

1261)

OnCommandRENAME (

1261)

OnCommandSEARCH (

1261)

OnCommandSELECT (

1261)

OnCommandSTATUS ( OnCommandSTORE (

1261) 1262)

OnCommandSUBSCRIBE ( OnCommandUID (

1262)

1262)

OnCommandUNSUBSCRIBE ( OnCommandX (

1262)

1262)

OnDefMechCopyMessage (

1262)

OnDefMechCreateMailBox (

1263)

OnDefMechDeleteMailBox (

1263)

OnDefMechDeleteMessage (

1263)

OnDefMechDoesImapMailBoxExist ( (

1263)

OnDefMechGetFileNameToWriteAppendMessage 1263) OnDefMechGetMessageHeader ( OnDefMechGetMessageRaw (

1263)

1263)

OnDefMechGetMessageSize (

1264)

OnDefMechGetNextFreeUID (

1264)

OnDefMechIsMailBoxOpen ( OnDefMechListMailBox (

1264)

1264)

OnDefMechNameAndMailBoxToPath ( OnDefMechOpenMailBox (

1264)

1264)

OnDefMechReinterpretParamAsMailBox ( OnDefMechRenameMailBox ( OnDefMechSetupMailbox (

1265)

1265)

1265)

OnDefMechUpdateNextFreeUID (

1265)

Legend Event

TIdIMAP4Server.OnBeforeCmd Event Pascal property OnBeforeCmd: TIdIMAP4CommandBeforeEvent; Description OnBeforeCmd is a Published TIdIMAP4CommandBeforeEvent (

3032) event handler property

TIdIMAP4Server.OnBeforeSend Event Pascal property OnBeforeSend: TIdIMAP4CommandBeforeSendEvent; Description OnBeforeSend is a Published TIdIMAP4CommandBeforeSendEvent (

3033) event handler property

TIdIMAP4Server.OnCommandAPPEND Event Pascal property OnCommandAPPEND: TIMAP4CommandEvent; Description OnCommandAPPEND is a Published TIMAP4CommandEvent (

1258

3098) event handler property

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4Server Class

TIdIMAP4Server.OnCommandAUTHENTICATE Event Pascal property OnCommandAUTHENTICATE: TIMAP4CommandEvent; Description OnCommandAUTHENTICATE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandCAPABILITY Event Pascal property OnCommandCAPABILITY: TIMAP4CommandEvent; Description OnCommandCAPABILITY is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandCHECK Event Pascal property OnCommandCHECK: TIMAP4CommandEvent; Description OnCommandCHECK is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandCLOSE Event Pascal property OnCommandCLOSE: TIMAP4CommandEvent; Description OnCommandCLOSE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandCOPY Event Pascal property OnCommandCOPY: TIMAP4CommandEvent; Description OnCommandCOPY is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandCREATE Event Pascal property OnCommandCREATE: TIMAP4CommandEvent; Description OnCommandCREATE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandDELETE Event Pascal property OnCommandDELETE: TIMAP4CommandEvent;

Internet Direct (Indy) Version 10.1.5

1259

TIdIMAP4Server Class

Classes

Description OnCommandDELETE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandError Event Pascal property OnCommandError: TIMAP4CommandEvent; Description OnCommandError is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandEXAMINE Event Pascal property OnCommandEXAMINE: TIMAP4CommandEvent; Description OnCommandEXAMINE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandEXPUNGE Event Pascal property OnCommandEXPUNGE: TIMAP4CommandEvent; Description OnCommandEXPUNGE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandFETCH Event Pascal property OnCommandFETCH: TIMAP4CommandEvent; Description OnCommandFETCH is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandLIST Event Pascal property OnCommandLIST: TIMAP4CommandEvent; Description OnCommandLIST is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandLOGIN Event Pascal property OnCommandLOGIN: TIMAP4CommandEvent; Description OnCommandLOGIN is a Published TIMAP4CommandEvent (

1260

3098) event handler property

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4Server Class

TIdIMAP4Server.OnCommandLOGOUT Event Pascal property OnCommandLOGOUT: TIMAP4CommandEvent; Description OnCommandLOGOUT is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandLSUB Event Pascal property OnCommandLSUB: TIMAP4CommandEvent; Description OnCommandLSUB is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandNOOP Event Pascal property OnCommandNOOP: TIMAP4CommandEvent; Description OnCommandNOOP is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandRENAME Event Pascal property OnCommandRENAME: TIMAP4CommandEvent; Description OnCommandRENAME is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandSEARCH Event Pascal property OnCommandSEARCH: TIMAP4CommandEvent; Description OnCommandSEARCH is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandSELECT Event Pascal property OnCommandSELECT: TIMAP4CommandEvent; Description OnCommandSELECT is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandSTATUS Event Pascal property OnCommandSTATUS: TIMAP4CommandEvent;

Internet Direct (Indy) Version 10.1.5

1261

TIdIMAP4Server Class

Classes

Description OnCommandSTATUS is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandSTORE Event Pascal property OnCommandSTORE: TIMAP4CommandEvent; Description OnCommandSTORE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandSUBSCRIBE Event Pascal property OnCommandSUBSCRIBE: TIMAP4CommandEvent; Description OnCommandSUBSCRIBE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandUID Event Pascal property OnCommandUID: TIMAP4CommandEvent; Description OnCommandUID is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandUNSUBSCRIBE Event Pascal property OnCommandUNSUBSCRIBE: TIMAP4CommandEvent; Description OnCommandUNSUBSCRIBE is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnCommandX Event Pascal property OnCommandX: TIMAP4CommandEvent; Description OnCommandX is a Published TIMAP4CommandEvent (

3098) event handler property

TIdIMAP4Server.OnDefMechCopyMessage Event Pascal property OnDefMechCopyMessage: TIdIMAP4DefMech7; Description OnDefMechCopyMessage is a Published TIdIMAP4DefMech7 (

1262

3036) event handler property

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4Server Class

TIdIMAP4Server.OnDefMechCreateMailBox Event Pascal property OnDefMechCreateMailBox: TIdIMAP4DefMech1; Description OnDefMechCreateMailBox is a Published TIdIMAP4DefMech1 (

3033) event handler property

TIdIMAP4Server.OnDefMechDeleteMailBox Event Pascal property OnDefMechDeleteMailBox: TIdIMAP4DefMech1; Description OnDefMechDeleteMailBox is a Published TIdIMAP4DefMech1 (

3033) event handler property

TIdIMAP4Server.OnDefMechDeleteMessage Event Pascal property OnDefMechDeleteMessage: TIdIMAP4DefMech6; Description OnDefMechDeleteMessage is a Published TIdIMAP4DefMech6 (

3035) event handler property

TIdIMAP4Server.OnDefMechDoesImapMailBoxExist Event Pascal property OnDefMechDoesImapMailBoxExist: TIdIMAP4DefMech1; Description OnDefMechDoesImapMailBoxExist is a Published TIdIMAP4DefMech1 (

3033) event handler property

TIdIMAP4Server.OnDefMechGetFileNameToWriteAppendMessage Event Pascal property OnDefMechGetFileNameToWriteAppendMessage: TIdIMAP4DefMech14; Description OnDefMechGetFileNameToWriteAppendMessage is a Published TIdIMAP4DefMech14 (

3034) event handler property

TIdIMAP4Server.OnDefMechGetMessageHeader Event Pascal property OnDefMechGetMessageHeader: TIdIMAP4DefMech9; Description OnDefMechGetMessageHeader is a Published TIdIMAP4DefMech9 (

3036) event handler property

TIdIMAP4Server.OnDefMechGetMessageRaw Event Pascal property OnDefMechGetMessageRaw: TIdIMAP4DefMech10;

Internet Direct (Indy) Version 10.1.5

1263

TIdIMAP4Server Class

Classes

Description OnDefMechGetMessageRaw is a Published TIdIMAP4DefMech10 (

3033) event handler property

TIdIMAP4Server.OnDefMechGetMessageSize Event Pascal property OnDefMechGetMessageSize: TIdIMAP4DefMech8; Description OnDefMechGetMessageSize is a Published TIdIMAP4DefMech8 (

3036) event handler property

TIdIMAP4Server.OnDefMechGetNextFreeUID Event Pascal property OnDefMechGetNextFreeUID: TIdIMAP4DefMech3; Description OnDefMechGetNextFreeUID is a Published TIdIMAP4DefMech3 (

3035) event handler property

TIdIMAP4Server.OnDefMechIsMailBoxOpen Event Pascal property OnDefMechIsMailBoxOpen: TIdIMAP4DefMech1; Description OnDefMechIsMailBoxOpen is a Published TIdIMAP4DefMech1 (

3033) event handler property

TIdIMAP4Server.OnDefMechListMailBox Event Pascal property OnDefMechListMailBox: TIdIMAP4DefMech5; Description OnDefMechListMailBox is a Published TIdIMAP4DefMech5 (

3035) event handler property

TIdIMAP4Server.OnDefMechNameAndMailBoxToPath Event Pascal property OnDefMechNameAndMailBoxToPath: TIdIMAP4DefMech3; Description OnDefMechNameAndMailBoxToPath is a Published TIdIMAP4DefMech3 (

3035) event handler property

TIdIMAP4Server.OnDefMechOpenMailBox Event Pascal property OnDefMechOpenMailBox: TIdIMAP4DefMech11; Description OnDefMechOpenMailBox is a Published TIdIMAP4DefMech11 (

1264

3033) event handler property

Internet Direct (Indy) Version 10.1.5

Classes

TIdIMAP4Tag Class

TIdIMAP4Server.OnDefMechReinterpretParamAsMailBox Event Pascal property OnDefMechReinterpretParamAsMailBox: TIdIMAP4DefMech12; Description OnDefMechReinterpretParamAsMailBox is a Published TIdIMAP4DefMech12 (

3034) event handler property

TIdIMAP4Server.OnDefMechRenameMailBox Event Pascal property OnDefMechRenameMailBox: TIdIMAP4DefMech4; Description OnDefMechRenameMailBox is a Published TIdIMAP4DefMech4 (

3035) event handler property

TIdIMAP4Server.OnDefMechSetupMailbox Event Pascal property OnDefMechSetupMailbox: TIdIMAP4DefMech2; Description OnDefMechSetupMailbox is a Published TIdIMAP4DefMech2 (

3034) event handler property

TIdIMAP4Server.OnDefMechUpdateNextFreeUID Event Pascal property OnDefMechUpdateNextFreeUID: TIdIMAP4DefMech13; Description OnDefMechUpdateNextFreeUID is a Published TIdIMAP4DefMech13 (

3034) event handler property

TIdIMAP4Tag Class File IdIMAP4Server (

4668)

Hierarchy

Pascal TIdIMAP4Tag = class(TObject); Description TIdIMAP4Tag is a TObject descendant See Also TObject

Internet Direct (Indy) Version 10.1.5

1265

TIdImapMessagePart Class

Classes

TIdIMAP4Tag Members The following tables list the members exposed by TIdIMAP4Tag. Legend Data Member

TIdIMAP4Tag Fields The Fields of the TIdIMAP4Tag class are listed here. Legend Data Member

TIdIMAP4Tag.IMAP4Tag Field Pascal IMAP4Tag: String; Description IMAP4Tag

TIdIMAPLineStruct Class File IdIMAP4 (

4666)

Hierarchy

Pascal TIdIMAPLineStruct = class(TObject); Description TIdIMAPLineStruct is a TObject descendant. See Also TObject

TIdImapMessagePart Class File IdIMAP4 (

4666)

Hierarchy

Pascal TIdImapMessagePart = class(TIdCollectionItem); 1266

Internet Direct (Indy) Version 10.1.5

Classes

TIdImapMessagePart Class

Description TIdImapMessagePart is a TIdCollectionItem (

3011) descendant.

See Also TIdCollectionItem (

3011)

TIdImapMessagePart Members The following tables list the members exposed by TIdImapMessagePart. Properties Property

Description

BodySubType (

1268)

BodyType (

1268)

Boundary (

1268)

ContentTransferEncoding ( Description ( Encoding (

1269)

FileName (

1269)

ImapPartNumber ( ParentPart ( Size (

1268)

1269)

1269)

1269)

1269)

UnparsedEntry (

1269)

Methods Method Create (

Description 1267)

Legend Constructor virtual Property

TIdImapMessagePart Methods The Methods of the TIdImapMessagePart class are listed here. Methods Method Create (

Description 1267)

Legend Constructor virtual

TIdImapMessagePart.Create Constructor Pascal constructor Create( Collection: TIdCollection ); override; Parameters Parameters

Description

Collection

Type is TIdCollection (

Internet Direct (Indy) Version 10.1.5

3011).

1267

TIdImapMessagePart Class

Classes

Description Create is a overridden constructor for the object instance.

TIdImapMessagePart Properties The Properties of the TIdImapMessagePart class are listed here. Properties Property

Description

BodySubType (

1268)

BodyType (

1268)

Boundary (

1268)

ContentTransferEncoding ( Description ( Encoding (

1269)

FileName (

1269)

ImapPartNumber ( ParentPart ( Size (

1268)

1269)

1269)

1269)

1269)

UnparsedEntry (

1269)

Legend Property

TIdImapMessagePart.BodySubType Property Pascal property BodySubType: String; Description BodySubType is a Public String property. Write access for the property is implemented using FBodySubType.

TIdImapMessagePart.BodyType Property Pascal property BodyType: String; Description BodyType is a Public String property. Write access for the property is implemented using FBodyType.

TIdImapMessagePart.Boundary Property Pascal property Boundary: string; Description Boundary is a Public string property. Write access for the property is implemented using FBoundary.

TIdImapMessagePart.ContentTransferEncoding Property Pascal property ContentTransferEncoding: String; Description ContentTransferEncoding 1268

is

a

Public

String

property.

Write

access

for

the

property

is

implemented

using

Internet Direct (Indy) Version 10.1.5

Classes

TIdImapMessagePart Class

FContentTransferEncoding.

TIdImapMessagePart.Description Property Pascal property Description: String; Description is a Public String property. Write access for the property is implemented using FDescription.

TIdImapMessagePart.Encoding Property Pascal property Encoding: TIdMessageEncoding; Description Encoding is a Public TIdMessageEncoding (

2968) property. Write access for the property is implemented using FEncoding.

TIdImapMessagePart.FileName Property Pascal property FileName: String; Description FileName is a Public String property. Write access for the property is implemented using FFileName.

TIdImapMessagePart.ImapPartNumber Property Pascal property ImapPartNumber: string; Description ImapPartNumber is a Public string property. Write access for the property is implemented using FImapPartNumber.

TIdImapMessagePart.ParentPart Property Pascal property ParentPart: integer; Description ParentPart is a Public integer property. Write access for the property is implemented using FParentPart.

TIdImapMessagePart.Size Property Pascal property Size: integer; Description Size is a Public integer property. Write access for the property is implemented using FSize.

TIdImapMessagePart.UnparsedEntry Property Pascal property UnparsedEntry: string; Internet Direct (Indy) Version 10.1.5

1269

TIdImapMessageParts Class

Classes

Description UnparsedEntry is a Public string property. Write access for the property is implemented using FUnparsedEntry.

TIdImapMessageParts Class File IdIMAP4 (

4666)

Hierarchy

Pascal TIdImapMessageParts = class(TIdOwnedCollection); Description TIdImapMessageParts is a TIdOwnedCollection (

3072) descendant.

See Also TIdOwnedCollection (

3072)

TIdImapMessageParts Members The following tables list the members exposed by TIdImapMessageParts. Properties Property Items (

Description 1271)

Methods Method Add (

Description 1270)

Legend Method Property

TIdImapMessageParts Methods The Methods of the TIdImapMessageParts class are listed here. Methods Method Add (

Description 1270)

Legend Method

TIdImapMessageParts.Add Method Pascal function Add: TIdImapMessagePart;

1270

Internet Direct (Indy) Version 10.1.5

Classes

TIdInAddr Class

Returns TIdImapMessagePart (

1266)

Description Add is a method. Add returns a TIdImapMessagePart (

1266) value.

TIdImapMessageParts Properties The Properties of the TIdImapMessageParts class are listed here. Properties Property Items (

Description 1271)

Legend Property

TIdImapMessageParts.Items Property Pascal property Items [Index: Integer]: TIdImapMessagePart; Description Items is a Public TIdImapMessagePart (

1266) property. Write access for the property is implemented using SetItem.

Items is the default property for the object instance.

TIdInAddr Class Represents IP addresses for the Indy library. File IdRawHeaders (

4701)

Hierarchy

Pascal TIdInAddr = class(TIdLongWord); Description TIdInAddr is a packed record type that represents an IP address based on the compiler define in effect when the Indy libray is compiled. If IPv6 is defined, IP addresses are represented using the TIdIn6Addr ( 2959) record type. Otherwise, the TIdIn4Addr ( 2959) record type is used for IP addresses. See Also TIdIn6Addr (

2959)

TIdIn4Addr (

2959)

Internet Direct (Indy) Version 10.1.5

1271

TIdInitializerComponent Class

Classes

TIdInAddr Members The following tables list the members exposed by TIdInAddr. Properties Property

Description

BytesLen (

2537)

s_b1 (

1468)

s_b2 (

1468)

s_b3 (

1468)

s_b4 ( s_l (

1468) 1468)

s_w1 (

1469)

s_w2 (

1469)

Methods Method CopyFrom (

Description 1272)

create (

1467)

create (

2262)

create (

2536)

ReadStruct (

2262)

ReadStruct (

2536)

WriteStruct (

2262)

WriteStruct (

2536)

Legend Method virtual Property read only

TIdInAddr Methods The Methods of the TIdInAddr class are listed here. Methods Method CopyFrom (

Description 1272)

Legend Method

TIdInAddr.CopyFrom Method Pascal procedure CopyFrom( const ASource: TIdInAddr ); Parameters Parameters

Description

ASource

Scope is const. Type is TIdInAddr (

1271).

Description CopyFrom is a method.

1272

Internet Direct (Indy) Version 10.1.5

Classes

TIdInitializerComponent Class

TIdInitializerComponent Class Ancestor for Indy component classes that accounts for differences between constructors in .Net and VCL. File IdBaseComponent (

4588)

Hierarchy

Pascal [DesignTimeVisible(false), ToolboxItem(false)] TIdInitializerComponent = class(TIdNativeComponent); Description TIdInitializerComponent is a TIdNativeComponent ( 3061) descendant that acts as an ancestor class for Indy components. TIdInitializerComponent is used to consolidate differences between constructors as implemented in the .Net and VCL environments. In the .Net environment, constructors (for visual components) are generally called without arguments. In the VCL environment, constructors (for visual components) are generally called with an owner for free notifications. TIdInitializerComponent accounts for these differences by implementing overloaded constructors for both platforms that accept the expected arguments. TIdInitializerComponent also implements the protected virtual procedure InitComponent which eliminates the need for overridden constructors in descendant classes used as visual components. Descendant classes can override the InitComponent method to perform component initialization operations that were traditionally reserved for overridden (or overloaded) constructors. Notes For the .Net environment, initialization sections are not called unless a reference has been added for the unit. Delphi for .NET makes initializations and globals part of a "Unit" class. So initialization sections wont get called until the Unit class is used. Delphi 8, 2005, and 2006 EXEs are ok, but assemblies (ie VS.NET and probably asms in some cases when used from a D8 EXE) do not call their initialization sections. InitComponent is used to loop through the list of classes in the assembly, and for each named Unit the class constructor which causes the initialization section to be called. See Also TIdBaseComponent ( TIdNativeComponent (

266) 3061)

TIdInitializerComponent Members The following tables list the members exposed by TIdInitializerComponent. Methods Method Create (

Description 1274)

Legend Constructor virtual

TIdInitializerComponent Methods The Methods of the TIdInitializerComponent class are listed here. Internet Direct (Indy) Version 10.1.5

1273

TIdInitializerComponent Class

Classes

Methods Method Create (

Description 1274)

Legend Constructor virtual

TIdInitializerComponent.Create Constructor Overload List Method

Description

TIdInitializerComponent.Create () ( 1274)

Constructor for the object instance.

TIdInitializerComponent.Create Constructor for the object instance. (TIdNativeComponent) ( 1274)

TIdInitializerComponent.Create Constructor () Constructor for the object instance. Pascal constructor Create; virtual; overload; reintroduce; Description Create is an overloaded virtual Constructor for the object instance. For the .Net environment, Create calls the inherited Create method and calls the protected InitComponent method to perform initialization tasks for the new object instance. For platforms implementing the Borland VCL, Create calls the overloaded Create method using an owner with the value Nil. See Also TIdInitializerComponent.Create

TIdInitializerComponent.Create Constructor (TIdNativeComponent) Constructor for the object instance. Pascal constructor Create( AOwner: TIdNativeComponent ); override; overload; Description AOwner - Owner of the object instance. Create is an overloaded overridden Constructor for the object instance. Create is overloaded to provide a VCL-compatible constructor that specifies the owner for free notifications in the AOwner parameter. AOwner can contains the value Nil when no owner is specified. Create calls the inherited Create method using AOwner as an argument. Create calls the protected InitComponent method to perform initialization tasks for the new object instance. Notes Descendant classes can override the InitComponent method to perform component initialization operations that were traditionally reserved for overridden (or overloaded) constructors.

1274

Internet Direct (Indy) Version 10.1.5

Classes

TIdInterceptSimLog Class

See Also TIdInitializerComponent.Create

TIdInterceptSimLog Class Writes log file entries for data sent and received using the connection intercept. File IdInterceptSimLog (

4669)

Hierarchy

Pascal TIdInterceptSimLog = class(TIdConnectionIntercept); Description TIdInterceptSimLog is a TIdConnectionIntercept ( 368) descendant that implements a mechanism used to perform logging activities when data if read from or written to the connection for an intercept. TIdInterceptSimLog provides a Filename ( 1280) property that indicates the file to use for storing log file entries. The log file is recreated each time the connection for the intercept is connected. TIdInterceptSimLog performs logging using string outputs instead of binary so that the results can be viewed and modified with any ASCII file editor. Most Send ( 1278) and/or Receive ( 1277) operations includes a writeln (or EOL ( 3202) marker), but may not always. TIdInterceptSimLog writes an additional EOL ( 3202) marker to guarantee separation between lines in the log file. TIdInterceptSimLog, like all TIdConnectionIntercept ( provide data from the IOHandler.

368) descendants, can be assigned to an TIdIOHandler (

1284) instance to

See Also TIdConnectionIntercept ( TIdIOHandler (

368)

1284)

TIdInterceptSimLog Members The following tables list the members exposed by TIdInterceptSimLog. Properties Property

Description

Connection ( Data (

371)

371)

Connection to be handled in the intercept. Provides context or other data for the connection intercept.

Filename (

1280)

Intercept (

372)

Filename for the connection intercept log file.

IsClient (

372)

Indicates that the conncetion intercept is for a client connection.

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

Connect ( Create (

1276)

267)

Constructor for the object instance.

Disconnect ( GetVersion ( Receive ( Send (

1277)

Closes the log file and the connection for an intercept.

269)

Version (

1277)

Receives data and writes log entries for the intercept.

1278)

Internet Direct (Indy) Version 10.1.5

269) number for Indy component suite.

Sends data and writes log entries for the intercept.

1275

TIdInterceptSimLog Class CType (

Classes

267)

Create (

1274)

Events Event

Description

OnConnect (

372)

OnDisconnect ( OnReceive ( OnSend (

Specifies the event handler for connection notifications.

373)

Specifies the event handler for disconnect (

373)

369) notifications.

Allows data handling or transformation for intercepted read operations.

374)

Allows data handling or transformation for intercepted write operations.

Legend Method virtual Property read only Event

TIdInterceptSimLog Methods The Methods of the TIdInterceptSimLog class are listed here. Methods Method

Description

Connect (

1276)

Disconnect ( Receive ( Send (

1277)

Closes the log file and the connection for an intercept.

1277)

Receives data and writes log entries for the intercept.

1278)

Sends data and writes log entries for the intercept.

Legend Method virtual

TIdInterceptSimLog.Connect Method Pascal procedure Connect( AConnection: TIdNativeComponent ); override; Parameters Parameters

Description

AConnection

Connection (

371) for the log file intercept.

Description Connect is an overridden procedure used to establish the Connection (

371) for the log file intercept.

Connect calls the inherited Connect method. Connect creates an internal TIdStreamVCL ( 2709) used to write log file entries. The stream instance relies on a TFileStream for the file indicated in Filename ( 1280), and is recreated each time the Connect method is executed. Warning! Connect will overwrite an existing file. Use Disconnect (

1277) to free the TIdStream (

3087) instance and close the connection for the log file intercept.

See Also TIdInterceptSimLog.Filename (

1280)

TIdInterceptSimLog.Disconnect ( TIdStreamVCL ( 1276

1277)

2709) Internet Direct (Indy) Version 10.1.5

Classes

TIdInterceptSimLog Class

TIdInterceptSimLog.Disconnect Method Closes the log file and the connection for an intercept. Pascal procedure Disconnect; override; Description Disconnect is an overridden procedure in TIdInterceptSimLog ( the intercept for a Connection ( 371) be closed. Disconnect frees the internal TIdStreamVCL (

1275) used to close the log file in Filename (

2709) instance used for the log file in Filename (

1280), and allows

1280).

Disconnect calls the inherited Disconnect method. Use Connect (

1276) to open the log file for the intercept.

See Also TIdInterceptSimLog.Connect (

1276)

TIdInterceptSimLog.Filename ( TIdStreamVCL (

1280)

2709)

TIdInterceptSimLog.Receive Method Receives data and writes log entries for the intercept. Pascal procedure Receive( var ABuffer: TIdBytes ); override; Parameters Parameters

Description

ABuffer

Buffer containing data from the connection for the intercept.

Description Receive is an overridden procedure used to capture data and write log entries for the intercept. ABuffer contains the data read from the connection for the intercept. Receive calls the inherited method, and writes a log entry to the file indicated in Filename ( 1280). Log entries include the operation performed followed by the contents in ABuffer (minus any binary characters). A blank line is written between log file entries. For example: Recv:EOL 220 mail..com (IMail 8.00 6073-1) NT-ESMTP Server X1 Send:EOL EHLO Kudzu Recv:Bytes:135 250-mail.bogus.com says hello 250-SIZE 0 250-8BITMIME 250-DSN 250-ETRN 250-AUTH LOGIN CRAM-MD5 250-AUTH=LOGIN 250 EXPN Send:EOL RSET Internet Direct (Indy) Version 10.1.5

1277

TIdInterceptSimLog Class

Classes

Recv:EOL 250 ok its reset Send:EOL MAIL FROM: Recv:EOL 250 ok Send:EOL RCPT TO: Recv:EOL 250 ok its for Send:EOL DATA Recv:EOL 354 ok, send it; end with . Send:Bytes:133 From: "John Doe" Subject: Test To: [email protected] In-Reply-To: Test Date: Sun, 5 Jan 1975 00:00:00 +0200 Send:EOL Send:EOL Test Message Send:EOL Send:EOL . Recv:EOL 250 Message queued Send:EOL QUIT Recv:EOL 221 Goodbye

TIdInterceptSimLog.Send Method Sends data and writes log entries for the intercept. Pascal procedure Send( var ABuffer: TIdBytes ); override; Parameters Parameters

Description

ABuffer

Buffer containing data sent on the connection for the intercept.

Description Send is an overridden procedure used to capture data and write log entries for the intercept. ABuffer contains the data sent using the connection for the intercept. Send calls the inherited method, and writes a log entry to the file indicated in Filename ( 1280). Log entries include the operation performed followed by the contents in ABuffer (minus any binary characters). A blank line is written between log file entries. For example:

1278

Internet Direct (Indy) Version 10.1.5

Classes

TIdInterceptSimLog Class

Recv:EOL 220 mail..com (IMail 8.00 6073-1) NT-ESMTP Server X1 Send:EOL EHLO Kudzu Recv:Bytes:135 250-mail.bogus.com says hello 250-SIZE 0 250-8BITMIME 250-DSN 250-ETRN 250-AUTH LOGIN CRAM-MD5 250-AUTH=LOGIN 250 EXPN Send:EOL RSET Recv:EOL 250 ok its reset Send:EOL MAIL FROM: Recv:EOL 250 ok Send:EOL RCPT TO: Recv:EOL 250 ok its for Send:EOL DATA Recv:EOL 354 ok, send it; end with . Send:Bytes:133 From: "John Doe" Subject: Test To: [email protected] In-Reply-To: Test Date: Sun, 5 Jan 1975 00:00:00 +0200 Send:EOL Send:EOL Test Message Send:EOL Send:EOL . Recv:EOL 250 Message queued Send:EOL QUIT Recv:EOL 221 Goodbye

TIdInterceptSimLog Properties The Properties of the TIdInterceptSimLog class are listed here.

Internet Direct (Indy) Version 10.1.5

1279

TIdInterceptThrottler Class

Classes

Properties Property Filename (

Description 1280)

Filename for the connection intercept log file.

Legend Property

TIdInterceptSimLog.Filename Property Filename for the connection intercept log file. Pascal property Filename: string; Description Filename is a string property that identifies the file to be used for logging messages read from and written to the connection intercept. Filename is recreated each time Connect (

1276) is called for the connection intercept.

Changing the value in Filename after calling Connect ( 1276) will raised an EIdException ( 76) with the message RSLogFileAlreadyOpen. Set the value for Filename prior to calling Connect ( 1276), or after calling Disconnect ( 1277). See Also TIdInterceptSimLog.Connect (

1276)

TIdInterceptSimLog.Disconnect (

1277)

TIdInterceptThrottler Class Implements a connection intercept that limits throughput to a target value. File IdInterceptThrottler (

4670)

Hierarchy

Pascal TIdInterceptThrottler = class(TIdConnectionIntercept); Description TIdInterceptThrottler is a TIdConnectionIntercept ( 368) descendant that implements a connection intercept with the capability to restrict throughput on the connection to a target number of bits per second. TIdInterceptThrottler provides overridden Send ( 1282) and Receive ( preservation using the target value indicated in BitsPerSec ( 1283).

1281) methods that implement bandwidth checking and

See Also TIdConnectionIntercept (

368)

TIdInterceptThrottler Members The following tables list the members exposed by TIdInterceptThrottler.

1280

Internet Direct (Indy) Version 10.1.5

Classes

TIdInterceptThrottler Class

Properties Property

Description

BitsPerSec (

1283)

Connection ( Data (

371)

371)

Intercept (

Indicates the upper limit for throughput on the connection intercept. Connection to be handled in the intercept. Provides context or other data for the connection intercept.

372)

IsClient (

372)

Indicates that the conncetion intercept is for a client connection.

Version (

269)

Identifies the version number for the Indy component suite.

Methods Method

Description

Connect ( Create (

369)

267)

Constructor for the object instance.

Disconnect ( GetVersion ( Receive ( Send ( CType (

369)

Responds to socket disconnection notifications.

269)

Version (

1281)

Implements bandwidth checking for the receive operation.

1282)

269) number for Indy component suite.

Implements bandwidth checking for the Send operation.

267)

Create (

1274)

Events Event

Description

OnConnect (

372)

OnDisconnect ( OnReceive ( OnSend (

373)

373)

374)

Specifies the event handler for connection notifications. Specifies the event handler for disconnect (

369) notifications.

Allows data handling or transformation for intercepted read operations. Allows data handling or transformation for intercepted write operations.

Legend Method virtual Property read only Event

TIdInterceptThrottler Methods The Methods of the TIdInterceptThrottler class are listed here. Methods Method

Description

Receive ( Send (

1281)

1282)

Implements bandwidth checking for the receive operation. Implements bandwidth checking for the Send operation.

Legend Method virtual

TIdInterceptThrottler.Receive Method Implements bandwidth checking for the receive operation. Pascal procedure Receive( var ABuffer: TIdBytes ); override; Parameters Parameters

Description

ABuffer

Values to be used in the operation.

Internet Direct (Indy) Version 10.1.5

1281

TIdInterceptThrottler Class

Classes

Description Receive is an overridden procedure used to implement bandwidth checking for the connection intercept. Receive ensures that throughput on the Connection ( 371) does not exceed the value indicated in BitsPerSec ( 1283). Receive calls the inherited method to get the data in ABuffer from the Intercept (

372) and IOHandler for the Connection (

371).

When BitsPerSec ( 1283) contains a positive non-zero value, Receive causes the connection intercept to pause using TIdAntiFreezeBase.Sleep ( 221). Use Send (

1282) to make data in a buffer availble to the Intercept (

372) and IOHandler for the Connection (

371).

See Also TIdInterceptThrottler.BitsPerSec (

1283)

TIdInterceptThrottler.Send (

1282)

TIdAntiFreezeBase.Sleep (

221)

TIdInterceptThrottler.Send Method Implements bandwidth checking for the Send operation. Pascal procedure Send( var ABuffer: TIdBytes ); override; Parameters Parameters

Description

ABuffer

Values to be used in the operation.

Description Send is an overridden procedure used to implement bandwidth checking for the connection intercept. Send ensures that throughput on the Connection ( 371) does not exceed the value indicated in BitsPerSec ( 1283). Send calls the inherited method to transmit the data in ABuffer to the Intercept (

372) and IOHandler for the Connection (

371).

When BitsPerSec ( 1283) contains a positive non-zero value, Send causes the connection intercept to pause using TIdAntiFreezeBase.Sleep ( 221). Use Receive (

1281) to get data in a buffer availble from the Intercept (

372) and IOHandler for the Connection (

371).

See Also TIdInterceptThrottler.BitsPerSec ( TIdInterceptThrottler.Receive ( TIdAntiFreezeBase.Sleep (

1283)

1281)

221)

TIdInterceptThrottler Properties The Properties of the TIdInterceptThrottler class are listed here. Properties Property BitsPerSec (

Description 1283)

Indicates the upper limit for throughput on the connection intercept.

Legend Property

1282

Internet Direct (Indy) Version 10.1.5

Classes

TIdInterfacedObject Class

TIdInterceptThrottler.BitsPerSec Property Indicates the upper limit for throughput on the connection intercept. Pascal property BitsPerSec: Integer; Description BitsPerSec is an Integer property that indicates the upper limit for throughput on the connection intercept. BitsPerSec is used in Send ( 1282) and Receive ( 1281), and will cause the connection intercept to call TIdAntiFreezeBase.Sleep ( 221) when the number of bits (8 bits per byte) in the buffer for the operation exceeds the target value in BitsPerSec. Set the value in BitsPerSec prior to calling Connect (

369).

See Also TIdInterceptThrottler.Receive ( TIdInterceptThrottler.Send (

1281) 1282)

TIdInterfacedObject Class File IdGlobalProtocols (

4654)

Hierarchy

Pascal TIdInterfacedObject = class(TInterfacedObject); Description TIdInterfacedObject is a TInterfacedObject descendant. See Also TInterfacedObject

TIdInterfacedObject Members The following tables list the members exposed by TIdInterfacedObject. Methods Method _AddRef ( _Release (

Description 1284) 1284)

Legend Method

TIdInterfacedObject Methods The Methods of the TIdInterfacedObject class are listed here.

Internet Direct (Indy) Version 10.1.5

1283

TIdIOHandler Class

Classes

Methods Method _AddRef (

Description 1284)

_Release (

1284)

Legend Method

TIdInterfacedObject._AddRef Method Pascal function _AddRef: Integer; Returns Integer Description _AddRef is a method. _AddRef returns a Integer value.

TIdInterfacedObject._Release Method Pascal function _Release: Integer; Returns Integer Description _Release is a method. _Release returns a Integer value.

TIdIOHandler Class Defines the framework for input and output using Indy components. File IdIOHandler (

4670)

Hierarchy

Pascal TIdIOHandler = class(TIdComponent); Description TIdIOHandler is a TIdComponent ( Indy components.

355) descendant that defines the framework used to perform input and output operations for

TIdIOHandler defines the mechanism used to provide buffered access to data read from or written to a connection using TIdBuffer ( 279). Special purpose buffers are also available for sending and receiving large chunks of data, and accumulating data written to a connection for less frequent transmission. TIdIOHandler implements the common method required to perform IO operations for a connection. These methods include reading 1284

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

and writing common data types using its buffering mechanism. TIdIOHandler also includes methods for direct reads and writes that bypass the buffering mechanism. TIdIOHandler also specifies convenience methods used to create ( 267) an IOHandler for a client connection, determine when an IOHandler is ready to perform an IO operation, and trigger events when data is sent and received using the IO handler. The properties, methods, and events in TIdIOHandler generally belong to the following usage categories:

Category

Property, Method, or Event

Configuration

Destination ( Host (

1325)

1325)

MaxCapturedLines ( MaxLineLength ( Port (

1327)

1329)

ConnectTimeout ( ReadTimeout (

Connection State

1327)

1324)

1330)

RecvBufferSize (

1330)

SendBufferSize (

1331)

CheckForDataOnSource ( CheckForDisconnect ( Close (

1296)

ClosedGracefully ( Connected (

1324)

1296)

1300)

Opened (

1329)

ReadLnTimedout ( Readable ( Buffers Buffering

1295)

1295)

CloseGracefully (

Open (

1294)

1330)

1300)

and InputBuffer (

1325)

InputBufferAsString (

1297)

InputBufferIsEmpty (

1297)

InputBufferToStream ( WriteBufferCancel (

1298)

1317)

WriteBufferClear (

1317)

WriteBufferClose (

1318)

WriteBufferFlush (

1318)

WriteBufferOpen (

1320)

WriteBufferThreshhold ( WriteBufferingActive ( Read Operations AllData (

1331) 1319)

1289)

Capture (

1290)

InputLn (

1298)

ReadBytes (

Internet Direct (Indy) Version 10.1.5

1301)

1285

TIdIOHandler Class

Classes

ReadCardinal (

1301)

ReadChar (

1302)

ReadInt64 (

1302)

ReadInteger ( ReadLn (

1303)

1304)

ReadLnSplit (

1306)

ReadLnWait (

1307)

ReadSmallInt (

1307)

ReadStream ( ReadString (

1308) 1309)

ReadStrings ( WaitFor ( Write ( 1312) Write ( Operations

1311)

1312)

WriteDirect ( WriteLn (

Connection Events

1310)

1321)

1322)

WriteFile (

1321)

OnWork (

1328)

OnWorkBegin ( OnWorkEnd (

1328) 1329)

MaxLineAction ( Intercept (

1327)

1326)

TIdIOHandler contains abstract methods. Applications normally create ( 267) instances of a descendant class, like TIdIOHandlerSocket ( 1331), TIdIOHandlerStack ( 1342), or TIdIOHandlerStream ( 1348) that implement the abstract virtual methods of this ancestor class. See Also TIdComponent (

355)

TIdIOHandlerSocket ( TIdIOHandlerStack (

1331) 1342)

TIdIOHandlerStream ( IndySupport (

1348)

15)

TIdIOHandler Members The following tables list the members exposed by TIdIOHandler. Properties Property

Description

ClosedGracefully ( ConnectTimeout ( Destination ( Host (

1325)

Intercept (

Indicates that the connection has been closed by the peer for a connection. Milliseconds to wait for successful completion of a connection attempt. Endpoint for the IOHandler connection. Identifies the address for the endpoint of the IOHandler connection.

1325)

1326)

LargeStream (

1286

1324)

1325)

InputBuffer (

1324)

1326)

Represents the internal storage for values received on the IOHandler connection. Intermediary for actions using the transport and the IOHandler for the connection. Indicates byte counts read from or written to the IOHandler should use a 64-bit data type.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

MaxCapturedLines (

1327)

Maximum number of lines permitted when capturing multi-line messages or responses.

MaxLineAction (

1327)

Indicates the action performed when the maximum line length is exceeded.

MaxLineLength (

1327)

Determines the maximum length of a line read from the IOHandler for the connection.

OnWork (

1328)

OnWorkBegin ( OnWorkEnd (

1329)

Opened ( Port (

Event handler for buffered read and write ( 1328)

1329)

1312) operations.

Event handler signalled when a read or write (

1312) request is started.

Event handler signalled when a read or write (

1312) request is completed.

Indicates if buffer and state properties have been initialized for the IOHandler.

1329)

Port number for the IOHandler connection.

ReadLnTimedout ( ReadTimeout (

1330)

Indicates a timeout occurred when reading a line of text from the IOHandler.

1330)

Indicates the milliseconds to wait for a readable (

1300) IOHandler connection.

RecvBufferSize (

1330)

Indicates the number of bytes to read reading large amounts of data.

SendBufferSize (

1331)

Indicates the buffer size used when writing large chunks of data to the IOHandler connection.

Version (

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

WriteBufferThreshhold (

1331)

Methods Method

Description

AfterAccept ( AllData (

1289)

Specifies the method used to initialize an IOHandler after a new connection request.

1289)

BeginWork (

Retrieves all data from a connection.

356)

Triggers the OnBeginWork event.

CheckForDataOnSource ( CheckForDisconnect ( Close (

1295)

1295)

Connected (

Determine if data is available in the unbuffered communication layer for the connection. Checks state and status information on the transport for the IO handler. Closes the IO handler and associated Intercepts and transports.

CloseGracefully ( Create (

1294)

1296)

1296)

Updates the ClosedGracefully (

1324) property that indicates the connection has been closed by the peer.

Indicates the connection is open (

267)

Destroy (

1296)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion (

1300), or data exists in the Indy buffer.

Constructor for the object instance.

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

InputBufferAsString (

1297)

Provides access to the contents of the Indy input buffer in string form.

InputBufferIsEmpty (

1297)

Indicates the input buffer for the IOHandler does not contain any data.

InputBufferToStream ( InputLn (

1298)

1298)

Reads a line of data from the connection.

MakeDefaultIOHandler ( MakeIOHandler ( Open (

1299)

1299)

1300)

Readable (

Stores the contents of the input buffer to a stream. Creates an instance of the IOHandler using the default class factory. Creates a new instance of an IOHandler using the specified class reference. Prepares the IOHandler for subsequent read and write (

1300)

1312) requests.

Indicates if the IOHandler is ready to perform a read request.

ReadBytes (

1301)

Perform a read request for IOHandler.

ReadCardinal (

1301)

Reads the ordinal data type from the IOHandler connection.

ReadChar (

1302)

Reads the simple data type from the IOHandler connection.

ReadInt64 (

1302)

Reads a 64-bit Integer data type from the data source for the IOHandler.

ReadInteger (

1303)

Reads the data type from the IOHandler connection.

ReadLnSplit (

1306)

Reads a line from the Indy buffer.

ReadLnWait ( ReadSmallInt (

1307) 1307)

ReadStream ( ReadString (

1308)

1309)

ReadStrings (

SetDefaultClass ( CType (

Create (

Reads one or more lines of text from the IOHandler into a TIdStrings ( 1310)

3089) instance.

Guaranteess that the IOHandler class exists in the registered IOHandler class list.

1311)

1274) 1290)

ReadLn (

1304) 1311)

WriteBufferFlush (

1318)

WriteBufferOpen (

1320)

WaitFor (

Reads data from the IOHandler into a stream.

267)

Capture ( Write (

Reads the data type from the IOHandler connection. Reads a Delphi string from the IOHandler buffer.

1310)

RegisterIOHandler (

Waits for a line of text to be read from the IOHandler.

1311)

Internet Direct (Indy) Version 10.1.5

Searches for a specific value in the input received from the data source for the IOHandler.

1287

TIdIOHandler Class

Classes

WriteBufferCancel (

1317)

Clears and cancels write (

1312) buffering for the IOHandler.

WriteBufferClear (

1317)

Discards any exisitng data in the write (

WriteBufferClose (

1318)

Disables uses write (

WriteBufferingActive (

1319)

Indicates if write (

WriteDirect ( WriteFile (

1321)

Writes the contents of a local file to the IOHandler.

1322)

WriteRFCStrings (

1312) buffering is enabled for the IOHandler.

Moves values to the socket-level transport for the IOHandler.

1321)

WriteLn (

1312) buffering mechanism.

1312) buffering for the IOHandler connection.

Writes a string value to IOHandler. 1322)

Writes a list of RFC-compatible strings to the peer for the IOHandler class instance.

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual abstract Property read only Event

TIdIOHandler Methods The Methods of the TIdIOHandler class are listed here. Methods Method

Description

AfterAccept ( AllData (

1289)

Specifies the method used to initialize an IOHandler after a new connection request.

1289)

Capture (

Retrieves all data from a connection.

1290)

CheckForDataOnSource ( CheckForDisconnect ( Close (

1295)

Connected ( Destroy (

Determine if data is available in the unbuffered communication layer for the connection. Checks state and status information on the transport for the IO handler. Closes the IO handler and associated Intercepts and transports.

CloseGracefully (

1296)

1296)

Updates the ClosedGracefully ( Indicates the connection is open (

1296)

1324) property that indicates the connection has been closed by the peer. 1300), or data exists in the Indy buffer.

Frees the object instance.

InputBufferAsString (

1297)

Provides access to the contents of the Indy input buffer in string form.

InputBufferIsEmpty (

1297)

Indicates the input buffer for the IOHandler does not contain any data.

InputBufferToStream ( InputLn (

1298)

1298)

MakeIOHandler ( Open (

1299)

1299)

1300)

Readable (

Stores the contents of the input buffer to a stream. Reads a line of data from the connection.

MakeDefaultIOHandler (

Creates an instance of the IOHandler using the default class factory. Creates a new instance of an IOHandler using the specified class reference. Prepares the IOHandler for subsequent read and write (

1300)

1312) requests.

Indicates if the IOHandler is ready to perform a read request.

ReadBytes (

1301)

Perform a read request for IOHandler.

ReadCardinal (

1301)

Reads the ordinal data type from the IOHandler connection.

ReadChar (

1302)

Reads the simple data type from the IOHandler connection.

ReadInt64 (

1302)

Reads a 64-bit Integer data type from the data source for the IOHandler.

ReadInteger ( ReadLn (

1303) 1306)

ReadLnWait ( ReadSmallInt ( ReadString ( ReadStrings (

Reads a line from the Indy buffer.

1307) 1307)

ReadStream (

1308)

1309)

SetDefaultClass ( 1311)

Waits for a line of text to be read from the IOHandler. Reads the data type from the IOHandler connection. Reads data from the IOHandler into a stream. Reads a Delphi string from the IOHandler buffer.

1310)

RegisterIOHandler ( WaitFor (

Reads the data type from the IOHandler connection.

1304)

ReadLnSplit (

1288

1294)

1295)

Reads one or more lines of text from the IOHandler into a TIdStrings ( 1310)

3089) instance.

Guaranteess that the IOHandler class exists in the registered IOHandler class list.

1311) Searches for a specific value in the input received from the data source for the IOHandler.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

Write (

1311)

WriteBufferCancel (

1317)

Clears and cancels write (

1312) buffering for the IOHandler.

WriteBufferClear (

1317)

Discards any exisitng data in the write (

WriteBufferClose (

1318)

Disables uses write (

WriteBufferFlush (

1318)

WriteBufferingActive ( WriteBufferOpen ( WriteDirect ( WriteFile ( WriteLn (

1319)

Indicates if write (

1312) buffering is enabled for the IOHandler.

1320)

1321)

Moves values to the socket-level transport for the IOHandler.

1321)

Writes the contents of a local file to the IOHandler.

1322)

WriteRFCStrings (

1312) buffering mechanism.

1312) buffering for the IOHandler connection.

Writes a string value to IOHandler. 1322)

Writes a list of RFC-compatible strings to the peer for the IOHandler class instance.

Legend Method virtual abstract

TIdIOHandler.AfterAccept Method Specifies the method used to initialize an IOHandler after a new connection request. Pascal procedure AfterAccept; virtual; Description AfterAccept is a virtual procedure in TIdIOHandler ( 1284) that specifies the mechanism used to initialize an IOHandler after a listener thread for a server has detected a client connection request. AfterAccept must be implemented in a descendant class, like TIdServerIOHandlerSocket ( prior to calling Accept for the socket binding in the newly detected client connection.

1996), to allow any operation needed

See Also TIdSimpleServer (

2007)

TIdServerIOHandlerSocket (

1996)

TIdIOHandler.AllData Method Retrieves all data from a connection. Pascal function AllData: string; virtual; Returns string - Data read from the connection. Description AllData is a virtual String function that retrieves data from a peer connection until the connection is closed. AllData triggers the OnWorkBegin (

1328) event handler by calling BeginWork (

356).

While the connection is open ( 1300), AllData calls CheckForDataOnSource ( 1294) to determine if data is available on the underlying data source. Data is accumulated by calling InputBufferAsString ( 1297) until the connection is closed. The return value for the method consists of the accumulated string values from InputBufferAsString ( 1297). AllData triggers the OnWorkEnd (

1329) event handler by calling EndWork (

358).

Do not use AllData unless the communications protocol supports using the connection in this manner. Protocols which support AllData include Finger, Quote of the Day, and WhoIs.

Internet Direct (Indy) Version 10.1.5

1289

TIdIOHandler Class

Classes

See Also TIdIOHandler.CheckForDataOnSource ( TIdIOHandler.InputBufferAsString ( TIdIOHandler.OnWorkEnd (

1294)

1297) TIdIOHandler.OnWorkBegin (

1328)

1329)

TIdIOHandler.Capture Method Overload List Method

Description

TIdIOHandler.Capture (TIdStream) ( 1290)

Reads data from the connection into the specified stream.

TIdIOHandler.Capture (TIdStream, Reads data from the connection into the specified object. Integer, string, Boolean) ( 1291) TIdIOHandler.Capture string, Boolean) ( 1291)

(TIdStream, Reads data from the connection into the specified object.

TIdIOHandler.Capture (TIdStrings) ( 1292)

Reads data from the connection into the specified object.

TIdIOHandler.Capture (TIdStrings, Reads data from the connection into the specified object. Integer, string, Boolean) ( 1293) TIdIOHandler.Capture string, Boolean) ( 1293)

(TIdStrings, Reads data from the connection into the specified object.

TIdIOHandler.Capture Method (TIdStream) Reads data from the connection into the specified stream. Pascal procedure Capture( ADest: TIdStream ); overload; Parameters Parameters

Description

ADest

Type is TIdStream (

3087).

Description Capture is an overloaded procedure used to read data from the connection for the IOHandler into the destination specified by ADest. If ADest contains an unknown or uninitialized data type, an EIdObjectTypeNotSupported ( 126) exception with the message RSObjectTypeNotSupported will be raised. The overloaded methods provide support for both TIdStream ( 3087) and TIdStrings ( 3089) as the data type for ADest. Capture triggers the OnWorkBegin ( 1328) event handler with wmRead mode before reading data from the connection. Capture calls ReadLn ( 1304) to retrieve data from the connection until the delimiter specified in ADelim is received. Each line is written to ADest upon receipt. Capture triggers the OnWorkEnd ( 1329) event handler with wmRead mode when all data has been captured from the connection. Capture is used in the implementation of various protocol-oriented clients, like TIdIMAP4 (

1150) and TIdNNTP (

1692).

See Also Capture EIdObjectTypeNotSupported ( OnWorkBegin ( OnWorkEnd ( 1290

126)

1328) 1329) Internet Direct (Indy) Version 10.1.5

Classes ReadLn (

TIdIOHandler Class 1304)

TIdIOHandler.Capture Method (TIdStream, Integer, string, Boolean) Reads data from the connection into the specified object. Pascal procedure Capture( ADest: TIdStream; out VLineCount: Integer; const ADelim: string = '.'; AIsRFCMessage: Boolean = True ); overload; Parameters Parameters

Description

ADest

Storage for the captured data values.

VLineCount

Number of lines resulting from the capture.

ADelim

Delimiter for captured data values. Default value is '.'.

AIsRFCMessage

Captured data is an RFC 2822 message. Default value is True.

Description Capture is an overloaded procedure used to read data from the connection into the destination specified by ADest. If ADest contains an unknown or uninitialized data type, an EIdObjectTypeNotSupported ( 126) exception with the message RSObjectTypeNotSupported will be raised. The overloaded methods provide support for both TIdStream ( 3087) and TIdStrings ( 3089) as the data type for ADest. VLineCount is used to return the number of lines resulting from the capture operation using the specified delimiter. ADelim is the delimiter used to determine if all data has been read from the connection. ADelim will appear as a line with no other data when all data has been captured. The default delimiter is '.', as used in most RFC-compliant protocols. AIsRFCMessage indicates that Capture is reading an RFC 2822 Internet message format where a line may contain the characters '..'. Capture will convert this character sequence to a single '.' character. A single '.' character in a line indicates the end of the RFC 822 message. Capture triggers the OnWorkBegin ( 1328) event handler with wmRead mode before reading data from the connection. Capture calls ReadLn ( 1304) to retrieve data from the connection until the delimiter specified in ADelim is received. Each line is written to ADest upon receipt. Capture triggers the OnWorkEnd ( 1329) event handler with wmRead mode when all data has been captured from the connection. Capture is used in the implementation of various protocol-oriented clients, like TIdIMAP4 (

1150) and TIdNNTP (

1692).

See Also EIdObjectTypeNotSupported (

126)

TIdIOHandler.OnWorkBegin (

1328)

TIdIOHandler.OnWorkEnd ( TIdIOHandler.ReadLn (

1329)

1304)

TIdIOHandler.Capture Method (TIdStream, string, Boolean) Reads data from the connection into the specified object. Pascal procedure Capture( ADest: TIdStream; ADelim: string; AIsRFCMessage: Boolean = True ); overload;

Internet Direct (Indy) Version 10.1.5

1291

TIdIOHandler Class

Classes

Parameters Parameters

Description

ADest

Storage for the captured data values.

ADelim

Delimiter for captured data values. Default value is '.'.

AIsRFCMessage

Captured data is an RFC 2822 message. Default value is True.

Description Capture is an overloaded procedure used to read data from the connection into the destination specified by ADest. If ADest contains an unknown or uninitialized data type, an EIdObjectTypeNotSupported ( 126) exception with the message RSObjectTypeNotSupported will be raised. The overloaded methods provide support for both TIdStream ( 3087) and TIdStrings ( 3089) as the data type for ADest. ADelim is the delimiter used to determine if all data has been read from the connection. ADelim will appear as a line with no other data when all data has been captured. The default delimiter is '.', as used in most RFC-compliant protocols. AIsRFCMessage indicates that Capture is reading an RFC 2822 internet message format where a line may contain the characters '..'. Capture will convert this character sequence to a single '.' character. A single '.' character in a line indicates the end of the RFC 2822 message. Capture triggers the OnWorkBegin ( 1328) event handler with wmRead mode before reading data from the connection. Capture calls ReadLn ( 1304) to retrieve data from the connection until the delimiter specified in ADelim is received. Each line is written to ADest upon receipt. Capture triggers the OnWorkEnd ( 1329) event handler with wmRead mode when all data has been captured from the connection. Capture is used in the implementation of various protocol-oriented clients, like TIdIMAP4 (

1150) and TIdNNTP (

1692).

See Also EIdObjectTypeNotSupported (

126)

TIdIOHandler.OnWorkBegin (

1328)

TIdIOHandler.OnWorkEnd ( TIdIOHandler.ReadLn (

1329)

1304)

TIdIOHandler.Capture Method (TIdStrings) Reads data from the connection into the specified object. Pascal procedure Capture( ADest: TIdStrings ); overload; Parameters Parameters

Description

ADest

Storage for the captured data values.

Description Capture is an overloaded procedure used to read data from the connection into the destination specified by ADest. If ADest contains an unknown or uninitialized data type, an EIdObjectTypeNotSupported ( 126) exception with the message RSObjectTypeNotSupported will be raised. The overloaded methods provide support for both TIdStream ( 3087) and TIdStrings ( 3089) as the data type for ADest. Capture triggers the OnWorkBegin ( 1328) event handler with wmRead mode before reading data from the connection. Capture calls ReadLn ( 1304) to retrieve data from the connection until the delimiter specified in ADelim is received. Each line is written to ADest upon receipt. Capture triggers the OnWorkEnd ( 1329) event handler with wmRead mode when all data has been captured from the connection. Capture is used in the implementation of various protocol-oriented clients, like TIdIMAP4 (

1292

1150) and TIdNNTP (

1692).

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

See Also EIdObjectTypeNotSupported (

126)

TIdIOHandler.OnWorkBegin (

1328)

TIdIOHandler.OnWorkEnd ( TIdIOHandler.ReadLn (

1329)

1304)

TIdIOHandler.Capture Method (TIdStrings, Integer, string, Boolean) Reads data from the connection into the specified object. Pascal procedure Capture( ADest: TIdStrings; out VLineCount: Integer; const ADelim: string = '.'; AIsRFCMessage: Boolean = True ); overload; Parameters Parameters

Description

ADest

Storage for the captured data values.

VLineCount

Number of lines resulting from the capture.

ADelim

Delimiter for captured data values. Default value is '.'.

AIsRFCMessage

Captured data is an RFC 2822 message. Default value is True.

Description Capture is an overloaded procedure used to read data from the connection into the destination specified by ADest. If ADest contains an unknown or uninitialized data type, an EIdObjectTypeNotSupported ( 126) exception with the message RSObjectTypeNotSupported will be raised. The overloaded methods provide support for both TIdStream ( 3087) and TIdStrings ( 3089) as the data type for ADest. VLineCount is used to return the number of lines resulting from the capture operation using the specified delimiter. ADelim is the delimiter used to determine if all data has been read from the connection. ADelim will appear as a line with no other data when all data has been captured. The default delimiter is '.', as used in most RFC-compliant protocols. AIsRFCMessage indicates that Capture is reading an RFC 2822 Internet message format where a line may contain the characters '..'. Capture will convert this character sequence to a single '.' character. A single '.' character in a line indicates the end of the RFC 2822 message. Capture triggers the OnWorkBegin ( 1328) event handler with wmRead mode before reading data from the connection. Capture calls ReadLn ( 1304) to retrieve data from the connection until the delimiter specified in ADelim is received. Each line is written to ADest upon receipt. Capture triggers the OnWorkEnd ( 1329) event handler with wmRead mode when all data has been captured from the connection. Capture is used in the implementation of various protocol-oriented clients, like TIdIMAP4 (

1150) and TIdNNTP (

1692).

See Also EIdObjectTypeNotSupported (

126)

TIdIOHandler.OnWorkBegin (

1328)

TIdIOHandler.OnWorkEnd ( TIdIOHandler.ReadLn (

1329)

1304)

TIdIOHandler.Capture Method (TIdStrings, string, Boolean) Reads data from the connection into the specified object.

Internet Direct (Indy) Version 10.1.5

1293

TIdIOHandler Class

Classes

Pascal procedure Capture( ADest: TIdStrings; const ADelim: string; AIsRFCMessage: Boolean = True ); overload; Parameters Parameters

Description

ADest

Storage for the captured data values.

ADelim

Delimiter for captured data values. Default value is '.'.

AIsRFCMessage

Captured data is an RFC 2822 message. Default value is True.

Description Capture is an overloaded procedure used to read data from the connection into the destination specified by ADest. If ADest contains an unknown or uninitialized data type, an EIdObjectTypeNotSupported ( 126) exception with the message RSObjectTypeNotSupported will be raised. The overloaded methods provide support for both TIdStream ( 3087) and TIdStrings ( 3089) as the data type for ADest. ADelim is the delimiter used to determine if all data has been read from the connection. ADelim will appear as a line with no other data when all data has been captured. The default delimiter is '.', as used in most RFC-compliant protocols. AIsRFCMessage indicates that Capture is reading an RFC 2822 Internet message format where a line may contain the characters '..'. Capture will convert this character sequence to a single '.' character. A single '.' character in a line indicates the end of the RFC 822 message. Capture triggers the OnWorkBegin ( 1328) event handler with wmRead mode before reading data from the connection. Capture calls ReadLn ( 1304) to retrieve data from the connection until the delimiter specified in ADelim is received. Each line is written to ADest upon receipt. Capture triggers the OnWorkEnd ( 1329) event handler with wmRead mode when all data has been captured from the connection. Capture is used in the implementation of various protocol-oriented clients, like TIdIMAP4 (

1150) and TIdNNTP (

1692).

See Also EIdObjectTypeNotSupported (

126)

TIdIOHandler.OnWorkBegin (

1328)

TIdIOHandler.OnWorkEnd ( TIdIOHandler.ReadLn (

1329)

1304)

TIdIOHandler.CheckForDataOnSource Method Determine if data is available in the unbuffered communication layer for the connection. Pascal procedure CheckForDataOnSource( ATimeout: Integer = 0 ); virtual; abstract; Parameters Parameters

Description

ATimeout

Milliseconds to wait for the connection to become readable (

1300), or to return data.

Description CheckForDataOnSource is an abstract virtual procedure in TIdIOHandler ( 1284). CheckForDataOnSource must be overridden in a descendant class to allow inspection of the unbuffered data in the source for the connection. CheckForDataOnSource is used to determine when new data is available to be added to the buffering mechanism in Indy. ATimeout indicates the number of milliseconds to wait for the connection to become readable ( 1300), or to return data values for the read operation. A descendant class can use ATimeout when appropriate for the transport mechanism. 1294

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

CheckForDataOnSource will generally rely on the protected ReadFromSource method to retrieve unbuffered data from the communications layer, and to add the values to an Indy buffer for subsequent processing. ReadFromSource is an abstract virtual method in TIdIOHandler ( provide access to a transport for the IOHandler.

1284), and must be implemented in descendant classes that

TIdIOHandler.CheckForDisconnect Method Checks state and status information on the transport for the IO handler. Pascal procedure CheckForDisconnect( ARaiseExceptionIfDisconnected: Boolean = True; AIgnoreBuffer: Boolean = False ); virtual; abstract; Parameters Parameters

Description

ARaiseExceptionIfDisconnected

Indicates if exceptions are raised when the connection has closed prematurely.

AIgnoreBuffer

Indicates if data in the Indy buffer is ignored when the connection has closed prematurely.

Description CheckForDisconnect is an abstract virtual procedure in TIdIOHandler ( 1284). CheckForDisconnect must be overridden in a descendant class to allow inspecting the status of the connection prior to or following a method call that performs an IO operation. CheckForDisconnect is used primarily to ensure that state and status properties for the IOHandler are synchronized with the underlying transport mechanism. In descendant classes, CheckForDisconnect must not delay when inspecting the connection. The method should not raise any exceptions directly, but may call methods in the descendant designed for that purpose when ARaiseExceptionIfDisconnected contains True. CheckForDisconnect may trigger the OnStatus ( on values detected in the method.

359) event handler for the connection if the connection state has changed based

See Also TIdIOHandlerStack (

1342)

TIdIOHandlerStream (

1348)

TIdIOHandlerStack.CheckForDisconnect (

1345)

TIdIOHandler.Close Method Closes the IO handler and associated Intercepts and transports. Pascal procedure Close; virtual; Description Close is a virtual procedure in TIdIOHandler ( disconnected when the IO handler is closed. Close sets the value in the Opened (

1284). Close ensures that an assigned Intercept (

1326) for the connection is also

1329) property to False.

Close may be overidden in descendant classes when the transport requires special handling during closing of the connection. Use Open (

1300) to reset the IOHandler and open (

1300) the receive and InputBuffer (

1325) for the IOHandler.

See Also TIdIOHandler.Opened (

1329)

TIdIOHandler.InputBuffer (

1325)

Internet Direct (Indy) Version 10.1.5

1295

TIdIOHandler Class

Classes

TIdIOHandlerStream.Close (

1352)

TIdIOHandler.CloseGracefully Method Updates the ClosedGracefully (

1324) property that indicates the connection has been closed by the peer.

Pascal procedure CloseGracefully; virtual; Description CloseGracefully is a procedure used to update the value in the ClosedGracefully ( has been closed by the peer.

1324) property that indicates the connection

See Also TIdIOHandler.ClosedGracefully ( TIdIOHandler.Connected ( TIdIOHandler.ReadStream (

1324)

1296) 1308)

TIdIOHandler.Connected Method Indicates the connection is open (

1300), or data exists in the Indy buffer.

Pascal function Connected: Boolean; virtual; Returns Boolean - True when the connection is open (

1300), or data exists in the Indy buffer.

Description Connected is a Boolean function used to indicate that connection for the IOHandler has been established, and that the internal buffer is assigned or contains existing data. Connected calls CheckForDisconnect ( IOHandler.

1295) to synchronize properties that reflect the connection state of the transport for the

The return value for the function is True when the InputBuffer ( is False and the InputBuffer ( 1325) is assigned.

1325) contains exisiting data, or when ClosedGracefully (

Connected is used in ReadStream ( 1308) and AllData ( 1289) to determine if unread data in InputBuffer ( handled or more data read from the transport for the IOHandler.

1324)

1325) should be

See Also TIdIOHandler.ClosedGracefully ( TIdIOHandler.InputBuffer (

1324)

1325)

TIdIOHandler.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the overridden destructor for the object instance. Destroy calls Close (

1295) to disable the connection for the IOHandler.

Destroy also frees and releases resources allocated to the receive buffer for the transport and the InputBuffer (

1296

1325) property.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

Destroy calls the inherited destructor prior to exit from the method. See Also TIdIOHandler.Close (

1295)

TIdIOHandler.InputBuffer (

1325)

TIdIOHandler.InputBufferAsString Method Provides access to the contents of the Indy input buffer in string form. Pascal function InputBufferAsString: string; Returns string - Contents from the Indy input buffer in string form. Description InputBufferAsString is a string function that provides access to the contents of the InputBuffer ( InputBufferAsString can be used to access any data stored in the InputBuffer (

1325) for the IOHandler connection.

The return value for InputBufferAsString represents the entire contents of InputBuffer ( removed from InputBuffer ( 1325) using this method. InputBufferAsString is used in the implementation of WaitFor ( Use InputBufferToStream ( Use InputBufferIsEmpty (

1325) for the Indy connection.

1311) and AllData (

1325). The return values are retrieved and

1289).

1298) to access the contents of the Indy input buffer as a TIdStream ( 1297) to determine if any unhandled data exists in InputBuffer (

3087) instance.

1325).

See Also TIdBuffer (

279)

TIdIOHandler.InputBufferToStream ( TIdIOHandler.InputBufferIsEmpty ( TIdIOHandler.InputBuffer (

1298) 1297)

1325)

TIdIOHandler.WaitFor (

1311)

TIdIOHandler.AllData (

1289)

TIdIOHandler.InputBufferIsEmpty Method Indicates the input buffer for the IOHandler does not contain any data. Pascal function InputBufferIsEmpty: Boolean; Returns Boolean - True when the input buffer is empty. Description InputBufferIsEmpty is a Boolean function used to indicate if the InputBuffer ( InputBufferIsEmpty uses InputBuffer ( buffer.

1325) for the IOHandler contains any unhandled data.

1325) to determine if the buffer has been assigned, and to get the existing length of the

See Also TIdIOHandler.InputBuffer (

1325)

Internet Direct (Indy) Version 10.1.5

1297

TIdIOHandler Class

Classes

TIdIOHandler.InputBufferToStream Method Stores the contents of the input buffer to a stream. Pascal procedure InputBufferToStream( AStream: TIdStream; AByteCount: Integer = -1 ); Parameters Parameters

Description

AStream

Stream used to store the contents of the input buffer.

AByteCount

Number of bytes to retrieve from the input buffer. Default value is -1.

Description InputBufferToStream is a procedure used to store the contents of the InputBuffer ( specified in AStream. AStream is the TIdStream (

1325) buffer for the IOHandler to the stream

3087) instance to use for storing the values found in the input buffer for the IOHandler.

AByteCount indicates the number of bytes to retrieve from the input buffer. The default value is -1, and indicates that all existing data in the buffer should be retrieved. InputBufferToStream extracts the requested number of bytes in AByteCount from InputBuffer ( AStream.

1325), and writes the values to

See Also TIdIOHandler.InputBuffer (

1325)

TIdIOHandler.InputLn Method Reads a line of data from the connection. Pascal function InputLn( const AMask: String = ''; AEcho: Boolean = True; ATabWidth: Integer = 8; AMaxLineLength: Integer = -1 ): String; virtual; Parameters Parameters

Description

AMask

Character to echo instead of the value read from the connection.

AEcho

Indicates if echoing is enabled.

ATabWidth

Number of space characters to use to represent a TAB (

AMaxLineLength

Maximum line length allowed for data read from the connection.

4393).

Returns String - Values read from the IOHandler connection. Description InputLn is a virtual String function used to read a single line of data from the connection for the IOHandler. AMaxLineLength indicates the maximum line length allowed for data read from the connection. When AMaxLineLength contains -1, the value in MaxLineLength ( 1327) is used for the maximum line length. InputLn reads data one character at a time from the connection for the IOHandler, and accumulates values read from the connection as the return value for the function. Trailing CR ( 3174) and LF ( 4341) characters are truncated from the return value. When AEcho is True, values read from the connection are written back to the connection, with special handling provided for the 1298

Internet Direct (Indy) Version 10.1.5

Classes TAB (

TIdIOHandler Class 4393) and BACKSPACE (

3137) characters.

TAB ( 4393) characters are echoed as a string of CHAR32 ( ATabWidth contains a positive non-zero value.

3169) values with the length indicated in ATabWidth when

BACKSPACE ( 3137) characters cause the last value read from the connection to be removed from the accumulated return value. When AEcho is True, the BACKSPACE ( 3137) character is echoed with additional CHAR32 ( 3169) and BACKSPACE ( 3137) values. When AMask is specified, the AMask string is sent to the peer for each character received instead of the actual characters read from the connection. InputLn is useful when obtaining data from a user such as username, passwords, and commands. See Also TIdIOHandler.ReadLn (

1304)

TIdIOHandler.ReadChar (

1302)

TIdIOHandler.MakeDefaultIOHandler Method Creates an instance of the IOHandler using the default class factory. Pascal class function MakeDefaultIOHandler( AOwner: TIdNativeComponent = nil ): TIdIOHandler; Parameters Parameters

Description

AOwner

Type is TIdNativeComponent (

3061). Default value is nil.

Returns TIdIOHandler (

1284) - The new IOHandler class instance.

Description MakeDefaultIOHandler is a class method used to create ( GIOHandlerClassDefault.

267) an instance of the IOHandler using the default class factory in

TIdIOHandler.MakeIOHandler Method Creates a new instance of an IOHandler using the specified class reference. Pascal class function MakeIOHandler( ABaseType: TIdIOHandlerClass; AOwner: TIdNativeComponent = nil ): TIdIOHandler; Parameters Parameters

Description

ABaseType

Class reference used to create (

AOwner

Component that owns the IOHandler class instance. Default value is nil.

267) the IOHandler instance.

Returns TIdIOHandler (

1284) - The new IOHandler class instance.

Description MakeIOHandler is a class method used to create ( 267) a new instance of an IOHandler using the class reference specified in ABaseType. MakeIOHandler searches GIOHandlerClassList for an IOHandlers class that inherits from the ancestor class in ABaseType, an it is used to instantiate the class instance for the return value.

Internet Direct (Indy) Version 10.1.5

1299

TIdIOHandler Class

Classes

MakeIOHandler can raise an EIdException ( GIOHandlerClassList.

76) exception if an instance of the ancestor class is not found in

The value in AOwner is ignored at the present time. Exceptions Exceptions EIdException (

Description 76)

Raised with the message RSIOHandlerTypeNotInstalled and the class name for the ancestor class in ABaseType.

TIdIOHandler.Open Method Prepares the IOHandler for subsequent read and write (

1312) requests.

Pascal procedure Open; virtual; Description Open is a virtual procedure used to allocate buffers and reset state properties used in IOHandler methods that perform Send and Receive operations. Open recreates the receive buffer used when reading data from the transport for the IOHandler. Open also creates the InputBuffer ( 1325) used as internal storage for unhandled data read from the transport for the IOHandler. Open sets ClosedGracefully ( Use Close (

1324) to False and Opened (

1329) to True.

1295) to free resources allocated to the receive buffer and InputBuffer (

1325).

See Also TIdIOHandler.InputBuffer (

1325)

TIdIOHandler.ClosedGracefully ( TIdIOHandler.Close ( TIdBuffer (

1324)

1295)

279)

TIdIOHandler.Readable Method Indicates if the IOHandler is ready to perform a read request. Pascal function Readable( AMSec: Integer = IdTimeoutDefault ): Boolean; virtual; Parameters Parameters

Description

AMSec

Number of milliseconds to wait for an IOHandler connection to become ready for a read operation. The default value is IdTimeoutDefault ( 4331).

Returns Boolean - True when the connection is ready for the IO request. Description Readable is a virtual Boolean function that indicates if the connection for the IOHandler is ready to perform an IO request. AMSec indicates the number of milliseconds to wait for the IOHandler connection to become ready for the read operation. The default value is IdTimeoutDefault ( 4331). In TIdIOHandler (

1284), the return value for the method is False.

Readable has no significance in TIdIOHandler ( an overridden implementation of the method. 1300

1284), but is provided for compatibility with descendant classes that may not have

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

See Also TIdIOHandlerSocket.Readable TIdIOHandlerStack.Readable (

1346)

TIdIOHandler.ReadBytes Method Perform a read request for IOHandler. Pascal procedure ReadBytes( var VBuffer: TIdBytes; AByteCount: Integer; AAppend: boolean = true ); virtual; Parameters Parameters

Description

VBuffer

Storage for values read from the IOHandler.

AByteCount

Number of bytes expected in the read request.

AAppend

Indicates if values are appended to exisitng data in the buffer.

Description ReadBytes is a virtual procedure used to perform a read request for the IOHandler. VBuffer is the variable argument used to store values read from the data source for the IOHandler connection. AByteCount indicates the number of byte values expected for the read request. When AByteCount contains 0 (zero), no data is read from the data source for the IOHandler. when AByteCount contains -1, data is read from the data source until it is disconnected or the ReadTimeout ( 1330) value has elapsed. ReadBytes reads data from the IOHandler data source until the number of bytes in AByteCount has been accumulated in InputBuffer ( 1325), or CheckForDisconnect ( 1295) interrupts the read request. On successful completion of the read request, values are extracted from InputBuffer (

1325) into VBuffer.

AAppend indicates that values extracted from the input buffer should be appended to existing data in VBuffer. When AAppend is False, any values in VBuffer are discarded during extraction of data from InputBuffer ( 1325). See Also TIdBytes (

3007)

TIdIOHandler.InputBuffer (

1325)

TIdIOHandler.CheckForDisconnect (

1295)

TIdIOHandler.ReadCardinal Method Reads the ordinal data type from the IOHandler connection. Pascal function ReadCardinal( AConvert: Boolean = True ): Cardinal; Parameters Parameters

Description

AConvert

Indicates the bytes order for the ordinal data type must be converted.

Returns Cardinal - Ordinal value read from the IOHandler connection.

Internet Direct (Indy) Version 10.1.5

1301

TIdIOHandler Class

Classes

Description ReadCardinal is a Cardinal function used to read the ordinal data type from the data source for the IOHandler connection. ReadCardinal calls ReadBytes ( 1301) to perform the read request, and calls BytesToCardinal ( 2721) to convert the byte values to the ordinal data type. AConvert indicates that the byte order in the return value should be converted from the Network byte order to the host-specific byte order required for the data type. GStack ( 3126) is used to access TIdStack.NetworkToHost ( 2172) method for the byte order conversion. Use other methods to get a specific data type from the IOHandler connection, including:

ReadChar (

1302)

ReadInteger (

1303)

ReadSmallInt ( ReadString (

1307) 1309)

See Also TIdIOHandler.ReadBytes (

1301)

TIdIOHandler. BytesToCardinal ( GStack (

2721)

3126)

TIdStack.NetworkToHost (

2172)

TIdIOHandler.ReadChar Method Reads the simple data type from the IOHandler connection. Pascal function ReadChar: Char; Returns Char - Value read from the IOHandler connection. Description ReadChar is a Char function used to read the simple data type from the connection for the IOHandler. ReadChar calls ReadBytes ( 1301) to prepare the return value for the method. Use other methods to get a specific data type from the IOHandler connection, including:

ReadCardinal ( ReadInteger ( ReadSmallInt ( ReadString (

1301) 1303) 1307)

1309)

See Also TIdIOHandler.ReadBytes (

1301)

TIdIOHandler.ReadInt64 Method Reads a 64-bit Integer data type from the data source for the IOHandler.

1302

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

Pascal function ReadInt64( AConvert: Boolean = True ): Int64; Parameters Parameters

Description

AConvert

Indicates if the byte order is converted from network ordering to its host-specific representation. Default value is True.

Returns Int64 - 64-bit Integer value read from the IOHandler. Description ReadInt64 is an Int64 function used to read a 64-bit Integer value from the data source for the IOHandler. ReadInt64 use ReadBytes ( 1301) to acquire the number of bytes indicated by callint SizeOf for the Int64 data type, and passing the value to BytesToInt64 ( 2723). AConvert indicates if the byte order for the return value is converted from network byte order to its host-specific representation. When AConvert contains True, the TIdStack.NetworkToHost ( 2172) method in GStack ( 3126) is called to perform the byte order conversion. The default value for AConvert is True. Use ReadCardinal ( IOHandler.

1301), ReadSmallInt (

1307), or ReadInteger (

1303) to acquire other numeric data types from the

See Also TIdIOHandler.ReadCardinal (

1301)

TIdIOHandler.ReadSmallInt (

1307)

TIdIOHandler.ReadInteger (

1303)

TIdIOHandler.ReadInteger Method Reads the data type from the IOHandler connection. Pascal function ReadInteger( AConvert: Boolean = True ): Integer; Parameters Parameters

Description

AConvert

Indicates the order of bytes for the ordinal data type must be converted.

Returns Integer - Data type read from the the IOHandler connection. Description ReadInteger is an Integer function used to read the ordinal data type from the data source for the IOHandler connection. ReadInteger calls ReadBytes ( 1301) to perform the read request, and calls BytesToInteger ( 2724) to convert the byte values to the ordinal data type. AConvert indicates that the byte order in the return value should be converted from the Network byte order to the host-specific byte order required for the data type. GStack ( 3126) is used to access the TIdStack.NetworkToHost ( 2172) method for the byte order conversion. Use other methods to get a specific data type from the IOHandler connection, including:

Internet Direct (Indy) Version 10.1.5

1303

TIdIOHandler Class

ReadCardinal ( ReadChar (

1301)

1302)

ReadSmallInt ( ReadString (

Classes

1307) 1309)

See Also TIdIOHandler.ReadBytes (

1301)

TIdIOHandler. BytesToInteger ( GStack (

2724)

3126)

TIdStack.NetworkToHost (

2172)

TIdIOHandler.ReadLn Method Overload List Method TIdIOHandler.ReadLn () (

Description 1304)

Reads a line from the internal buffer for the IOHandler.

TIdIOHandler.ReadLn (string, Integer, Reads a line from the Indy buffer. Integer) ( 1305)

TIdIOHandler.ReadLn Method () Reads a line from the internal buffer for the IOHandler. Pascal function ReadLn: string; overload; Returns String - Line read from the buffer. Description ReadLn is an overloaded string function used to read a single line of text from values received from the peer connection for the IOHandler. ReadLn is a String function that returns a a single line from the input buffer maintained for the IOHandler. This variant of the ReadLn method uses the LF ( 4341) character as the end-of-line delimiter, and calls an overloaded variant of the method. ReadLn retrieves data from InputBuffer ( 1325) until the end-of-line sequence is located, the maximum line length is exceeded, the socket connection is closed, or a timeout occurs. If there is not enough data to satisfy the request, ReadLn calls CheckForDisconnect ( 1295) to update the IOHandler status and reads data from the data source for the IOHandler connection. ReadLn will return an empty string ('') if the peer connection is prematurely closed or a time-out occurs. If a timeout condition occurs in ReadLn, the ReadLnTimedOut property is set to True. ReadLn can raise an EIdReadLnMaxLineLengthExceeded ( 135) exception when the position of the end-of-line sequnce in the InputBuffer ( 1325) is greater than the maximum line length allowed for an IOHandler using the value maException in MaxLineAction ( 1327). All ATerminator characters in the return value for ReadLn (including CR ( exiting from the method.

3174) and LF (

4341) characters) are removed prior to

See Also TIdIOHandler.ReadLn TIdIOHandler.InputBuffer (

1325)

TIdIOHandler.ReadLnTimedOut 1304

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

TIdIOHandler.ReadLnSplit (

1306)

TIdIOHandler.MaxLineLength (

1327)

TIdIOHandler.MaxLineAction (

1327)

IdTimeoutInfinite (

4331)

EIdReadLnMaxLineLengthExceeded (

135)

TIdIOHandler.ReadLn Method (string, Integer, Integer) Reads a line from the Indy buffer. Pascal function ReadLn( ATerminator: string; ATimeout: Integer = IdTimeoutDefault; AMaxLineLength: Integer = -1 ): string; virtual; overload; Parameters Parameters

Description

ATerminator

End-of-line termination character or characters.

ATimeout

Time-out in milliseconds.

AMaxLineLength

Maximum length allowed for the line read from the IOHandler.

Returns String - Line read from the buffer. Description ReadLn is a String function that returns a a single line from the input buffer maintained for the IOHandler. ATerminator is an optional parameter that indicates the end-of-line symbol for the client or protocol. When ATerminator is not specified or contains an empty string, LF ( 4341) is used as the default terminator. If data is expected and you do not need a custom end-of-line symbol, you can use the default ATerminator value or one of the following:

Char

Description

LF 4341)

(

Line Feed (Decimal 10)

CR 3174)

(

Carriage Return (Decimal 13)

EOL 3202)

(

End-of-line (Carriage Return + Line Feed)

ATimeout allows the client to use a custom timeout value to change the number of milliseconds to wait for a response from the peer connection before a time-out occurs. The default value for ATimeout is IdTimeoutDefault ( 4331). AMaxLineLength is used to indictate that ReadLn cannot accept a string with a length in excess of the parameter value. The default value for AMaxLineLength is -1, and indicates that the value in the MaxLineLength ( 1327) property should be used in ReadLn. ReadLn retrieves data from InputBuffer ( 1325) until the symbol in ATerminator is located, AMaxLineLength is exceeded, the socket connection is closed, or a timeout occurs. If there is not enough data to satisfy the request, ReadLn calls CheckForDisconnect ( 1295) to update the IOHandler status and reads data from the data source for the IOHandler connection. ReadLn will return an empty string ('') if the peer connection is prematurely closed or a time-out occurs. If a timeout condition occurs in ReadLn, the ReadLnTimedOut property is set to True. ReadLn can raise an EIdReadLnMaxLineLengthExceeded ( 135) exception when the position of ATerminator in InputBuffer ( 1325) is greater than the value in AMaxLineLength, and MaxLineAction ( 1327) contains maException. When MaxLineAction (

1327) is not maException, ReadLnSplit (

Internet Direct (Indy) Version 10.1.5

1306) is set to True and the string is extracted from InputBuffer 1305

TIdIOHandler Class (

Classes

1325).

All ATerminator characters in the return value for ReadLn (including CR ( method.

3174) characters) are removed prior to exiting from the

See Also TIdIOHandler.InputBuffer (

1325)

TIdIOHandler.ReadLnTimedOut TIdIOHandler.ReadLnSplit (

1306)

TIdIOHandler.MaxLineLength (

1327)

TIdIOHandler.MaxLineAction (

1327)

IdTimeoutInfinite (

4331)

EIdReadLnMaxLineLengthExceeded (

135)

TIdIOHandler.ReadLnSplit Method Reads a line from the Indy buffer. Pascal function ReadLnSplit( var AWasSplit: Boolean; ATerminator: string = LF; ATimeout: Integer = IdTimeoutDefault; AMaxLineLength: Integer = -1 ): string; Parameters Parameters

Description

AWasSplit

Indicates the line was split based on the line length.

ATerminator

End-of-line termination character or characters.

ATimeout

Time-out in milliseconds.

AMaxLineLength

Maximum length allowed for the line read from the IOHandler.

Returns String - Line read from the buffer. Description ReadLnSplit is a String function used to read a line of text from the IOHandler. ReadLnSplit allows the text line to be separated into additional lines when the line length exceeds the value in AMaxLineLength. ReadLnSplit temporarily overrides the value in MaxLineAction ( length exceeds AMaxLineLength.

1327) to prevent an exception from being raised when the line

AWasSplit is updated to indicate the line length exceeded the value in AMaxLineLength. ATerminator is an optional parameter that indicates the end-of-line symbol for the client or protocol. When ATerminator is not specified or contains an empty string, LF ( 4341) is used as the default terminator. If data is expected and you do not need a custom end-of-line symbol, you can use the default ATerminator value or one of the following:

Char

Description

LF 4341)

(

Line Feed (Decimal 10)

CR 3174)

(

Carriage Return (Decimal 13)

EOL 3202)

(

End-of-line (Carriage Return + Line Feed)

1306

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

ATimeout allows the client to use a custom timeout value to change the number of milliseconds to wait for a response from the peer connection before a time-out occurs. The default value for ATimeout is IdTimeoutDefault ( 4331). AMaxLineLength is used to indictate that ReadLn ( 1304) cannot accept a string with a length in excess of the parameter value. The default value for AMaxLineLength is -1, and indicates that the value in the MaxLineLength ( 1327) property should be used in ReadLn ( 1304). ReadLnSplit calls ReadLn (

1304) to read data from the buffer for IOHandler.

See Also TIdIOHandler.ReadLn (

1304)

TIdIOHandler.ReadLnWait Method Waits for a line of text to be read from the IOHandler. Pascal function ReadLnWait( AFailCount: Integer = MaxInt ): string; virtual; Parameters Parameters

Description

AFailCount

Number of attempts to make in reading the line of text.

Returns string - Line of text read from the IOHandler. Description ReadLnWait is a string function used read a line of text from the IOHandler. ReadLnWait attempts to read a non-blank string value using ReadLn ( 1304). If data is not available or a timeout occurs, ReadLnWait will retry the operation until the number of attempts in AFailCount have been exceeded. The default value is MaxInt, and essentially indicates that ReadLnWait should wait until a non-blank line is read from the IOHandler. Set the value in ReadTimeout ( attempt fails. Use ReadLnTimedout (

1330) to indicate the number of milliseconds to wait for each read before a timeout occurs ans the

1330) to determine if the read failed due to a timeout condition.

See Also TIdIOHandler.ReadTimeout (

1330) TIdIOHandler.ReadLnTimedout (

1330)

TIdIOHandler.ReadSmallInt Method Reads the data type from the IOHandler connection. Pascal function ReadSmallInt( AConvert: Boolean = True ): SmallInt; Parameters Parameters

Description

AConvert

Indicates the order of bytes for the ordinal data type must be converted.

Returns SmallInt - Data type read from the the IOHandler connection. Description ReadSmallInt is a SmallInt function used to read the ordinal data type from the data source for the IOHandler connection. Internet Direct (Indy) Version 10.1.5

1307

TIdIOHandler Class

Classes

ReadSmallInt calls ReadBytes ( ordinal data type.

1301) to perform the read request, and calls BytesToSmallInt to convert the byte values to the

AConvert indicates that the byte order in the return value should be converted from the Network byte order to the host-specific byte order required for the data type. GStack ( 3126) is used to access the TIdStack.NetworkToHost ( 2172) method for the byte order conversion. Use other methods to get a specific data type from the IOHandler connection, including:

• ReadCardinal ( • ReadChar (

1301)

1302)

• ReadInteger ( • ReadString (

1303) 1309)

See Also TIdIOHandler.ReadBytes (

1301)

TIdIOHandler.BytesToSmallInt GStack (

3126)

TIdStack.NetworkToHost (

2172)

TIdIOHandler.ReadStream Method Reads data from the IOHandler into a stream. Pascal procedure ReadStream( AStream: TIdStream; AByteCount: Int64 = -1; AReadUntilDisconnect: Boolean = False ); virtual; Parameters Parameters

Description

AStream

Stream used to store

AByteCount

Type is Int64. Default value is -1.

AReadUntilDisconnect

Type is Boolean. Default value is False.

Description ReadStream is a method used to read data from the IOHandler into the stream instance specified in AStream. An EAssertionFailed exception will be raised if AStream is unassigned. AByteCount indicates the number of bytes of data to read using the IOHandler, and to store in the stream instance in AStream. When AByteCount contains the value cSizeUnknown, the amount of data to read from the IOHandler is determined either by reading the byte count from the IOHandler or by reading data until the connection is closed by the peer. When AReadUntilDisconnect contains False, the byte count is read from the IOHandler. The byte count will be an Integer data type when LargeStream ( 1326) contains False, or an Int64 value when LargeStream ( 1326) contains True. This allows the Indy library to maintain compatibility with older VCL versions where stream sizes and positions are not returned as Int64 data types. The byte count (from the argument or read from the IOHandler) is used to pre-allocate the stream size. When AReadUntilDisconnect contains True, ReadStream expects the connection for the IOHandler to be closed when no more data is available for the method. ReadStream signals the OnWorkBegin ( 1328), OnWork ( 1328), and OnWorkEnd ( 1329) event handlers when reading values from the IOHandler. The expected number of bytes for OnWorkBegin ( 1328) is an arbitrarily large value when AReadUntilDisconnect contains True, and will not reflect the actual number of bytes read from the IOHandler. The OnWork ( 1328) event handler is signalled when byte values are extracted and removed from InputBuffer ( 1325), and not when they are 1308

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

added. ReadStream always consumes data from the internal buffer for the IOHandler. Any exisiting data in InputBuffer ( 1325) is used before reading additional data using the ReadFromSource method. The value in RecvBufferSize ( 1330) is used to allocate a TIdBytes ( 3007) buffer that stores data extracted from the InputBuffer ( 1325) and written to the stream instance in AStream. ReadStream iteratively calls ReadBytes ( 1301) to extract values from InputBuffer ( 1325) until the expected number of bytes has been read and written to AStream, or until the IOHandler is no longer Connected ( 1296). If an exception occurs while reading bytes from the IOHandler, any existing data in the InputBuffer ( 1325) is extacted and written to the stream. An EIdConnClosedGracefully ( 69) is ignored when AReadUntilDisconnect contains true. Use the ClosedGracefully ( 1324) property to determine when the connection for the IOHandler has been closed by the peer. Any other exception occurring in the method is re-raised to allow the application to detect the error condition. ReadFromStream ensures that the size of the stream in AStream is adjusted to reflect the actual amount of data read from the IOHandler before exiting from the method. Exceptions Exceptions

Description

EAssertionFailed EIdException (

Raised when the stream for the operation is unassigned. 76)

Raised for other error conditions during the operation.

See Also OnWorkBegin ( OnWork (

1328)

1328)

OnWorkEnd (

1329)

InputBuffer (

1325)

ReadBytes (

1301)

ClosedGracefully (

1324)

EIdConnClosedGracefully (

69)

EAssertionFailed

TIdIOHandler.ReadString Method Reads a Delphi string from the IOHandler buffer. Pascal function ReadString( ABytes: Integer ): string; Parameters Parameters

Description

ABytes

Number of bytes requested from the IOHandler.

Returns string - Values read from the IOHandler. Description ReadString is a String function used to read a string containing the number of bytes specified in ABytes from the IOHandler. ReadString calls ReadBytes ( 1301) to read values from the internal buffer for the IOHandler. ReadString calls BytesToString ( 2728) to prepare the string used in the return value for the method. Use ReadChar ( data type.

1302), ReadBytes (

Internet Direct (Indy) Version 10.1.5

1301), or ReadStrings (

1310) to access data in the IOHandler buffer as the requested

1309

TIdIOHandler Class

Classes

See Also ReadChar (

1302)

ReadBytes (

1301)

ReadStrings (

1310)

TIdIOHandler.ReadStrings Method Reads one or more lines of text from the IOHandler into a TIdStrings (

3089) instance.

Pascal procedure ReadStrings( ADest: TIdStrings; AReadLinesCount: Integer = -1 ); Parameters Parameters

Description

ADest

Stores lines of text read from the IOHandler.

AReadLinesCount

Number of lines of text expected from the IOHandler.

Description ReadStrings is a procedure used to read one or more lines of text from the IOHandler, and stores the values in the AValue argument. AReadLinesCount indicates the number of lines of text expected from the IOHandler. When AReadLinesCount contains 0 (zero) or a negative value, the number of lines of text is read from the IOHandler as an Integer value. Otherwise, the value in AReadLinesCount must be a positive Integer value supplied by the calling procedure. ReadStrings calls ReadLn ( string list in ADest. Use ReadChar ( data type.

1304) for the number of iterations indicated in AReadLinesCount, and adds each line of text to the

1302), ReadBytes (

1301), or ReadString (

1309) to access data in the IOHandler buffer as the requested

See Also ReadLn (

1304)

ReadInteger ( ReadChar (

1303) 1302)

ReadBytes (

1301)

ReadString (

1309)

TIdIOHandler.RegisterIOHandler Method Guaranteess that the IOHandler class exists in the registered IOHandler class list. Pascal class procedure RegisterIOHandler; Description RegisterIOHandler is a class method used to ensure that an IOHandler class reference exists in GIOHandlerClassList for the current IOHandler class. On all platforms except .Net, the global list of IOHandler class references is searched using the current class instance. If it is not found, the class is added to GIOHandlerClassList .

1310

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

The .Net platform does not permit class references as objects, and cannot stored the current IOHandler class in GIOHandlerClassList.

TIdIOHandler.SetDefaultClass Method Pascal class procedure SetDefaultClass;

TIdIOHandler.WaitFor Method Searches for a specific value in the input received from the data source for the IOHandler. Pascal function WaitFor( const AString: string; ARemoveFromBuffer: Boolean = True; AInclusive: Boolean = False ): string; Parameters Parameters

Description

AString

Values to search for in the internal buffer.

ARemoveFromBuffer

Indicates if data is removed from the internal buffer. Default value is True.

AInclusive

Indicates if extrascted data includes the search value. Default value is False.

Returns string - Values read from the internal buffer for the IOHandler, or an empty string ('') if the connection is closed. Description WaitFor is a String function used to watch for a specific value in the input received from the data source for the IOHandler. WaitFor iteratively calls CheckForDataOnSource ( 1294) using a 250 millisecond timeout to ensure that data is available for the method. When the value in AString is detected in the InputBuffer ( as the return value for the method.

1325) for the IOHandler, it is extracted from the internal buffer and used

ARemoveFromBuffer indicates if all of the data in the buffer up to the specified marker should be extracted from the internal buffer for the IOHandler. When ARemoveFromBuffer contains True, data is extracted from InputBuffer ( 1325) and stored in the return value for the method. AInclusive indicates if data extracted from the InputBuffer ( 1325) should inlude the value indicated in AString. When AInclusive contains False, the value in AString is not included in the return value. If the value in AString is not detected in the internal buffer, the process is repeated until a disconnect is detected using the CheckForDisconnect ( 1295) method. Please note that byte comparisions using AString and the InputBuffer (

1325) are case-sensitive.

See Also InputBuffer (

1325)

CheckForDataOnSource ( CheckForDisconnect (

1294)

1295)

TIdIOHandler.Write Method Overload List Method (

Description

TIdIOHandler.Write (Cardinal, Boolean) Write the specified values to the IOHandler. 1312)

Internet Direct (Indy) Version 10.1.5

1311

TIdIOHandler Class

Classes

TIdIOHandler.Write (Char) (

1312)

Writes the value specified using the IOHandler.

TIdIOHandler.Write (Int64, Boolean) ( 1313)

Writes an Int64 value using the IOHandler.

(

TIdIOHandler.Write (Integer, Boolean) Write the specified values to the IOHandler. 1313)

(

TIdIOHandler.Write (SmallInt, Boolean) Write the specified values to the IOHandler. 1314) TIdIOHandler.Write (string) ( TIdIOHandler.Write

1317)

(TIdBytes)

(

Write the specified values to the IOHandler. Write the specified values to the IOHandler.

1314) TIdIOHandler.Write Int64, Boolean) ( 1315)

(TIdStream, Writes content from a stream to the IOHandler.

TIdIOHandler.Write Boolean) ( 1316)

(TIdStrings, Write the specified values to the IOHandler.

TIdIOHandler.Write Method (Cardinal, Boolean) Write the specified values to the IOHandler. Pascal procedure Write( AValue: Cardinal; AConvert: Boolean = True ); overload; Parameters Parameters

Description

AValue

Values to write to the IOHandler.

AConvert

Indicates the order of bytes for the ordinal data type must be converted.

Description Write is an overloaded method in TIdIOHandler ( 1284) used to write various data types from the indicated source to the IOHandler. Write can use the Indy write buffering mechanism when it has been enabled. When AConvert is True, the byte order for AValue is converted from its host-specific byte order to Network byte order using the HostToNetwork method in GStack ( 3126). Write calls WriteBytes to copy the converted value to the IOHandler. Call WriteBufferOpen (

1320) to enable write buffer for the IOHandler.

Call WriteBufferClose (

1318) to disable write buffer for the IOHandler.

See Also Write WriteBufferOpen (

1320)

WriteBufferClose (

1318)

TIdIOHandler.Write Method (Char) Writes the value specified using the IOHandler. Pascal procedure Write( AValue: Char ); overload;

1312

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

Parameters Parameters

Description

AValue

Character to write using the IOHandler.

Description Write is an overloaded method use to write the value specified in AValue using the IOHandler. Write calls an overloaded variant of the method using the value in AValue converted to a TIdBytes ( Call WriteBufferOpen (

1320) to enable write buffer for the IOHandler.

Call WriteBufferClose (

1318) to disable write buffer for the IOHandler.

3007) data type.

See Also Write WriteBufferOpen (

1320)

WriteBufferClose (

1318)

TIdIOHandler.Write Method (Int64, Boolean) Writes an Int64 value using the IOHandler. Pascal procedure Write( AValue: Int64; AConvert: Boolean = True ); overload; Parameters Parameters

Description

AValue

Value to write using the IOHandler.

AConvert

Indicates if the byte order for the numeric value should be converted. Default value is True.

Description Write is an overloaded method used to write the Int64 value in AValue using the IOHandler. AConvert indicates if the byte order for the numeric value should be converted from its' host-specific representation to network byte order prior to writing data to the IOHandler. The default value is True, and causes the HostToNetwork method in the GStack ( 3126) class instance to be called for the data in AValue. Write calls an overloaded variant of the method using the value in AValue converted to a TIdBytes ( Call WriteBufferOpen (

1320) to enable write buffer for the IOHandler.

Call WriteBufferClose (

1318) to disable write buffer for the IOHandler.

3007) data type.

See Also Write WriteBufferOpen (

1320)

WriteBufferClose (

1318)

TIdIOHandler.Write Method (Integer, Boolean) Write the specified values to the IOHandler. Pascal procedure Write( AValue: Integer; AConvert: Boolean = True ); overload;

Internet Direct (Indy) Version 10.1.5

1313

TIdIOHandler Class

Classes

Parameters Parameters

Description

AValue

Value to write to the IOHandler.

AConvert

Indicates the order of bytes for the ordinal data type must be converted.

Description Write is an overloaded method in TIdIOHandler ( 1284) used to write various data types from the indicated source to the IOHandler. Write can use the Indy write buffering mechanism when it has been enabled. When AConvert is True, the byte order for AValue is converted from its host-specific byte order to Network byte order using the HostToNetwork method in GStack ( 3126). Write calls WriteBytes to copy the converted value to the IOHandler. Call WriteBufferOpen (

1320) to enable write buffer for the IOHandler.

Call WriteBufferClose (

1318) to disable write buffer for the IOHandler.

See Also Write WriteBufferOpen (

1320)

WriteBufferClose (

1318)

TIdIOHandler.Write Method (SmallInt, Boolean) Write the specified values to the IOHandler. Pascal procedure Write( AValue: SmallInt; AConvert: Boolean = True ); overload; Parameters Parameters

Description

AValue

Values to write to the IOHandler.

AConvert

Indicates the order of bytes for the ordinal data type must be converted.

Description Write is an overloaded method in TIdIOHandler ( 1284) used to write various data types from the indicated source to the IOHandler. Write can use the Indy write buffering mechanism when it has been enabled. When AConvert is True, the byte order for AValue is converted from its host-specific byte order to Network byte order using the HostToNetwork method in GStack ( 3126). Write calls WriteBytes to copy the converted value to the IOHandler. Call WriteBufferOpen (

1320) to enable write buffer for the IOHandler.

Call WriteBufferClose (

1318) to disable write buffer for the IOHandler.

See Also Write WriteBufferOpen (

1320)

WriteBufferClose (

1318)

TIdIOHandler.Write Method (TIdBytes) Write the specified values to the IOHandler.

1314

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

Pascal procedure Write( ABuffer: TIdBytes ); virtual; overload; Parameters Parameters

Description

ABuffer

Values to write to the IOHandler.

Description Write is an overloaded method in TIdIOHandler ( 1284) used to write various data types from the indicated source to the IOHandler. Write can use the Indy write buffering mechanism when it has been enabled. Write calls WriteBytes to copy the values in ABuffer to the IOHandler. Call WriteBufferOpen (

1320) to enable write buffer for the IOHandler.

Call WriteBufferClose (

1318) to disable write buffer for the IOHandler.

See Also Write WriteBufferOpen (

1320)

WriteBufferClose (

1318)

TIdIOHandler.Write Method (TIdStream, Int64, Boolean) Writes content from a stream to the IOHandler. Pascal procedure Write( AStream: TIdStream; ASize: Int64 = 0; AWriteByteCount: Boolean = False ); virtual; overload; Parameters Parameters

Description

AStream

Stream with content to write to the IOHandler.

ASize

Number of bytes from the stream to write to the IOHandler. Default value is 0.

AWriteByteCount

Indicates if the bytecount for the operation is written to the IOHandler. Default value is False.

Description Write is an overloaded method used to write content from a stream to the IOHandler. AStream is a stream instance with the content to write to the IOHandler. ASize indicates the number of bytes from the stream to write to the IOHandler. The default value is 0, and signifies that all of the content in the stream as indicated by its' Size should be written. The value -1 indicates that any content in the stream should be written starting at the current stream position, and and include all content up to and including the Size of the stream. When ASize contains a positive non-zero value, the argument value is used as the total number of bytes to write to the IOHandler. AWriteByteCount indicates if the byte count for the operation is written to the IOHandler. When AWriteByteCount contains True, the value in ASize is written as the initial step in the write operation. ASize will be written as an Int64 data type when LargeStream ( 1326) contains True. ASize will be written as an Integer data type when LargeStream ( 1326) contains False. The default value for AWriteByteCount is False. Write can raise an EIdIoHandlerRequiresLargeStream ( 112) exception if ASize is larger than the value MaxInt when LargeStream ( 1326) contains False. What does this really mean? It means that older VCL versions that do not support 64-bit stream sizes and positions should not call Write using a byte count value in ASize larger than the value MaxInt. Write signals the OnWorkBegin ( 1328), OnWork ( 1328), and OnWorkEnd ( 1329) event handlers when writing values using the IOHandler. The expected number of bytes in ASize is passed to the OnWorkBegin ( 1328) event handler. The OnWork ( Internet Direct (Indy) Version 10.1.5

1315

TIdIOHandler Class

Classes

1328) event handler is signalled when byte values are output using the IOHandler. The OnWorkEnd ( signalled just prior to completion of the method.

1329) event handler is

Write iteratively sends blocks of data from the stream in AStream until the requested number of bytes have been read from the stream and written to the IOHandler. The value in the SendBufferSize ( 1331) property indicates the number of bytes read from the stream and written to the IOHandler during each iteration of the processing required in the method. Write can raise an EIdNoDataToRead ( stream.

123) exception when the required number of bytes in ASize cannot be read from the

Exceptions Exceptions

Description

EIdIoHandlerRequiresLargeStream ( EIdNoDataToRead (

112)

Raised when the requested number of bytes is larger than the maximum value supported for the stream.

123)

Raised with the message RSIdNoDataToRead when a required number of bytes cannot be read from the stream.

See Also Write LargeStream ( OnWork (

1326)

1328)

OnWorkBegin ( OnWorkEnd (

1328) 1329)

EIdIoHandlerRequiresLargeStream ( EIdNoDataToRead (

112)

123)

TIdIOHandler.Write Method (TIdStrings, Boolean) Write the specified values to the IOHandler. Pascal procedure Write( AValue: TIdStrings; AWriteLinesCount: Boolean = False ); virtual; overload; Parameters Parameters

Description

AValue

Values to write to the IOHandler.

AWriteLinesCount

Indicates the line count should be written to the IOHandler.

Description Write is an overloaded method in TIdIOHandler ( 1284) used to write various data types from the indicated source to the IOHandler. Write can use the Indy write buffering mechanism when it has been enabled. Write calls WriteBufferOpen ( instance in AValue.

1320) to enable write buffer for the IOHandler when writing values using the TIdStrings (

3089)

When AWriteLinesCount is True, the line count is written as an Integer value prior to the content in AValue. Write calls WriteLn (

1322) using each of the strings in AValue.

Write calls WriteBufferClose ( instance in AValue.

1318) to disable write buffer for the IOHandler when writing values using the TIdStrings (

3089)

See Also Write WriteBufferOpen (

1320)

WriteBufferClose (

1318)

1316

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

TIdIOHandler.Write Method (string) Write the specified values to the IOHandler. Pascal procedure Write( const AOut: string ); virtual; overload; Parameters Parameters

Description

AOut

Values to write to the IOHandler.

Description Write is an overloaded method in TIdIOHandler ( 1284) used to write various data types from the indicated source to the IOHandler. Write can use the Indy write buffering mechanism when it has been enabled. Write calls WriteBytes to copy the values in AOut to the IOHandler. Call WriteBufferOpen (

1320) to enable write buffer for the IOHandler.

Call WriteBufferClose (

1318) to disable write buffer for the IOHandler.

See Also Write WriteBufferOpen (

1320)

WriteBufferClose (

1318)

TIdIOHandler.WriteBufferCancel Method Clears and cancels write (

1312) buffering for the IOHandler.

Pascal procedure WriteBufferCancel; virtual; Description WriteBufferCancel is a virtual procedure used to clear any existing values in the write ( 1312) buffering mechanism for an IOHandler. WriteBufferCancel also disables write ( 1312) buffering for subsequent write ( 1312) requests. WriteBufferCancel calls both the WriteBufferClear (

1317) and WriteBufferClose (

Use WriteBufferFlush (

1318) to force data in the write (

Use WriteBufferOpen (

1320) to enable write (

1318) methods.

1312) buffer to be written to the connection for the IOHandler.

1312) buffering for the IOHandler.

See Also TIdIOHandler.WriteBufferClear (

1317)

TIdIOHandler.WriteBufferClose (

1318)

TIdIOHandler.WriteBufferFlush (

1318)

TIdIOHandler.WriteBufferOpen (

1320)

TIdIOHandler.WriteBufferClear Method Discards any exisitng data in the write (

1312) buffering mechanism.

Pascal procedure WriteBufferClear; virtual;

Internet Direct (Indy) Version 10.1.5

1317

TIdIOHandler Class

Classes

Description WriteBufferClear is a virtual procedure used to discard any existing values found the write ( IOHandler. WriteBufferClear calls the Clear method found in the TIdBuffer ( Use WriteBufferCancel ( Use WriteBufferFlush (

1317) to clear and disable write ( 1318) to force data in the write (

1312) buffering mechanism for the

279) instances used for the WriteBuffer property.

1312) buffering for the IOHandler.

1312) buffer to be written to the connection for the IOHandler.

See Also TIdIOHandler.WriteBufferCancel ( TIdIOHandler.WriteBufferFlush (

1317) 1318)

TIdIOHandler.WriteBufferClose Method Disables uses write (

1312) buffering for the IOHandler connection.

Pascal procedure WriteBufferClose; virtual; Description WriteBufferClose is a virtual procedure used to disable use of buffering when writing data to the connection for the IOHandler. WriteBufferClose calls WriteBufferFlush ( 1318) to ensure that any existing data in WriteBuffer is written to the IOHandler connection. WriteBufferClose also frees the WriteBuffer. Use WriteBufferOpen (

1320) to enable use of the WriteBuffer for data written to the IOHandler connection.

See Also TIdIOHandler.WriteBufferOpen (

1320)

TIdIOHandler.WriteBufferFlush (

1318)

TIdIOHandler.Write (

1312)

TIdIOHandler.WriteBytes

TIdIOHandler.WriteBufferFlush Method Overload List Method

Description

TIdIOHandler.WriteBufferFlush () ( 1318)

Writes data in the write (

1312) buffering mechaism to the IOHandler connection.

TIdIOHandler.WriteBufferFlush Writes data in the write ( 1319)

1312) buffering mechaism to the IOHandler connection.

(Integer) (

TIdIOHandler.WriteBufferFlush Method () Writes data in the write (

1312) buffering mechaism to the IOHandler connection.

Pascal procedure WriteBufferFlush; overload; Description WriteBufferFlush is an overloaded procedure used to force any existing data in the write ( to the connection for the IOHandler.

1312) buffering mechanism to be written

WriteBufferFlush calls an overloaded variant of the method using -1 for the number of bytes to write ( 1318

1312) from the buffer to the

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

IOHandler. The default value is -1, and indicates that all data should be written. The number of bytes written is also removed from WriteBuffer prior to completion of the write ( 1312) request. WriteBufferFlush call WriteBytes using existing data in WriteBuffer. Use WriteBufferOpen (

1320) to enable write (

1312) buffering for the IOHandler.

Use WriteBufferClose (

1318) to disable write (

1312) buffering for the IOHandler.

See Also WriteBufferFlush WriteBytes WriteBuffer WriteBufferOpen (

1320)

WriteBufferClose (

1318)

TIdIOHandler.WriteBufferFlush Method (Integer) Writes data in the write (

1312) buffering mechaism to the IOHandler connection.

Pascal procedure WriteBufferFlush( AByteCount: Integer ); virtual; overload; Parameters Parameters

Description

AByteCount

Number of bytes to write (

1312) from the buffer to the IOHandler. The default value is -1.

Description WriteBufferFlush is a virtual procedure used to force any existing data in the write ( connection for the IOHandler.

1312) buffering mechanism to be written to the

WriteBufferFlush call WriteBytes using existing data in WriteBuffer. AByteCount indicates the number of bytes to write ( 1312) from the buffer to the IOHandler. The default value is -1, and indicates that all data should be written. The number of bytes in AByteCount is removed from WriteBuffer prior to completion of the write ( 1312) request. Use WriteBufferOpen (

1320) to enable write (

1312) buffering for the IOHandler.

Use WriteBufferClose (

1318) to disable write (

1312) buffering for the IOHandler.

See Also TIdIOHandler.WriteBytes TIdIOHandler.WriteBuffer TIdIOHandler.WriteBufferOpen (

1320)

TIdIOHandler.WriteBufferClose (

1318)

TIdIOHandler.WriteBufferingActive Method Indicates if write (

1312) buffering is enabled for the IOHandler.

Pascal function WriteBufferingActive: Boolean; Returns Boolean - True when write (

1312) buffering for the IOHandler is enabled.

Internet Direct (Indy) Version 10.1.5

1319

TIdIOHandler Class

Classes

Description WriteBufferingActive is a Boolean function used to determine if write ( WriteBufferingActive returns True when the TIdBuffer ( WriteBufferOpen ( 1320). Use WriteBufferClose (

1318) or WriteBufferCancel (

1312) buffering has been enabled for the IOHandler.

279) instance for the WriteBuffer property has been assigned in a call to 1317) to disable write (

1312) buffering for the IOHandler.

See Also WriteBufferOpen ( WriteBufferClose ( WriteBufferCancel (

1320) 1318) 1317)

TIdIOHandler.WriteBufferOpen Method Overload List Method

Description

TIdIOHandler.WriteBufferOpen () ( 1320)

Enables write (

1312) buffering for the IOHandler.

TIdIOHandler.WriteBufferOpen Enables write ( 1320)

1312) buffering for the IOHandler.

(Integer) (

TIdIOHandler.WriteBufferOpen Method () Enables write (

1312) buffering for the IOHandler.

Pascal procedure WriteBufferOpen; overload; Description WriteBufferOpen is an overloaded method used to enable write ( WriteBufferOpen allocates the TIdBuffer ( IOHandler connection.

1312) buffering for the IOHandler.

279) instance used in the WriteBuffer property that stores values to be written to the

WriteBufferOpen calls an overloaded variant of the method using -1 as the threshhold that indicates the number of bytes to accumulate in the write ( 1312) buffer prior to flushing to the IOHandler connection. The default value is -1, and indicates that all existing data in WriteBuffer should be flushed at the next opportunity. Use WriteBufferClose (

1318) to disable write (

Used WriteBufferFlush (

1312) buffering for the IOHandler.

1318) to force existing data in WriteBuffer to be written to the IOHandler connection.

See Also TIdBuffer (

279)

TIdIOHandler.WriteBuffer TIdIOHandler.WriteBufferClose (

1318)

TIdIOHandler.WriteBufferFlush (

1318)

TIdIOHandler.WriteBufferOpen Method (Integer) Enables write (

1312) buffering for the IOHandler.

Pascal procedure WriteBufferOpen( AThreshhold: Integer 1320

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

); virtual; overload; Parameters Parameters

Description

AThreshhold

Number of bytes to accumulate in the write ( default value is -1.

1312) buffer prior to flushing to the IOHandler connection. The

Description WriteBufferOpen is a virtual procedure used to enable write ( WriteBufferOpen allocates the TIdBuffer ( IOHandler connection.

1312) buffering for the IOHandler.

279) instance used in the WriteBuffer property that stores values to be written to the

AThreshhold indicates the number of bytes to accumulate in the write ( 1312) buffer prior to flushing to the IOHandler connection. The default value is -1, and indicates that all existing data in WriteBuffer should be flushed at the next opportunity. Use WriteBufferClose (

1318) to disable write (

Used WriteBufferFlush (

1312) buffering for the IOHandler.

1318) to force existing data in WriteBuffer to be written to the IOHandler connection.

See Also TIdBuffer (

279)

TIdIOHandler.WriteBuffer TIdIOHandler.WriteBufferClose (

1318)

TIdIOHandler.WriteBufferFlush (

1318)

TIdIOHandler.WriteDirect Method Moves values to the socket-level transport for the IOHandler. Pascal procedure WriteDirect( var aBuffer: TIdBytes ); virtual; Parameters Parameters

Description

aBuffer

Values to be moved to the socket-level transport for the IOHandler.

Description WriteDirect is a virtual procedure used as the main mechanism for writing values to the IOHandler. WriteDirect is called in methods like Write ( for network-level access.

1312) and WriteBufferFlush (

1318) to move data directly to the socket handle used

WriteDirect calls CheckForDisconnect ( 1295) to determine if the IOHandler is actively connected ( transfer. WriteDirect also fires the Send method for an assigned Intercept ( 1326).

1296) to the endpoint for the

See Also TIdIOHandler.Write (

1312)

TIdIOHandler.WriteBufferFlush (

1318)

TIdIOHandler.WriteFile Method Writes the contents of a local file to the IOHandler. Pascal function WriteFile( const AFile: String; AEnableTransferFile: Boolean = False Internet Direct (Indy) Version 10.1.5

1321

TIdIOHandler Class

Classes

): Int64; virtual; Parameters Parameters

Description

AFile

File name to be sent on the IOHandler connection.

AEnableTransferFile

Not used at this time.

Returns Cardinal - Number of bytes in the file written to the IOHandler. Description WriteFile is a virtual Cardinal function used to write (

1312) the entire contents of local file specified in AFile to the IOHandler.

When AFile contains an invalid or missing file name, an EIdFileNotFound ( WriteFile calls write (

83) will be raised.

1312) using a temporary TFileStream created for reading the contents of the file in AFile.

WriteFile returns the number of bytes found in the file stream written to the IOHandler. Exceptions Exceptions

Description

EIdFileNotFound (

83)

RSFileNotFound and the fully qualified file name.

TIdIOHandler.WriteLn Method Writes a string value to IOHandler. Pascal procedure WriteLn( const AOut: string = '' ); virtual; Parameters Parameters

Description

AOut

Value to send to the IOHandler connection. Default value is ''.

Description WriteLn is a virtual procedure used to send the string value specified in AOut to the IOHandler. WriteLn appends the EOL ( 3202) character to the valuein AOut, and calls Write ( 1312) buffering mechanism for the IOHandler. Use Write (

1312) to concatenated value to the write (

1312) to send other data types on the IOHandler.

See Also TIdIOHandler.Write ( EOL (

1312)

3202)

TIdIOHandler.WriteRFCStrings Method Writes a list of RFC-compatible strings to the peer for the IOHandler class instance. Pascal procedure WriteRFCStrings( AStrings: TIdStrings; AWriteTerminator: Boolean = True ); Parameters Parameters

Description

AStrings

String list containing RFC-compatible strings.

AWriteTerminator

Indicates if a terminating period ('.') is written after values in AStrings. Default value is True.

1322

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

Description WriteRFCStrings is a method used to write ( AStrings is a TIdStrings ( document:

1312) a list of RFC-compatible strings to the peer for the IOHandler class instance.

3089) data type containing strings in RFC-compatible format, as described in the Internet Standards

RFC 2822 - Internet Message Format AStrings generally contains characters with values in the range 1 through 127 and interpreted as US-ASCII characters [ASCII]. Specific clients that use the WriteRFCStrings method may implement support for the MIME document series [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049], that extend this standard to allow for values outside of that range. The values in AStrings are divided into lines of characters. A line is a series of characters that is delimited with the two characters carriage-return and line-feed (CRLF). AStrings may contain RFC-style header fields followed, optionally, by a message body. The header is a sequence of lines of characters with special syntax as defined in RFC 2822. The message body is simply a sequence of characters as defined in RFC 2822 that follows the header and is separated from the header by an empty line (i.e., a line with nothing preceding the CRLF). AWriteTerminator indicates if a terminating period ('.') is written following the content of the values in AStrings. The default value is True. WriteRFCStrings ensures that an individual line in AStrings that begins with a period ('.') character is converted to the '..' notation expected in RFC 2822, and calls the WriteLn ( 1322) method to the line to the peer connection for the IOHandler. When AWriteTerminator contains True, the terminating period '.' is written that signifies the end of data for the message. WriteRFCStrings is at various spots in the Indy library where multi-line RFC-compatible message are required, including TIdCommandHandler ( 341), TIdTCPConnection ( 2349), and TIdNNTP ( 1692). See Also WriteLn (

1322)

TIdCommandHandler.Check (

342)

TIdTCPConnection.WriteRFCStrings ( TIdNNTP.IHAVE (

2363)

1719)

TIdIOHandler Properties The Properties of the TIdIOHandler class are listed here. Properties Property

Description

ClosedGracefully ( ConnectTimeout ( Destination ( Host (

1324)

1324)

1325)

Milliseconds to wait for successful completion of a connection attempt. Endpoint for the IOHandler connection.

1325)

Identifies the address for the endpoint of the IOHandler connection.

InputBuffer ( Intercept (

Indicates that the connection has been closed by the peer for a connection.

1325)

Represents the internal storage for values received on the IOHandler connection.

1326)

LargeStream (

Intermediary for actions using the transport and the IOHandler for the connection.

1326)

MaxCapturedLines (

Indicates byte counts read from or written to the IOHandler should use a 64-bit data type. 1327)

Maximum number of lines permitted when capturing multi-line messages or responses.

MaxLineAction (

1327)

Indicates the action performed when the maximum line length is exceeded.

MaxLineLength (

1327)

Determines the maximum length of a line read from the IOHandler for the connection.

OnWork (

1328)

OnWorkBegin ( OnWorkEnd ( Opened ( Port (

Event handler for buffered read and write ( 1328)

1329) 1329)

1312) request is started.

Event handler signalled when a read or write (

1312) request is completed.

Indicates if buffer and state properties have been initialized for the IOHandler.

1329)

Port number for the IOHandler connection.

ReadLnTimedout ( ReadTimeout (

1312) operations.

Event handler signalled when a read or write (

1330)

1330)

Internet Direct (Indy) Version 10.1.5

Indicates a timeout occurred when reading a line of text from the IOHandler. Indicates the milliseconds to wait for a readable (

1300) IOHandler connection.

1323

TIdIOHandler Class

Classes

RecvBufferSize (

1330)

SendBufferSize (

1331)

WriteBufferThreshhold (

Indicates the number of bytes to read reading large amounts of data. Indicates the buffer size used when writing large chunks of data to the IOHandler connection. 1331)

Legend Property read only

TIdIOHandler.ClosedGracefully Property Indicates that the connection has been closed by the peer for a connection. Pascal property ClosedGracefully: Boolean; Description ClosedGracefully is a read-only Boolean property that indicates if a connection has been closed by the peer for the connection. ClosedGracefully is updated in the CloseGracefully ( 1296) method to indicate when the condition has been encountered during the IO operation. Use CloseGracefully ( 1296) to set the property value and signal that the connection will end in the previously described manner. ClosedGracefully is be used to determine when the connection has been closed by the peer prior to performing an IO operation that would raise an Exception ( 4733). ClosedGracefully is generally used in protocol-oriented communications when the server is allowed to close ( 1295) the connection without signalling its intent to the client, or when a connection has been lost and no data exists in the Indy buffering mechanism. Most conversational protocols (such as Mail, News, etc.) disconnect by sending a command to the server telling it that it will disconnect. The server replies with an acknowledgement of the disconnection request, and then both the client and server disconnect. In these cases an EIdConnClosedGracefully ( 69) exception should not be raised, and if one occurs it is in fact an error and should be handled. In some cases no command will be issued, but both sides know when the other will disconnect based on the protocol. Often a client will connect, issue one command, receive the response from the server and disconnect. While no explicit command was issued by the client, the protocol states that the connection should be disconnected after one command and response. Some of the time protocols are examples of this. If one side of the connection just disconnects, the other side is left to detect this and then take appropriate action to terminate the session. With protocols that use this disconnection method you will see an EIdConnClosedGracefully ( 69) exception, and it is normal behavior indicated by the ClosedGracefully. See Also EIdConnClosedGracefully (

69)

TIdIOHandler.CloseGracefully (

1296)

TIdIOHandler.ConnectTimeout Property Milliseconds to wait for successful completion of a connection attempt. Pascal property ConnectTimeout: Integer; Description ConnectTimeout is an Integer property that indicates the number of milliseconds to wait for successful completion of a connection attempt for the IOHandler. The default value for ConnectTimeout is 0, and indicates that the default timeout value for the protocol stack implementation should be used when establishing the client connection. 1324

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

ConnectTimeout is not used in TIdIOHandler ( 1284), but is provided for compatibility purposes. ConnectTimeout allows a client using a socket-based IOHandler, like TIdIOHandlerStack ( 1342), to access the protocol stack to set the timeout value. Use the ConnectTimeout property in the TIdTCPClient ( IOHandler. Use ReadTimeout (

2333) to set the connection timeout without specific access to an

1330) to indicate the timeout value when reading data from the IOHandler.

Applications do not normally assign values directly to the ReadTimeout ( 1330) or ConnectTimeout properties in an IOHandler. Assign values to the corresponding properties in TIdTCPClient ( 2333) or a descendant class. See Also ReadTimeout (

1330)

TIdIOHandlerStack ( TIdTCPClient (

1342)

2333)

TIdIOHandler.Destination Property Endpoint for the IOHandler connection. Pascal property Destination: string; Description Destination is a string property that represents the endpoint or identity of the connection for the IOHandler. Destination is used to represent the concatenation of values from the Host ( 1325) and Port ( 1329) properties in the form: "127.0.0.1:001" In IOHandler (a base class), Destination is a simple string property. In descendant classes (like TIdIOHandlerSocket ( Destination is used to read from or write ( 1312) to the Host ( 1325) and POrt properties for the IOHandler.

1331)),

See Also TIdIOHandlerSocket.Destination

TIdIOHandler.Host Property Identifies the address for the endpoint of the IOHandler connection. Pascal property Host: string; Description Host is a string property that represents the address used as the endpoint for the IOHandler connection. For TIdIOHandler ( 1284), the address has no significance but is provided for compatiblity with descendant classes. Descendant classes will contain an address pertinent to the transport mechanism, like a host computer name or an IP address. Use Destination (

1325) access a value that contains the string representation for both the Host and Port (

1329) properties.

See Also TIdIOHandlerSocket.Host TIdIOHandler.Destination (

1325)

TIdIOHandler.InputBuffer Property Represents the internal storage for values received on the IOHandler connection.

Internet Direct (Indy) Version 10.1.5

1325

TIdIOHandler Class

Classes

Pascal property InputBuffer: TIdBuffer; Description InputBuffer is a read-only TIdBuffer (

279) property that represents the internal storage allocated for the IOHandler.

IOHandlers typically receive more data than they need to complete each request. InputBuffer stores this extra data for future use in other IOHandler methods. Values are added to InputBuffer when data is received from the source for the connection, and extracted from InputBuffer when the various read methods for the IOHandler are called. InputBuffer is created when the IOHandler is opened in TIdIOHandler.Open ( instance.

1300) and freed in the destructor for the object

See Also TIdIOHandler.Open (

1300)

TIdIOHandler.Intercept Property Intermediary for actions using the transport and the IOHandler for the connection. Pascal property Intercept: TIdConnectionIntercept; Description Intercept is a TIdConnectionIntercept ( for a connection.

368) property used to act as an intermediary between the protocol stack and the IOHandler

Intercept is used to perform operations that result from connecting to or disconnecting from the transport layer for the IOHandler. Intercept also allows operations to be performed when sending and receiving data for the IOHandler. Read operations generally call ReadBytes ( 1301) which receives data from the transport for the IOHandler, calls the Receive method in the Intercept, and moves data to the InputBuffer ( 1325). Write ( 1312) operations generally call WriteDirect ( using the transport for the IOHandler.

1321) which passes data to the Send method in the Intercept, and send data

The Intercept must be Enabled to allow the actions for the Intercept to be performed. Do not create ( 267) instances of TIdConnectionIntercept ( 368) for assignment to the Intercept property. Use descendant classes (like TIdConnectionInterceptOpenSSL, TIdBlockCipherIntercept, or TIdInterceptThrottler ( 1280)) or create ( 267) custom descendants that implement the virtual methods of TIdConnectionIntercept ( 368). See Also TIdConnectionIntercept (

368)

TIdIOHandler.LargeStream Property Indicates byte counts read from or written to the IOHandler should use a 64-bit data type. Pascal property LargeStream: Boolean; Description LargeStream is a Boolean property that indicates byte counts read from or written to the IOHandler should use a 64-bit data type. The default value for LargeStream is False, as assigned during initialization of the component. Set the value in LargeStream to True if stream read and write ( writing byte counts in the Read and Write ( 1312) methods.

1326

1312) operations should use the Int64 data type when reading or

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandler Class

TIdIOHandler.MaxCapturedLines Property Maximum number of lines permitted when capturing multi-line messages or responses. Pascal property MaxCapturedLines: Integer; Description MaxCapturedLines is an Integer property that represents the maximum number of lines permitted when capturing multi-line responses on the IOHandler. The default value for MaxCapturedLines is Id_IOHandler_MaxCapturedLines (

3331).

MaxCapturedLines allows clients (and servers) to guard against memory allocation attacks (commonly referred to as buffer overruns). MaxCapturedLines is used in the implementation of the Capture ( 1290) method, and causes an EIdMaxCaptureLineExceeded ( 114) to be raised when the number of lines for the operation exceeds the property value. See Also TIdIOHandler.Capture (

1290)

Id_IOHandler_MaxCapturedLines ( EIdMaxCaptureLineExceeded (

3331)

114)

TIdIOHandler.MaxLineAction Property Indicates the action performed when the maximum line length is exceeded. Pascal property MaxLineAction: TIdMaxLineAction; Description MaxLineAction is a TIdMaxLineAction ( 2966) property that indicates the action to perform when the maximum line length for the IOHandler is exceeded when reading a line from the connection. MaxLineAction is used in ReadLn ( Use MaxLineLength (

1304) and ReadLnSplit (

1306).

1327) to set the number of bytes permitted as the maximum line length.

See Also TIdMaxLineAction (

2966)

TIdIOHandler.ReadLn (

1304)

TIdIOHandler.ReadLnSplit (

1306)

TIdIOHandler.MaxLineLength Property Determines the maximum length of a line read from the IOHandler for the connection. Pascal property MaxLineLength: Integer; Description MaxLineLength is an Integer property that represents the maximum line length allowed when reading a line of text from the IOHandler connection. MaxLineLength is used as a default value in methods like ReadLn ( 1304) when the optional line length argument is omitted. The default value for MaxLineLength is IdMaxLineLengthDefault (

Internet Direct (Indy) Version 10.1.5

3854) as assigned during initialization of the object instance.

1327

TIdIOHandler Class

Classes

MaxLineLength is used when MaxLineAction ( MaxLineLength is used in ReadLn (

1327) contains maSplit.

1304), ReadLnSplit (

1306), and InputLn (

1298).

See Also TIdIOHandler.MaxLineAction ( TIdIOHandler.ReadLn (

1304)

TIdIOHandler.ReadLnSplit ( TIdIOHandler.InputLn (

1327)

1306)

1298)

TIdIOHandler.OnWork Event Event handler for buffered read and write (

1312) operations.

Pascal property OnWork; Description OnWork is a public TWorkEvent ( 3121) property in TIdIOHandler ( 1284) that is the event handler signalled when a read or write ( 1312) method is called for the IOHandler. OnWork is generally used to control the update of progress indicators or GUI components. The work mode indicates the operation performed and the notification sent to OnWork, and can contain one of the following values:

Value

Meaning

wmRead

The component is reading data from the peer.

wmWrite

The component is sending data to the peer.

AWorkCount

Indicates the number of bytes affected by the operation sent to OnWork.

The OnWork event handler is triggered when a notification message is received as data is removed from the internal buffer for the IOHandler, and when data is written to the destination for the IOHandler connection. Applications must assign a procedure to the OnWork event handler to allow responding to the event notification. Use OnWorkBegin ( Use OnWorkEnd (

1328) to respond to the initiation of a read or write ( 1329) to respond to the completion of a read or write (

1312) request. 1312) request.

See Also TWorkEvent (

3121)

TIdIOHandler.OnWorkBegin ( TIdIOHandler.OnWorkEnd (

1328) 1329)

TIdIOHandler.OnWorkBegin Event Event handler signalled when a read or write (

1312) request is started.

Pascal property OnWorkBegin; Description OnWorkBegin is a public TWorkBeginEvent ( 3120) property that represents the event handler signalled when a read or write ( 1312) request is initiated for the IOHandler connection. Applications must assign a procedure to the event handler that accepts arguments as used in TWorkBeginEvent (

1328

3120).

Internet Direct (Indy) Version 10.1.5

Classes Use OnWorkEnd (

TIdIOHandler Class 1329) to respond to completion of an IO request.

See Also TIdIOHandler.AllData (

1289)

TIdIOHandler.Capture (

1290)

TIdIOHandler.ReadStream ( TIdIOHandler.Write (

1308)

1312)

TIdIOHandler.OnWorkEnd Event Event handler signalled when a read or write (

1312) request is completed.

Pascal property OnWorkEnd; Description OnWorkEnd is a public TWorkEndEvent ( 3121) property that represents the event handler signalled when a read or write ( 1312) request is completed for the IOHandler connection. Applications must assign a procedure to the event handler that accepts arguments as used in TWorkEndEvent ( Use OnWorkBegin (

3121).

1328) to respond to initiation of an IO request.

See Also TIdIOHandler.AllData (

1289)

TIdIOHandler.Capture (

1290)

TIdIOHandler.ReadStream ( TIdIOHandler.Write (

1308)

1312)

TIdIOHandler.Opened Property Indicates if buffer and state properties have been initialized for the IOHandler. Pascal property Opened: Boolean; Description Opened is a read-only Boolean property that indicates if buffer and state properties have been initialized for the IOHandler in the Open ( 1300) method. Open ( 1300) sets the value in Opened to True. Opened is also updated in Close (

1295).

The value in Opened is used in Connected (

1296).

See Also TIdIOHandler.Open ( TIdIOHandler.Close (

1300) 1295)

TIdIOHandler.Connected (

1296)

TIdIOHandler.Port Property Port number for the IOHandler connection. Pascal property Port: Integer; Internet Direct (Indy) Version 10.1.5

1329

TIdIOHandler Class

Classes

Description Port is an Integer property that represents the port number used for the IOHandler connection. Port has no significance in TIdIOHandler ( 1284), but is provided for compatibility with descendant classes that require a port number for the transport mechanism. Use Host (

1325) to access the address used as the endpoint for the IOHandler connection.

Use Destination (

1325) to access the endpoint (Host (

1325) and Port combination) used for the IOHandler connection.

See Also TIdIOHandler.Host (

1325)

TIdIOHandler.Destination (

1325)

TIdIOHandler.ReadLnTimedout Property Indicates a timeout occurred when reading a line of text from the IOHandler. Pascal property ReadLnTimedout: boolean; Description ReadLnTimedout is a read-only boolean property used to indicate that a timeout occurred when attempt to read a line of text in ReadLn ( 1304). ReadLnTimedout is updated when data is read from the data source for the IOHandler connection. See Also TIdIOHandler.ReadLn (

1304)

TIdIOHandler.ReadTimeout Property Indicates the milliseconds to wait for a readable (

1300) IOHandler connection.

Pascal property ReadTimeout: Integer; Description ReadTimeout is an Integer property that represents the number of milliseconds to wait for completion of a read request using IOHandler read methods. ReadTimeout is generally used as a default value when the timeout argument to the various read methods contains IdTimeoutDefault ( 4331). Use ConnectTimeout (

1324) to indicate the timeout value when establishing the connection for socket-based IOHandlers.

See Also IdTimeoutDefault (

4331)

ConnectTimeout (

1324)

TIdIOHandler.RecvBufferSize Property Indicates the number of bytes to read reading large amounts of data. Pascal property RecvBufferSize: Integer; Description RecvBufferSize is an Integer property that indicates the number of bytes to read from the IOHandler connection when reading large amounts of data. RecvBufferSize is the amount of data that will be requested at each read cycle. RecvBufferSize is used in ReadStream (

1330

1308) to determine the size of chunks of data read from the IOHandler.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerSocket Class

See Also TIdIOHandler.RecvBuffer TIdIOHandler.ReadStream (

1308)

TIdIOHandler.SendBufferSize Property Indicates the buffer size used when writing large chunks of data to the IOHandler connection. Pascal property SendBufferSize: Integer; Description SendBufferSize is an Integer property that indicates the buffer size used when writing large amounts of data to the transport for the IOHandler. SendBufferSize is the sized used for each chunk of data used when writing to the transport. The default value for SendBufferSize is GSendBufferSizeDefault ( SendBufferSize is used when Write ( connection.

3214).

1312) is called using a TIdStream (

3087) as the source of data written to the IOHandler

See Also TIdStream (

3087)

GSendBufferSizeDefault ( TIdIOHandler.Write (

3214)

1312)

TIdIOHandler.WriteBufferThreshhold Property Pascal property WriteBufferThreshhold: Integer; Description WriteBufferThreshhold is a read-only Integer property that represents the number of bytes to accumulate in WriteBuffer prior to flushing data to the connection for the IOHandler. WriteBufferThreshhold is used in WriteBytes. The value used in WriteBufferThreshhold is established when write ( 1320). Use WriteBufferFlush (

1312) buffering is enabled with a call to WriteBufferOpen (

1318) to force data in WriteBuffer to be written to the IOHandler connection.

See Also TIdIOHandler.WriteBuffer TIdIOHandler.WriteBufferFlush (

1318)

TIdIOHandler.WriteBytes

TIdIOHandlerSocket Class Implements a IOHandler handler using socket handles. File IdIOHandlerSocket (

4671)

Internet Direct (Indy) Version 10.1.5

1331

TIdIOHandlerSocket Class

Classes

Hierarchy

Pascal TIdIOHandlerSocket = class(TIdIOHandler); Description TIdIOHandlerSocket is a TIdIOHandler ( for the IOHandler connection.

1284) descendant that implements the Indy IOHandler framework using a socket handle

TIdIOHandlerSocket implements abstract and virtual methods inherited from TIdIOHandler ( 1284) that allow the IOHandler to prepare and establish a connection to a remote computer system, determine when the IOHandler is ready to perform an IO operation, and perform the data transmission or receipt required for the IOHandler. TIdIOHandlerSocket also includes properties that access the Binding ( 1337) for the socket-based IOHandler, including UseNagle ( 1341) and IPVersion ( 1340). The following default values are assigned to these properties during initialization of the component:

Property

Value

UseNagle (

1341)

True

IPVersion (

1340)

ID_DEFAULT_IP_VERSION (

3282)

See Also TIdIOHandler (

1284)

TIdIOHandlerStack (

1342)

TIdIOHandlerStream (

1348)

TIdIOHandlerSocket.UseNagle (

1341)

TIdIOHandlerSocket.IPVersion (

1340)

IndySupport (

15)

TIdIOHandlerSocket Members The following tables list the members exposed by TIdIOHandlerSocket. Properties Property

Description

Binding ( BoundIP (

1337)

Represents the socket handle used for the IOHandler connection.

1338)

BoundPort (

Specifies the IP address to use for the IOHandler connection.

1338)

Indicates the port number for the IOHandler connection.

BoundPortMax (

1338)

Indicates the highest port number for the local connection when using default port number assignment.

BoundPortMin (

1339)

Indicates the lowest port number for the local connection when using default port number assignment.

ClosedGracefully ( ConnectTimeout (

1324)

Indicates that the connection has been closed by the peer for a connection. Milliseconds to wait for successful completion of a connection attempt.

DefaultPort (

1339)

Default port number to use for the port number on the IOHandler connection.

Destination (

1325)

Endpoint for the IOHandler connection.

Host (

1325)

InputBuffer ( Intercept ( IPVersion (

Identifies the address for the endpoint of the IOHandler connection. 1325)

1326)

IP address family supported for the socket-based IOHandler.

1326)

MaxCapturedLines ( MaxLineAction (

Represents the internal storage for values received on the IOHandler connection. Intermediary for actions using the transport and the IOHandler for the connection.

1340)

LargeStream (

1332

1324)

Indicates byte counts read from or written to the IOHandler should use a 64-bit data type. 1327)

1327)

Maximum number of lines permitted when capturing multi-line messages or responses. Indicates the action performed when the maximum line length is exceeded.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerSocket Class

MaxLineLength ( OnAfterBind (

1327)

OnBeforeBind (

Event handler signalled prior to allocating and binding the socket handle for the IOHandler.

1341)

Event handler property signalled when the socket handle has been allocated in the Binding ( IOHandler.

1328)

OnWorkBegin (

Event handler for buffered read and write ( 1328)

OnWorkEnd (

1329)

Opened ( Port (

Event handler signalled after allocating and binding the socket handle for the IOHandler.

1340)

OnSocketAllocated ( OnWork (

Determines the maximum length of a line read from the IOHandler for the connection.

1340)

1329)

1337) for the

1312) operations.

Event handler signalled when a read or write (

1312) request is started.

Event handler signalled when a read or write (

1312) request is completed.

Indicates if buffer and state properties have been initialized for the IOHandler.

1329)

Port number for the IOHandler connection.

ReadLnTimedout ( ReadTimeout (

1330)

Indicates a timeout occurred when reading a line of text from the IOHandler.

1330)

Indicates the milliseconds to wait for a readable (

1300) IOHandler connection.

RecvBufferSize (

1330)

Indicates the number of bytes to read reading large amounts of data.

SendBufferSize (

1331)

Indicates the buffer size used when writing large chunks of data to the IOHandler connection.

TransparentProxy (

1341)

Represents the proxy server to use for the IOHandler connection.

UseNagle (

1341)

Indicates the socket connection can use the Nagle algorithm.

Version (

269)

Identifies the version number for the Indy component suite.

WorkTarget (

359)

Indy component to receive work mode events for the current object instance.

WriteBufferThreshhold (

1331)

Methods Method

Description

AfterAccept ( AllData (

1289)

Specifies the method used to initialize an IOHandler after a new connection request.

1289)

BeginWork (

Retrieves all data from a connection.

356)

BindingAllocated (

Triggers the OnBeginWork event.

1334)

Determines if the socket handle for the IOHandler has been assigned.

CheckForDataOnSource ( CheckForDisconnect ( Close (

1295)

1335)

Connected (

Determine if data is available in the unbuffered communication layer for the connection. Checks state and status information on the transport for the IO handler. Closes the connection for the IOHandler.

CloseGracefully ( Create (

1294)

1296)

1335)

Updates the ClosedGracefully (

1324) property that indicates the connection has been closed by the peer.

Determines if the socket handle for the IOHandler has been allocated and remains open (

267)

Destroy (

1335)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork (

358)

GetVersion (

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

InputBufferAsString (

1297)

Provides access to the contents of the Indy input buffer in string form.

InputBufferIsEmpty (

1297)

Indicates the input buffer for the IOHandler does not contain any data.

InputBufferToStream ( InputLn (

1298)

1298)

MakeIOHandler (

1299)

1299)

1336)

Readable (

Stores the contents of the input buffer to a stream. Reads a line of data from the connection.

MakeDefaultIOHandler ( Open (

Creates an instance of the IOHandler using the default class factory. Creates a new instance of an IOHandler using the specified class reference. Establishes the socket handle and connection for the IOHandler.

1300)

Indicates if the IOHandler is ready to perform a read request.

ReadBytes (

1301)

Perform a read request for IOHandler.

ReadCardinal (

1301)

Reads the ordinal data type from the IOHandler connection.

ReadChar (

1302)

Reads the simple data type from the IOHandler connection.

ReadInt64 (

1302)

Reads a 64-bit Integer data type from the data source for the IOHandler.

ReadInteger (

1303)

Reads the data type from the IOHandler connection.

ReadLnSplit (

1306)

Reads a line from the Indy buffer.

ReadLnWait ( ReadSmallInt (

1307) 1307)

ReadStream ( ReadString (

1308)

1309)

ReadStrings (

SetDefaultClass (

Reads the data type from the IOHandler connection. Reads data from the IOHandler into a stream. Reads one or more lines of text from the IOHandler into a TIdStrings (

1310)

3089) instance.

Guaranteess that the IOHandler class exists in the registered IOHandler class list.

1311)

267)

Create ( Capture (

Waits for a line of text to be read from the IOHandler.

Reads a Delphi string from the IOHandler buffer.

1310)

RegisterIOHandler ( CType (

1336).

Constructor for the object instance.

1274) 1290)

Internet Direct (Indy) Version 10.1.5

1333

TIdIOHandlerSocket Class ReadLn ( Write (

Classes

1304) 1311)

WriteBufferFlush (

1318)

WriteBufferOpen (

1320)

WaitFor (

1311)

Searches for a specific value in the input received from the data source for the IOHandler.

WriteBufferCancel (

1317)

Clears and cancels write (

1312) buffering for the IOHandler.

WriteBufferClear (

1317)

Discards any exisitng data in the write (

WriteBufferClose (

1318)

Disables uses write (

WriteBufferingActive (

1319)

Indicates if write (

WriteDirect ( WriteFile ( WriteLn (

1321) 1336)

1322)

WriteRFCStrings (

1312) buffering mechanism.

1312) buffering for the IOHandler connection.

1312) buffering is enabled for the IOHandler.

Moves values to the socket-level transport for the IOHandler. Write (

1312) the contents of a file to the IOHandler connection.

Writes a string value to IOHandler. 1322)

Writes a list of RFC-compatible strings to the peer for the IOHandler class instance.

Events Event

Description

OnStatus (

359)

Represents the current connection status event handler.

Legend Method virtual abstract Property read only Event

TIdIOHandlerSocket Methods The Methods of the TIdIOHandlerSocket class are listed here. Methods Method

Description

BindingAllocated ( Close (

1335)

Connected ( Destroy ( Open (

1334)

1335)

1335) 1336)

WriteFile (

1336)

Determines if the socket handle for the IOHandler has been assigned. Closes the connection for the IOHandler. Determines if the socket handle for the IOHandler has been allocated and remains open (

1336).

Frees the object instance. Establishes the socket handle and connection for the IOHandler. Write (

1312) the contents of a file to the IOHandler connection.

Legend Method virtual

TIdIOHandlerSocket.BindingAllocated Method Determines if the socket handle for the IOHandler has been assigned. Pascal function BindingAllocated: Boolean; Returns Boolean - True when the socket handle has been allocated for the IOHandler. Description BindingAllocated is a Boolean function used to determine if the socket handle for the IOHandler has been assigned. BindingAllocated checks for a valid TIdSocketHandle ( 2071) instance in Binding ( 1337), and determines if the socket handle has been allocated using the IP protocol stack. BindingAllocated is used in the Connected ( 1334

1335) method and prior to writing to Binding (

1337) after a change in the UseNagel Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerSocket Class

property. See Also TIdSocketHandle (

2071)

TIdIOHandlerSocket.Binding (

1337)

TIdIOHandlerSocket.Connected (

1335)

TIdIOHandlerSocket.UseNagel

TIdIOHandlerSocket.Close Method Closes the connection for the IOHandler. Pascal procedure Close; override; Description Close is an overridden procedure used to disconnect the soket transport for the IOHandler. Close calls the inherited Close method, and calls the CloseSocket method for an assigned Binding ( 1337). Use Open (

1336) to establish the connection for the IOHandler.

See Also TIdIOHandlerSocket.Binding ( TIdIOHandlerSocket.Open (

1337) 1336)

TIdSocketHandle.CloseSocket (

2076)

TIdIOHandlerSocket.Connected Method Determines if the socket handle for the IOHandler has been allocated and remains open (

1336).

Pascal function Connected: Boolean; override; Returns Boolean - True when the socket handle for the IOHandler connection has been allocated. Description Connected is an overridden Boolean function used to determine when the socket handle for the IOHandler connection has been allocated. The return value for the method is determined by the values provided by BindingAllocated ( method.

1334) and the inherited Connected

See Also TIdIOHandlerSocket.BindingAllocated ( TIdIOHandler.Connected (

1334)

1296)

TIdIOHandlerSocket.Destroy Destructor Frees the object instance. Pascal destructor Destroy; override; Description Destroy is the destructor for the object instance. Internet Direct (Indy) Version 10.1.5

1335

TIdIOHandlerSocket Class

Classes

For platforms other than .Net, Destroy frees resource allocated to the TransparentProxy ( Binding ( 1337) for the IOHandler connection.

1341) property. Destroy also frees the

Destroy calls the inherited method prior to exiting from the destructor.

TIdIOHandlerSocket.Open Method Establishes the socket handle and connection for the IOHandler. Pascal procedure Open; override; Description Open is an overridden procedure in TIdIOHandlerSocket ( established for the IOHandler.

1331) used ensure that a valid Binding (

1337) exists and has been

Open calls the inherited Open method. When the socket handle for the connection in Binding ( 1337) has not been assigned, Open allocates resources for the Binding ( 1337) property. If Binding ( 1337) has already been assigned in a previous call to Open, the socket handle is reset. Reallocating the Binding (

1337) in Open causes several actions to be performed in order to connect the socket-based IOHandler.

• OnBeforeBind ( 1340) is triggered to allow custom configuration using the event handler procedure for an associated TIdTCPClientCustom ( 2340) or descendant instance. • The socket handle and IPVersion ( • Values in BoundIP ( Binding ( 1337).

1340) values for the Binding (

1338), BoundPort (

• The value in UseNagle (

1338), BoundPortMin (

1337) are updated. 1339), and BoundPortMax (

1338) are assigned to the

1341) is set using the socket options for the socket handle.

• OnAfterBind ( 1340) is triggered to allow processing using the event handler procedure for an associated TIdTCPClientCustom ( 2340) or descendant instance. Open connects to the remote system using the values in Host ( the properties. Set the values in Host (

1325) and Port (

Set the value in UseNagle ( the connection. Use Close (

1325) and Port (

1329) when valid values have been assigned to

1329) prior to calling the Open method.

1341) prior to calling Open to indicate if the send coalescing algorithm is enabled in socket options for

1335) to disconnect the socket handle for the IOHandler connection.

See Also TIdIOHandler.Host (

1325)

TIdIOHandler.Port (

1329)

TIdIOHandler. BoundPortMin (

1339)

TIdIOHandler. BoundPortMax (

1338)

TIdIOHandlerSocket.Binding (

1337)

TIdIOHandlerSocket.WriteFile Method Write (

1312) the contents of a file to the IOHandler connection.

Pascal function WriteFile( const AFile: String; AEnableTransferFile: Boolean = False ): Int64; override; 1336

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerSocket Class

Parameters Parameters

Description

AFile

File name to write (

AEnableTransferFile

Indicates the optimized filew transfer is enabled for the platform.

1312) to the IOHandler.

Returns Cardinal - Size of the specified file on the local file system. Description WriteFile is an overridden Cardinal function used to write ( IOHandler.

1312) the contents of the file specified in AFile to the socket-based

WriteFile calls the inherited WriteFile method to copy the contents of the file to the IOHandler. The return value for the method is the size of the specified file on the local file system.

TIdIOHandlerSocket Properties The Properties of the TIdIOHandlerSocket class are listed here. Properties Property

Description

Binding ( BoundIP (

1337)

Represents the socket handle used for the IOHandler connection.

1338)

BoundPort (

Specifies the IP address to use for the IOHandler connection.

1338)

Indicates the port number for the IOHandler connection.

BoundPortMax (

1338)

Indicates the highest port number for the local connection when using default port number assignment.

BoundPortMin (

1339)

Indicates the lowest port number for the local connection when using default port number assignment.

DefaultPort ( IPVersion (

1339)

Default port number to use for the port number on the IOHandler connection.

1340)

OnAfterBind (

IP address family supported for the socket-based IOHandler.

1340)

OnBeforeBind (

OnSocketAllocated ( TransparentProxy ( UseNagle (

Event handler signalled after allocating and binding the socket handle for the IOHandler.

1340) 1341) 1341)

1341)

Event handler signalled prior to allocating and binding the socket handle for the IOHandler. Event handler property signalled when the socket handle has been allocated in the Binding ( IOHandler.

1337) for the

Represents the proxy server to use for the IOHandler connection. Indicates the socket connection can use the Nagle algorithm.

Legend Property read only

TIdIOHandlerSocket.Binding Property Represents the socket handle used for the IOHandler connection. Pascal property Binding: TIdSocketHandle; Description Binding is a read-only TIdSocketHandle ( 2071) property that represents the socket handle used to establish the network-level connection to a remote computer system for the socket-based IOHandler. Binding provides methods used to create ( on the socket descriptor.

267), open (

1336), close (

1335), read, write (

1312), and maintain options used

Use Open (

1336) to ensure that the Binding contains a valid socket handle for the IOHandler connection.

Use Close (

1335) to ensure that Binding is disconnected.

Binding is freed in the destructor for the object instance.

Internet Direct (Indy) Version 10.1.5

1337

TIdIOHandlerSocket Class

Classes

See Also TIdSocketHandle (

2071)

TIdIOHandlerSocket.Open (

1336)

TIdIOHandlerSocket.Close (

1335)

TIdIOHandlerSocket.Destroy (

1335)

TIdIOHandlerSocket.BoundIP Property Specifies the IP address to use for the IOHandler connection. Pascal property BoundIP: string; Description BoundIP is a string property that specifies the local IP address to be used for the IOHandler connection. BoundIP indicates the specific IP address to use for the Binding ( 1337) when the IOHandler connection is established in Open ( 1336). Use BoundPort ( Open ( 1336).

1338) to specify the port number to use in the Binding (

1337) when the IOHandler connection is established in

See Also TIdIOHandlerSocket (

1331)

TIdIOHandlerSocket.Binding ( TIdIOHandlerSocket.Open (

1337) 1336)

TIdIOHandlerSocket.BoundPort (

1338)

TIdIOHandlerSocket.BoundPort Property Indicates the port number for the IOHandler connection. Pascal property BoundPort: Integer; Description BoundPort is an Integer property that specifies the local port number to be used for the IOHandler connection. BoundPort is used to update the Binding ( 1337) when Open ( 1336) is called to establish the IOHandler connection. BoundPortMin ( 1339) and BoundPortMax ( 1338) indicate the range of port numbers available for selection when BoundPort contains the default value IdBoundPortDefault ( 3825). Use BoundIP ( 1338) to specify the IP address to use in the Binding ( IOHandler connection.

1337) when Open (

1336) is called to establish the

See Also TIdIOHandlerSocket.Open (

1336)

TIdIOHandlerSocket.BoundPortMin (

1339)

TIdIOHandlerSocket.BoundPortMax (

1338)

IdBoundPortDefault (

3825)

TIdIOHandlerSocket.BoundPortMax Property Indicates the highest port number for the local connection when using default port number assignment.

1338

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerSocket Class

Pascal property BoundPortMax: Integer; Description BoundPortMax is an Integer property that specifies the highest local port number to be used for the IOHandler connection when using default port number assignment. BoundPortMax is used when Open ( 1336) is called to establsh the connection for the IOHandler. Set BoundPortMin (

1339) to indicate the lowest local port number to be used for the IOHandler connection.

See Also TIdIOHandlerSocket.Open (

1336)

TIdIOHandlerSocket.BoundPort (

1338)

TIdIOHandlerSocket.BoundPortMin ( IdBoundPortDefault (

1339)

3825)

TIdIOHandlerSocket.BoundPortMin Property Indicates the lowest port number for the local connection when using default port number assignment. Pascal property BoundPortMin: Integer; Description BoundPortMin is an Integer property that specifies the lowest local port number to be used for the IOHandler connection when using default port number assignment. BoundPortMin is used when Open ( 1336) is called to establsh the connection for the IOHandler. Set BoundPortMax (

1338) to indicate the highest local port number to be used for the IOHandler connection.

See Also TIdIOHandlerSocket.Open (

1336)

TIdIOHandlerSocket.BoundPort (

1338)

TIdIOHandlerSocket.BoundPortMax ( IdBoundPortDefault (

1338)

3825)

TIdIOHandlerSocket.DefaultPort Property Default port number to use for the port number on the IOHandler connection. Pascal property DefaultPort: integer; Description DefaultPort is an integer property that represents the default port number to use when updating the address and port number used as an identity value in Destination ( 1325). DefaultPort is used when reading the value of Destination ( 1325) for an assigned port number that contains 0 (zero). DefaultPort is also used when setting Port ( 1329) based on a value read from the identifying value in Destination ( 1325). See Also TIdIOHandler.Port (

1329)

TIdIOHandler.Destination (

1325)

Internet Direct (Indy) Version 10.1.5

1339

TIdIOHandlerSocket Class

Classes

TIdIOHandlerSocket.IPVersion Property IP address family supported for the socket-based IOHandler. Pascal property IPVersion: TIdIPVersion; Description IPVersion is a TIdIPVersion ( socket-based IOHandler.

2962) property that represent IP Address family supported for host IP addresses assigned to the

IPVersion is used to initialize value used in the Binding (

1337) for the IOHandler in ConnectClient.

The default value for IPVersion is ID_DEFAULT_IP_VERSION ( IPVersion is normally assigned by a TIdTCPClient (

3282) as assigned during component initialization.

2333) when an IOHandler for the client is created in its Connect method.

See Also TIdTCPClient.IPVersion (

2337)

TIdTCPClientCustom.Connect (

2342)

TIdIOHandlerSocket.OnAfterBind Property Event handler signalled after allocating and binding the socket handle for the IOHandler. Pascal property OnAfterBind: TIdNotifyEvent; Description OnAfterBind is a TNotifyEvent property that represents the event handler signalled after allocating and binding the socket handle for the socket-based IOHandler. OnAfterBind is signalled during processing in the Open ( has been allocated, initalized, and connected ( 1335).

1336) method after the Binding (

1337) for the socket-based IOHandler

Applications must assign a procedure to the event handler to allow responding to the TNotifyEvent event notification. Use the Owner property to access properties and methods of the TIdTCPClientCustom ( socket-based IOHandler.

2340) or descendant that owns the

TIdIOHandlerSocket.OnBeforeBind Property Event handler signalled prior to allocating and binding the socket handle for the IOHandler. Pascal property OnBeforeBind: TIdNotifyEvent; Description OnBeforeBind is a TNotifyEvent property that represents the event handler signalled prior to allocating and binding the socket handle for the socket-based IOHandler. OnBeforeBind is signalled during processing in the Open ( 1336) method before the Binding ( IOHandler has been allocated, initalized, and connected ( 1335).

1337) for the socket-based

Applications must assign a procedure to the event handler to allow responding to the TNotifyEvent event notification. Use the Owner property to access properties and methods of the TIdTCPClientCustom ( socket-based IOHandler.

1340

2340) or descendant that owns the

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerSocket Class

TIdIOHandlerSocket.OnSocketAllocated Property Event handler property signalled when the socket handle has been allocated in the Binding (

1337) for the IOHandler.

Pascal property OnSocketAllocated: TIdNotifyEvent; Description OnSocketAllocated is a TNotifyEvent event handler property signalled when the socket handle in the Binding ( IOHandler has been allocated.

1337) for the

OnSocketAllocated is triggered in the ConnectClient method after the OnBeforeBind ( 1340) event handler has been triggered and following assignment of IPVersion ( 1340) to the corresponding property in Binding ( 1337). OnSocketAllocated is triggered before assigment of values for the IP and Port ( 1329) number for the Binding ( 1337) using BoundIP ( 1338), BoundPortMin ( 1339) and BoundPortMax ( 1338), and before calling the Bind method for the socket handle. Application must assign a procedure to the event handler to allow responding to the event notification. See Also ConnectClient Binding (

1337)

BoundPortMin (

1339)

BoundPortMax (

1338)

BoundPort (

1338)

OnBeforeBind ( OnAfterBind (

1340) 1340)

TIdIOHandlerSocket.TransparentProxy Property Represents the proxy server to use for the IOHandler connection. Pascal property TransparentProxy: TIdCustomTransparentProxy; Description TransparentProxy is a TIdCustomTransparentProxy ( connection.

477) property that represents the proxy server to use for the IOHandler

Reading the value in TransparentProxy will ensure that a TIdSocksInfo (

2118) instance has been created for the property.

Assigning a new TIdCustomTransparentProxy ( 477) to the property ensures that an existing value in the property is freed, an that the correct class type is used for creating the new object instance for the property. TransparentProxy is freed (when assigned) in Destroy (

1335).

See Also TIdCustomTransparentProxy (

477)

TIdIOHandlerSocket.Destroy (

1335)

TIdIOHandlerSocket.UseNagle Property Indicates the socket connection can use the Nagle algorithm. Pascal property UseNagle: boolean; Internet Direct (Indy) Version 10.1.5

1341

TIdIOHandlerStack Class

Classes

Description UseNagle is a boolean property that indicates if the socket handle in Binding ( 1337) can use the Nagle algorithm for send coalescing during output operations. The default value for UseNagle is True, as assigned in the Create ( 267) constructor. UseNagle is used when opening the connection for the IOHandler, and determine if the Binding ( that reflect the use of the algorithm during output operations.

1337) must set socket options

TIdIOHandlerStack Class Implements an IOHandler handler using socket handles with connection timeouts. File IdIOHandlerStack (

4671)

Hierarchy

Pascal TIdIOHandlerStack = class(TIdIOHandlerSocket); Description TIdIOHandlerStack is a TIdIOHandlerSocket ( handle to access TCP/IP protocol stack.

1331) descendant that implements the Indy IOHandler framework using a socket

TIdIOHandlerStack overrides methods inherited from TIdIOHandlerSocket ( 1331) that allow the IOHandler to gain access to the TCP/IP protocol stack for the platform hosting the Indy library. The capabilities provided include:

Resolving Host (

1325) names in the IP address for the connection.

Preparing and establishing a connection to a remote computer system. Determining if the protocol stack is ready to perform an IO operation. Determining if the connection is still valid for the IOHandler. Reading data from the stack into the internal buffering mechanism. Writing data in the internal buffering mechanism to the stack. TIdIOHandlerStack implements timeout capabilities when establishing the connecting, and when reading data from the protocol stack. TIdIOHandlerStack also implements support for TIdAntiFreeze ( IOHandler.

2710) when connecting to the remote destination for the

See Also TIdIOHandlerSocket ( TIdAntiFreeze ( IndySupport (

1331)

2710) 15)

TIdIOHandlerStack Members The following tables list the members exposed by TIdIOHandlerStack.

1342

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStack Class

Properties Property

Description

Binding (

1337)

BoundIP (

Represents the socket handle used for the IOHandler connection.

1338)

BoundPort (

Specifies the IP address to use for the IOHandler connection.

1338)

Indicates the port number for the IOHandler connection.

BoundPortMax (

1338)

Indicates the highest port number for the local connection when using default port number assignment.

BoundPortMin (

1339)

Indicates the lowest port number for the local connection when using default port number assignment.

ClosedGracefully ( ConnectTimeout (

1324)

Indicates that the connection has been closed by the peer for a connection.

1324)

Milliseconds to wait for successful completion of a connection attempt.

DefaultPort (

1339)

Default port number to use for the port number on the IOHandler connection.

Destination (

1325)

Endpoint for the IOHandler connection.

Host (

1325)

Identifies the address for the endpoint of the IOHandler connection.

InputBuffer ( Intercept (

1325)

Represents the internal storage for values received on the IOHandler connection.

1326)

IPVersion (

Intermediary for actions using the transport and the IOHandler for the connection.

1340)

LargeStream (

IP address family supported for the socket-based IOHandler.

1326)

MaxCapturedLines (

Indicates byte counts read from or written to the IOHandler should use a 64-bit data type. 1327)

Maximum number of lines permitted when capturing multi-line messages or responses.

MaxLineAction (

1327)

Indicates the action performed when the maximum line length is exceeded.

MaxLineLength (

1327)

Determines the maximum length of a line read from the IOHandler for the connection.

OnAfterBind (

1340)

OnBeforeBind (

OnSocketAllocated ( OnWork (

Event handler signalled prior to allocating and binding the socket handle for the IOHandler.

1341)

Event handler property signalled when the socket handle has been allocated in the Binding ( IOHandler.

1328)

OnWorkBegin (

Event handler for buffered read and write ( 1328)

OnWorkEnd (

1329)

Opened ( Port (

Event handler signalled after allocating and binding the socket handle for the IOHandler.

1340)

1329)

1337) for the

1312) operations.

Event handler signalled when a read or write (

1312) request is started.

Event handler signalled when a read or write (

1312) request is completed.

Indicates if buffer and state properties have been initialized for the IOHandler.

1329)

Port number for the IOHandler connection.

ReadLnTimedout ( ReadTimeout (

1330)

Indicates a timeout occurred when reading a line of text from the IOHandler.

1348)

Indicates the milliseconds to wait for a readable (

1346) IOHandler connection.

RecvBufferSize (

1330)

Indicates the number of bytes to read reading large amounts of data.

SendBufferSize (

1331)

Indicates the buffer size used when writing large chunks of data to the IOHandler connection.

TransparentProxy (

1341)

Represents the proxy server to use for the IOHandler connection.

UseNagle (

1341)

Indicates the socket connection can use the Nagle algorithm.

Version (

269)

Identifies the version number for the Indy component suite.

WorkTarget (

359)

Indy component to receive work mode events for the current object instance.

WriteBufferThreshhold (

1331)

Methods Method

Description

AfterAccept ( AllData (

1289)

Specifies the method used to initialize an IOHandler after a new connection request.

1289)

BeginWork (

Retrieves all data from a connection.

356)

BindingAllocated (

Triggers the OnBeginWork event.

1334)

Determines if the socket handle for the IOHandler has been assigned.

CheckForDataOnSource ( CheckForDisconnect ( Close (

1295)

Close (

1335)

CloseGracefully ( Connected ( Create (

1345)

1345)

Determine if data is available in the unbuffered communication layer for the connection. Checks state and status information on the transport for the IO handler. Closes the IO handler and associated Intercepts and transports. Closes the connection for the IOHandler.

1296)

1346)

Updates the ClosedGracefully (

1324) property that indicates the connection has been closed by the peer.

Indicates the connection is open (

267)

Destroy (

357)

Frees the object instance.

Destroy (

1296)

Frees the object instance.

Destroy (

1335)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork ( GetVersion (

1336), or data exists in the internal buffer.

Constructor for the object instance.

358)

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

InputBufferAsString (

1297)

Provides access to the contents of the Indy input buffer in string form.

InputBufferIsEmpty (

1297)

Indicates the input buffer for the IOHandler does not contain any data.

InputBufferToStream (

1298)

Internet Direct (Indy) Version 10.1.5

Stores the contents of the input buffer to a stream.

1343

TIdIOHandlerStack Class InputLn (

Classes

1298)

Reads a line of data from the connection.

MakeDefaultIOHandler ( MakeIOHandler (

1299)

1299)

Creates an instance of the IOHandler using the default class factory. Creates a new instance of an IOHandler using the specified class reference.

Open (

1300)

Prepares the IOHandler for subsequent read and write (

Open (

1336)

Establishes the socket handle and connection for the IOHandler.

Readable (

1346)

1312) requests.

Indicates if the IOHandler is ready to perform a read request.

ReadBytes (

1301)

Perform a read request for IOHandler.

ReadCardinal (

1301)

Reads the ordinal data type from the IOHandler connection.

ReadChar (

1302)

Reads the simple data type from the IOHandler connection.

ReadInt64 (

1302)

Reads a 64-bit Integer data type from the data source for the IOHandler.

ReadInteger (

1303)

Reads the data type from the IOHandler connection.

ReadLnSplit (

1306)

Reads a line from the Indy buffer.

ReadLnWait ( ReadSmallInt (

1307)

ReadStream ( ReadString (

Reads data from the IOHandler into a stream. Reads a Delphi string from the IOHandler buffer.

1310)

RegisterIOHandler ( SetDefaultClass (

Reads one or more lines of text from the IOHandler into a TIdStrings ( 1310)

3089) instance.

Guaranteess that the IOHandler class exists in the registered IOHandler class list.

1311)

267)

Create (

1274)

Capture (

1290)

ReadLn (

1304)

Write (

Reads the data type from the IOHandler connection.

1308)

1309)

ReadStrings (

CType (

Waits for a line of text to be read from the IOHandler.

1307)

1311)

WriteBufferFlush (

1318)

WriteBufferOpen (

1320)

WaitFor (

1311)

Searches for a specific value in the input received from the data source for the IOHandler.

WriteBufferCancel (

1317)

Clears and cancels write (

1312) buffering for the IOHandler.

WriteBufferClear (

1317)

Discards any exisitng data in the write (

WriteBufferClose (

1318)

Disables uses write (

WriteBufferingActive (

1319)

Indicates if write (

WriteDirect (

1347)

1312) buffering mechanism.

1312) buffering for the IOHandler connection.

1312) buffering is enabled for the IOHandler.

Performs physical writes to the socket handle for the IOHandler.

WriteFile (

1321)

Writes the contents of a local file to the IOHandler.

WriteFile (

1336)

Write (

WriteLn (

1322)

WriteRFCStrings (

1312) the contents of a file to the IOHandler connection.

Writes a string value to IOHandler. 1322)

Writes a list of RFC-compatible strings to the peer for the IOHandler class instance.

Events Event OnStatus (

Description 359)

Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdIOHandlerStack Methods The Methods of the TIdIOHandlerStack class are listed here. Methods Method

Description

CheckForDataOnSource ( CheckForDisconnect ( Connected ( Readable ( WriteDirect (

1344

1346) 1346) 1347)

1345)

1345)

Determine if data is available in the unbuffered communication layer for the connection. Checks state and status information on the transport for the IO handler. Indicates the connection is open (

1336), or data exists in the internal buffer.

Indicates if the IOHandler is ready to perform a read request. Performs physical writes to the socket handle for the IOHandler.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStack Class

Legend Method virtual

TIdIOHandlerStack.CheckForDataOnSource Method Determine if data is available in the unbuffered communication layer for the connection. Pascal procedure CheckForDataOnSource( ATimeout: Integer = 0 ); override; Parameters Parameters

Description

ATimeout

Milliseconds to wait for the connection to become readable (

1346), or to return data.

Description CheckForDataOnSource is an overridden procedure that implements the method used to determine when new data is available for adding to the buffering mechanism in Indy. ATimeout indicates the number of milliseconds to wait for the connection to become readable ( the read operation. CheckForDataOnSource requires that the socket handle be Connected (

1346), or to return data values for

1346).

CheckForDataOnSource will call the protected ReadFromSource method to retrieve unbuffered data from the communications layer, and adds the values to the internal buffer used for subsequent processing. See Also CheckForDisconnect ( Connected (

1345)

1346)

TIdIOHandlerStack.CheckForDisconnect Method Checks state and status information on the transport for the IO handler. Pascal procedure CheckForDisconnect( ARaiseExceptionIfDisconnected: Boolean = True; AIgnoreBuffer: Boolean = False ); override; Parameters Parameters

Description

ARaiseExceptionIfDisconnected

Indicates if exceptions are raised when the connection has closed prematurely.

AIgnoreBuffer

Indicates if data in the internal buffer is ignored when the connection has closed prematurely.

Description CheckForDisconnect is an overridden procedure that implements the method used to inspect the status of the connection prior to or following a method call that performs an IO operation. CheckForDisconnect is used primarily to ensure that state and status properties for the IOHandler are synchronized with the underlying transport mechanism. ClosedGracefully ( 1324) indicates the the server has closed the connection for the IOHandler. If the socket handle is still allocated and bound, CheckForDisconnect will call Close ( 1335) and trigger the OnStatus ( 359) event handler for the connection. If the connection for the IOHandler has been closed and InputBuffer ( 1325) does not contains unread data in the internal buffering mechanism, the IOHandler can raise an EIdConnClosedGracefully ( 69) exception. Internet Direct (Indy) Version 10.1.5

1345

TIdIOHandlerStack Class

Classes

Use AIgnoreBuffer to indicate that unread data in InputBuffer (

1325) should be ignored.

Set ARaiseExceptionIfDisconnected to False to prevent the exception from being raised. Exceptions Exceptions

Description

EIdConnClosedGracefully (

69)

Raised with the message RSConnectionClosedGracefully.

See Also Close (

1335)

OnStatus (

359)

ClosedGracefully (

1324)

EIdConnClosedGracefully (

69)

TIdIOHandlerStack.Connected Method Indicates the connection is open (

1336), or data exists in the internal buffer.

Pascal function Connected: Boolean; override; Returns Boolean - True when the connection is open (

1336), or data exists in the Indy buffer.

Description Connected is an overridden Boolean function used to indicate that connection for the IOHandler has been established, and that the internal buffer is assigned or contains existing data. Connected calls the protected ReadFromSource method with a request of 0 (zero) bytes to check the availability of the data source for the IOHandler. Connected calls the inherited method to retrieve the return value for the function. The return value for the function is True when the InputBuffer ( 1325) contains exisiting data, or when ClosedGracefully ( 1324) is False and the InputBuffer ( 1325) is assigned. See Also CheckForDataOnSource ( CheckForDisconnect ( ClosedGracefully (

1345)

1345)

1324)

TIdIOHandlerStack.Readable Method Indicates if the IOHandler is ready to perform a read request. Pascal function Readable( AMSec: Integer = IdTimeoutDefault ): Boolean; override; Parameters Parameters

Description

AMSec

Number of milliseconds to wait for an IOHandler connection to become ready for a read operation.

Returns Boolean - True when the connection is ready for the IO request. Description Readable is an overridden Boolean function that indicates if the connection for the IOHandler is ready to perform an IO request.

1346

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStack Class

AMSec indicates the number of milliseconds to wait for the IOHandler connection to become ready for the read operation. The return value for the method is determined by calling the TIdSocketHandle.Readable ( for the IOHandler connection.

2078) method in the Binding (

1337)

See Also TIdIOHandlerSocket.Readable TIdSocketHandle.Readable (

2078)

TIdIOHandlerStack.WriteDirect Method Performs physical writes to the socket handle for the IOHandler. Pascal procedure WriteDirect( var aBuffer: TIdBytes ); override; Parameters Parameters

Description

aBuffer

Values to be written using the socket-based IOHandler.

Description WriteDirect is an overridden procedure used to implement physical writes to the socket-based IOHandler. WriteDirect is called in methods like Write ( 1312) and WriteBufferFlush ( 1318) to move data directly to the socket handle used for network-level access. WriteDirect calls the inherited WriteDirect method. An EIdNotConnected ( 125) exception is raised when BindingAllocated ( in Binding ( 1337) is not valid.

1334) contains False, indicating that the socket handle

WriteDirect determines the size of ABuffer, and uses Binding ( 1337) to write ( 1312) values in ABuffer until all values have been transmitted using the socket handle. An assigned TIdAntiFreeze ( 2710) instance will be used to determine if CPU cycles should be yielded during the write ( 1312) operation. WriteDirect updates the value in ClosedGracefully ( 1324) to True when the number of bytes sent on the socket handle in Binding ( 1337) is 0 (zero), and calls CheckForDisconnect ( 1345) to determine if the IOHandler is actively connected ( 1346) to the endpoint for the transfer. WriteDirect triggers the OnWork (

1328) event handler for the number of bytes written to the socket handle in Binding (

1337).

Exceptions Exceptions

Description

EIdNotConnected (

125)

Raised with the message RSNotConnected when the socket handle for the IOHandler is no longer allocated.

See Also Write (

1312)

WriteBufferFlush ( TIdAntiFreeze (

1318)

2710)

ClosedGracefully (

1324)

BindingAllocated (

1334)

Binding ( OnWork (

1337) 1328)

Internet Direct (Indy) Version 10.1.5

1347

TIdIOHandlerStream Class

Classes

TIdIOHandlerStack Properties The Properties of the TIdIOHandlerStack class are listed here. Properties Property

Description

ReadTimeout (

1348)

Indicates the milliseconds to wait for a readable (

1346) IOHandler connection.

Legend Property

TIdIOHandlerStack.ReadTimeout Property Indicates the milliseconds to wait for a readable (

1346) IOHandler connection.

Pascal property ReadTimeout: Integer; Description ReadTimeout is an Integer property that represents the number of milliseconds to wait for completion of a read request using the methods in the IOHandler. ReadTimeout is used in ReadFromSource to determine how the timeout argument passed to the method is interpreted. When the timeout argument passed to ReadFromSource contains the value IdTimeoutDefault ( 4331), the value from ReadTimeout is used in the method. If the ReadTimeout property contains the value 0 (zero) or the symbolic constant IdTimeoutDefault ( 4331), the value in IdTimeoutInfinite ( 4331) is used as the timeout interval. When ReadTimeout contains a positive non-zero value, the number of milliseconds is used as the timeout interval. IdTimeoutInfinite (

4331) indicates that timeout values are ignored.

The default value for ReadTimeOut is IdTimeoutDefault ( constructor.

4331), as assigned during initialization of the component in the inherited

Set the value in ReadTimeout to a larger value when using a client or a server on a low-bandwidth or congested network. Applications do not normally assign values directly to the ReadTimeout or ConnectTimeout ( Assign values to the corresponding properties in TIdTCPClient ( 2333) or a descendant class.

1324) properties in an IOHandler.

See Also IdTimeoutDefault ( IdDefTimeout (

4331)

3831)

ReadFromSource TIdIOHandler (

1284)

TIdTCPClient (

2333)

TIdIOHandlerStream Class Implements a stream-based IOHandler. File IdIOHandlerStream (

4672)

Hierarchy

1348

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStream Class

Pascal TIdIOHandlerStream = class(TIdIOHandler); Description TIdIOHandlerStream is a TIdIOHandler ( for the IOHandler.

1284) descendant that implements an IOHandler using streams to send and receive data

TIdIOHandlerStream implements methods for the IOHandler framework as specified in TIdIOHandler ( properties used to represent streams for send and receive operations.

1284), and implements

See Also TIdIOHandler (

1284)

TIdIOHandlerStream Members The following tables list the members exposed by TIdIOHandlerStream. Properties Property

Description

ClosedGracefully ( ConnectTimeout ( Destination (

Indicates that the connection has been closed by the peer for a connection.

1324)

Milliseconds to wait for successful completion of a connection attempt.

1325)

FreeStreams ( Host (

1324)

Endpoint for the IOHandler connection.

1355)

Indicates the stream instances are owned by the IOHandler.

1325)

Identifies the address for the endpoint of the IOHandler connection.

InputBuffer ( Intercept (

1325)

Represents the internal storage for values received on the IOHandler connection.

1326)

LargeStream (

Intermediary for actions using the transport and the IOHandler for the connection.

1326)

MaxCapturedLines (

Indicates byte counts read from or written to the IOHandler should use a 64-bit data type. 1327)

Maximum number of lines permitted when capturing multi-line messages or responses.

MaxLineAction (

1327)

Indicates the action performed when the maximum line length is exceeded.

MaxLineLength (

1327)

Determines the maximum length of a line read from the IOHandler for the connection.

OnWork (

1328)

OnWorkBegin ( OnWorkEnd (

1329)

Opened ( Port (

Event handler for buffered read and write ( 1328)

1329)

1312) operations.

Event handler signalled when a read or write (

1312) request is started.

Event handler signalled when a read or write (

1312) request is completed.

Indicates if buffer and state properties have been initialized for the IOHandler.

1329)

Port number for the IOHandler connection.

ReadLnTimedout ( ReadTimeout (

1330)

Indicates a timeout occurred when reading a line of text from the IOHandler.

1330)

ReceiveStream (

Indicates the milliseconds to wait for a readable (

1355)

1300) IOHandler connection.

Stream used for reading from the IOHandler.

RecvBufferSize (

1330)

Indicates the number of bytes to read reading large amounts of data.

SendBufferSize (

1331)

Indicates the buffer size used when writing large chunks of data to the IOHandler connection.

SendStream (

1356)

Stream used for writing to the IOHandler.

StreamType ( Version (

1356)

Indicate the operations permitted using the data source for the IOHandler.

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

WriteBufferThreshhold (

1331)

Methods Method

Description

AfterAccept ( AllData (

1289)

Specifies the method used to initialize an IOHandler after a new connection request.

1289)

BeginWork (

Retrieves all data from a connection.

356)

Triggers the OnBeginWork event.

CheckForDataOnSource ( CheckForDisconnect ( Close (

1351)

1351)

1352)

CloseGracefully ( Connected (

Determine if data is available in the unbuffered communication layer for the connection. Checks state and status information on the transport for the IO handler. Closes the IO handler and associated Intercepts and transports.

1296)

1352)

Updates the ClosedGracefully ( Indicates the connection is open (

Destroy (

357)

Frees the object instance.

Destroy (

1296)

Frees the object instance.

Internet Direct (Indy) Version 10.1.5

1324) property that indicates the connection has been closed by the peer. 1353), and stream(s) are assigned.

1349

TIdIOHandlerStream Class DoWork (

357)

EndWork (

Triggers the OnWork event handler.

358)

GetVersion (

Classes

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

InputBufferAsString (

1297)

Provides access to the contents of the Indy input buffer in string form.

InputBufferIsEmpty (

1297)

Indicates the input buffer for the IOHandler does not contain any data.

InputBufferToStream ( InputLn (

1298)

1298)

Reads a line of data from the connection.

MakeDefaultIOHandler ( MakeIOHandler ( Open (

1299)

1299)

1353)

Readable (

Stores the contents of the input buffer to a stream. Creates an instance of the IOHandler using the default class factory. Creates a new instance of an IOHandler using the specified class reference. Prepares the stream-based IOHandler for subsequent read and write (

1354)

ReadBytes (

1301)

Perform a read request for IOHandler.

ReadCardinal (

1301)

Reads the ordinal data type from the IOHandler connection.

ReadChar (

1302)

Reads the simple data type from the IOHandler connection.

ReadInt64 (

1302)

Reads a 64-bit Integer data type from the data source for the IOHandler.

ReadInteger (

1303)

Reads the data type from the IOHandler connection.

ReadLnSplit (

1306)

Reads a line from the Indy buffer.

ReadLnWait ( ReadSmallInt (

1307)

ReadString (

SetDefaultClass (

Reads data from the IOHandler into a stream. Reads a Delphi string from the IOHandler buffer.

1310)

RegisterIOHandler (

Reads one or more lines of text from the IOHandler into a TIdStrings ( 1310)

3089) instance.

Guaranteess that the IOHandler class exists in the registered IOHandler class list.

1311)

267)

Create (

1274)

Capture (

1290)

ReadLn (

1304)

Write (

Reads the data type from the IOHandler connection.

1308)

1309)

ReadStrings (

CType (

Waits for a line of text to be read from the IOHandler.

1307)

ReadStream (

1312) requests.

Indicates if the IOHandler is ready to perform a read request.

1311)

WriteBufferFlush (

1318)

WriteBufferOpen (

1320)

Create ( WaitFor (

1353) 1311)

Searches for a specific value in the input received from the data source for the IOHandler.

WriteBufferCancel (

1317)

Clears and cancels write (

1312) buffering for the IOHandler.

WriteBufferClear (

1317)

Discards any exisitng data in the write (

WriteBufferClose (

1318)

Disables uses write (

WriteBufferingActive (

1319)

Indicates if write (

WriteDirect ( WriteFile ( WriteLn (

1354) 1321)

1322)

WriteRFCStrings (

1312) buffering mechanism.

1312) buffering for the IOHandler connection.

1312) buffering is enabled for the IOHandler.

Implements physical writes to the send stream in the stream-based IOHandler. Writes the contents of a local file to the IOHandler. Writes a string value to IOHandler.

1322)

Writes a list of RFC-compatible strings to the peer for the IOHandler class instance.

Events Event

Description

OnGetStreams ( OnStatus (

1357)

359)

Event handler signalled for creating streams for the IOHandler. Represents the current connection status event handler.

Legend Method virtual Property read only Event

TIdIOHandlerStream Methods The Methods of the TIdIOHandlerStream class are listed here.

1350

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStream Class

Methods Method

Description

CheckForDataOnSource ( CheckForDisconnect ( Close (

Open (

1351)

1352)

Connected ( Create (

1351)

1352)

Determine if data is available in the unbuffered communication layer for the connection. Checks state and status information on the transport for the IO handler. Closes the IO handler and associated Intercepts and transports. Indicates the connection is open (

1353), and stream(s) are assigned.

1353) 1353)

Readable ( WriteDirect (

1354) 1354)

Prepares the stream-based IOHandler for subsequent read and write (

1312) requests.

Indicates if the IOHandler is ready to perform a read request. Implements physical writes to the send stream in the stream-based IOHandler.

Legend Method virtual

TIdIOHandlerStream.CheckForDataOnSource Method Determine if data is available in the unbuffered communication layer for the connection. Pascal procedure CheckForDataOnSource( ATimeout: Integer = 0 ); override; Parameters Parameters

Description

ATimeout

Milliseconds to wait for the connection to become readable (

1354), or to return data.

Description CheckForDataOnSource is an overridden procedure used to allow inspection of the unbuffered data source for the connection in the IOHandler. CheckForDataOnSource is an empty implementation in TIdIOHandlerStream ( method from the ancestor.

1348) that simply implements the abstract virtual

See Also TIdIOHandlerStream.ReadFromSource

TIdIOHandlerStream.CheckForDisconnect Method Checks state and status information on the transport for the IO handler. Pascal procedure CheckForDisconnect( ARaiseExceptionIfDisconnected: Boolean = True; AIgnoreBuffer: Boolean = False ); override; Parameters Parameters

Description

ARaiseExceptionIfDisconnected

Indicates if exceptions are raised when the connection has closed prematurely.

AIgnoreBuffer

Indicates if data in the Indy buffer is ignored when the connection has closed prematurely.

Description CheckForDisconnect is an overridden procedure used to inspect the status of the connection prior to or following a method call that performs an IO operation. CheckForDisconnect is used primarily to ensure that state and status properties for the IOHandler are synchronized with the underlying transport mechanism. CheckForDisconnect is an empty implementation in TIdIOHandlerStream ( Internet Direct (Indy) Version 10.1.5

1348). It is used to implement the abstract virtual 1351

TIdIOHandlerStream Class

Classes

method from the ancestor class.

TIdIOHandlerStream.Close Method Closes the IO handler and associated Intercepts and transports. Pascal procedure Close; override; Description Close is a overridden procedure used to ensure that an assigned Intercept ( the IO handler is closed.

1326) for the connection is also disconnected when

Close calls the inherited Close method. Close also frees the stream instances assigned to ReceiveStream ( indicates that the IOHandler is the owner of the streams. Use Open ( instances.

1353) to open (

1355) and SendStream (

1353) the IOHandler and trigger the OnGetStreams (

1356) when FreeStreams (

1355)

1357) event handler for initializing stream

See Also TIdIOHandlerStream.ReceiveStream (

1355)

TIdIOHandlerStream.SendStream (

1356)

TIdIOHandlerStream.FreeStreams (

1355)

TIdIOHandlerStream.Connected Method Indicates the connection is open (

1353), and stream(s) are assigned.

Pascal function Connected: Boolean; override; Returns Boolean - True when the connection is open (

1353), or data exists in the Indy buffer.

Description Connected is an overidden Boolean function used to indicate that connection for the IOHandler has been established, and that a stream (or streams) have been assigned for the IOHandler. The return value for the function is True when valid stream instances are assigned for the IOHandler. Connected uses StreamType ( 1356) to determine the streams be checked for valid stream instances in the IOHandler. Connected returns True when the following conditions are met for the indicated StreamType ( 1356):

Stream Type

Condition

stRead

ReceiveStream (

stWrite

SendStream (

stReadWrite

Both ReceiveStream (

1355) is assigned.

1356) is assigned. 1355) and SendStream (

1356) are assigned.

See Also TIdIOHandlerStream.StreamType ( TIdIOHandlerStreamType (

1352

1356)

2960)

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStream Class

TIdIOHandlerStream.Create Constructor Overload List Method

Description

TIdIOHandlerStream.Create (TIdNativeComponent) ( 1353) TIdIOHandlerStream.Create (TIdNativeComponent, TIdStream, TIdStream) ( 1353)

TIdIOHandlerStream.Create Constructor (TIdNativeComponent) Pascal constructor Create( AOwner: TIdNativeComponent ); overload; reintroduce; Parameters Parameters

Description

AOwner

Type is TIdNativeComponent (

3061).

Description Create is an overloaded reintroduced constructor method. See Also TIdIOHandlerStream.Create

TIdIOHandlerStream.Create Constructor (TIdNativeComponent, TIdStream, TIdStream) Pascal constructor Create( AOwner: TIdNativeComponent; AReceiveStream: TIdStream; ASendStream: TIdStream = nil ); virtual; overload; reintroduce; Parameters Parameters

Description

AOwner

Type is TIdNativeComponent (

AReceiveStream

Type is TIdStream (

3087).

ASendStream

Type is TIdStream (

3087). Default value is nil.

3061).

Description Create is an overloaded reintroduced virtual constructor method. See Also TIdIOHandlerStream.Create

TIdIOHandlerStream.Open Method Prepares the stream-based IOHandler for subsequent read and write (

1312) requests.

Pascal procedure Open; override; Description Open is an overridden procedure used to prepare the IOHandler for read and write ( Internet Direct (Indy) Version 10.1.5

1312) operations. 1353

TIdIOHandlerStream Class

Classes

Open calls the inherited Open method. Open triggers the OnGetStream event handler, when it has been assigned, using ReceiveStream ( 1356) as arguments. Set the value for StreamType ( Use Close (

1355) and SendStream (

1356) in the OnGetStream event handler or the application creating the IOHandler.

1352) to disable the IOHandler for subsequent read or write (

1312) operations.

See Also TIdIOHandlerStream.OnGetStream TIdIOHandlerStream.StreamType ( TIdIOHandlerStream.Close (

1356)

1352)

TIdIOHandlerStream.Readable Method Indicates if the IOHandler is ready to perform a read request. Pascal function Readable( AMSec: integer = IdTimeoutDefault ): boolean; override; Parameters Parameters

Description

AMSec

Number of milliseconds to wait for an IOHandler connection to become ready for a read operation.

Returns Boolean - True when the connection is ready for the IO request. Description Readable is an overridden Boolean function that indicates if the IOHandler is ready to perform an IO request. AMSec indicates the number of milliseconds to wait for the IOHandler connection to become ready for the read operation. The return value for the method is True when ReceiveStream ( is not positioned at its end.

1355) has been assigned a valid stream instance, and the stream

See Also TIdIOHandlerStream.ReceiveStream (

1355)

TIdIOHandlerStream.WriteDirect Method Implements physical writes to the send stream in the stream-based IOHandler. Pascal procedure WriteDirect( var aBuffer: TIdBytes ); override; Parameters Parameters

Description

aBuffer

Values to be written to the stream-based IOHandler.

Description WriteDirect is an overridden procedure that implements physical writes to the SendStream ( stream-based IOHandler. ABuffer contains the values to be written to the SendStream ( WriteDirect ensures that SendStream (

1354

1356) for methods in the

1356) for the stream-based IOHandler.

1356) contains a valid stream instance prior to writing to the TIdStreamVCL (

2709)

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStream Class

wrapper for the stream instance. WriteDirect calls the inherited Write ( using the values in ABuffer.

1312) method, and calls the TIdStreamVCL.Write (

1312) method for stream wrapper class

See Also TIdStreamVCL ( SendStream (

2709) 1356)

TIdIOHandlerStream Properties The Properties of the TIdIOHandlerStream class are listed here. Properties Property

Description

FreeStreams (

1355)

ReceiveStream ( SendStream ( StreamType (

Indicates the stream instances are owned by the IOHandler.

1355)

Stream used for reading from the IOHandler.

1356)

Stream used for writing to the IOHandler.

1356)

Indicate the operations permitted using the data source for the IOHandler.

Legend Property read only

TIdIOHandlerStream.FreeStreams Property Indicates the stream instances are owned by the IOHandler. Pascal property FreeStreams: Boolean; Description FreeStreams is a Boolean property used to indicate if the stream instances in SendStream ( are owned by the IOHandler.

1356) and ReceiveStream (

FreeStreams is used in Close ( 1352). When FreeStreams is True, stream instances allocated to the ReceiveStream ( SendStream ( 1356) properties are freed in the destructor. The default value for FreeStreams is True, as assigned in the Create (

1355)

1355) and

1353) method.

Change the value for FreeStreams to False if streams instances are handled in the application. Use OnGetStream to create (

1353) stream instances for the IOHandler.

See Also TIdIOHandlerStream.Close (

1352)

TIdIOHandlerStream.Create (

1353)

TIdIOHandlerStream. Destroy (

1296)

TIdIOHandlerStream.ReceiveStream ( TIdIOHandlerStream.SendStream (

1355)

1356)

TIdIOHandlerStream.OnGetStream

TIdIOHandlerStream.ReceiveStream Property Stream used for reading from the IOHandler.

Internet Direct (Indy) Version 10.1.5

1355

TIdIOHandlerStream Class

Classes

Pascal property ReceiveStream: TIdStream; Description ReceiveStream is a read-only TStream property that represents the stream used for reading from the IOHandler data source when StreamType ( 1356) contains stRead or stReadWrite. The stream instance in ReceiveStream is assigned using the argument provided in Create ( Use SendStream (

1353).

1356) to access the stream used for writing to the IOHandler.

Use OnGetStream to create (

1353) and/or update the streams used for the IOHandler.

ReceiveStream is freed in Close (

1352) when FreeStreams (

1355) contains True.

TIdIOHandlerStream.SendStream Property Stream used for writing to the IOHandler. Pascal property SendStream: TIdStream; Description SendStream is a read-only TStream property that represents the stream used for writing to the IOHandler data source when StreamType ( 1356) contains stWrite or stReadWrite. The stream instance in SendStream is assigned using the argument provided in Create ( Use ReceiveStream (

1353).

1355) to access the stream used for reading from the IOHandler.

Use OnGetStream to create (

1353) and/or update the streams used for the IOHandler.

SendStream is freed in Close (

1352) when FreeStreams (

1355) contains True.

TIdIOHandlerStream.StreamType Property Indicate the operations permitted using the data source for the IOHandler. Pascal property StreamType: TIdIOHandlerStreamType; Description StreamType is a TIdIOHandlerStreamType ( source for the IOHandler.

2960) property used to indicate the types of operations permitted using the data

StreamType is used in Connected ( 1352) to determine when valid stream instances are assigned for the property value. StreamType values indicate the following:

Value

Meaning

stRead

ReceiveStream (

stWrite

SendStream (

stReadWrite

Both ReceiveStream (

1355) is assigned.

1356) is assigned. 1355) and SendStream (

The default value for StreamType is stReadWrite as assigned in the Create (

1356) are assigned.

1353) method.

TIdIOHandlerStream Events The Events of the TIdIOHandlerStream class are listed here. 1356

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStreamMsg Class

Events Event

Description

OnGetStreams (

1357)

Event handler signalled for creating streams for the IOHandler.

Legend Event

TIdIOHandlerStream.OnGetStreams Event Event handler signalled for creating streams for the IOHandler. Pascal property OnGetStreams: TIdOnGetStreams; Description OnGetStreams is a TIdOnGetStreams ( created for the IOHandler.

3070) property that represents the event handler signalled when stream(s) need to be

OnGetStreams is triggered in Open ( 1353) when an event handler has been assigned for the property. The ReceiveStream ( 1355) and SendStream ( 1356) properties are passed as arguments to the event handler. Assign a procedure to the event handler to allow responding to the TIdOnGetStreams (

3070) event notification.

Change the value in FreeStreams ( 1355) to False if the stream instances in ReceiveStream ( should be freed by the application instead of in the destructor for the IOHandler.

1355) and SendStream (

1356)

See Also TIdOnGetStreams (

3070)

TIdIOHandlerStream.Open (

1353)

TIdIOHandlerStream.ReceiveStream (

1355)

TIdIOHandlerStream.SendStream (

1356)

TIdIOHandlerStream.FreeStreams (

1355)

TIdIOHandlerStreamMsg Class Implements a stream-aware IOHandler used to capture (

1290) RFC 2822-compliant messages.

File IdMessageClient (

4683)

Hierarchy

Pascal TIdIOHandlerStreamMsg = class(TIdIOHandlerStream); Description TIdIOHandlerStreamMsg is a TIdIOHandlerStream ( capture ( 1290) RFC 2822-compliant messages.

1348) descendant that implements a stream-aware IOHandler used to

TIdIOHandlerStreamMsg extends the ancestor class by implementing properties and methods needed to read data from the stream data source, and to detect when the RFC 2822-compliant message was properly terminated during receipt. TIdIOHandlerStreamMsg is used in the implementation of the TIdMessageClient.ProcessMessage ( 1558) method, and isolates the differences between loading a message from a file and loading a message from and incoming TCP stream. Internet Direct (Indy) Version 10.1.5

1357

TIdIOHandlerStreamMsg Class

Classes

See Also TIdIOHandlerStream (

1348) TIdMessageClient.ProcessMessage (

1558)

TIdIOHandlerStreamMsg Members The following tables list the members exposed by TIdIOHandlerStreamMsg. Properties Property

Description

ClosedGracefully ( ConnectTimeout ( Destination (

Indicates that the connection has been closed by the peer for a connection.

1324)

Milliseconds to wait for successful completion of a connection attempt.

1325)

FreeStreams ( Host (

1324)

Endpoint for the IOHandler connection.

1355)

Indicates the stream instances are owned by the IOHandler.

1325)

Identifies the address for the endpoint of the IOHandler connection.

InputBuffer ( Intercept (

1325)

Represents the internal storage for values received on the IOHandler connection.

1326)

LargeStream (

Intermediary for actions using the transport and the IOHandler for the connection.

1326)

MaxCapturedLines (

Indicates byte counts read from or written to the IOHandler should use a 64-bit data type. 1327)

Maximum number of lines permitted when capturing multi-line messages or responses.

MaxLineAction (

1327)

Indicates the action performed when the maximum line length is exceeded.

MaxLineLength (

1327)

Determines the maximum length of a line read from the IOHandler for the connection.

OnWork (

1328)

OnWorkBegin ( OnWorkEnd (

1329)

Opened ( Port (

Event handler for buffered read and write ( 1328)

1329)

1312) operations.

Event handler signalled when a read or write (

1312) request is started.

Event handler signalled when a read or write (

1312) request is completed.

Indicates if buffer and state properties have been initialized for the IOHandler.

1329)

Port number for the IOHandler connection.

ReadLnTimedout ( ReadTimeout (

1330)

Indicates a timeout occurred when reading a line of text from the IOHandler.

1330)

ReceiveStream (

Indicates the milliseconds to wait for a readable (

1355)

1300) IOHandler connection.

Stream used for reading from the IOHandler.

RecvBufferSize (

1330)

Indicates the number of bytes to read reading large amounts of data.

SendBufferSize (

1331)

Indicates the buffer size used when writing large chunks of data to the IOHandler connection.

SendStream (

1356)

Stream used for writing to the IOHandler.

StreamType ( Version (

1356)

Indicate the operations permitted using the data source for the IOHandler.

269)

WorkTarget (

Identifies the version number for the Indy component suite.

359)

Indy component to receive work mode events for the current object instance.

WriteBufferThreshhold (

1331)

Methods Method

Description

AfterAccept ( AllData (

1289)

BeginWork (

Retrieves all data from a connection.

356)

Triggers the OnBeginWork event.

CheckForDataOnSource (

1294)

Determine if data is available in the unbuffered communication layer for the connection.

CheckForDataOnSource (

1351)

Determine if data is available in the unbuffered communication layer for the connection.

CheckForDisconnect (

1295)

Checks state and status information on the transport for the IO handler.

CheckForDisconnect (

1351)

Checks state and status information on the transport for the IO handler.

Close (

1295)

Close (

1352)

CloseGracefully (

Closes the IO handler and associated Intercepts and transports. Closes the IO handler and associated Intercepts and transports. 1296)

Updates the ClosedGracefully (

1324) property that indicates the connection has been closed by the peer.

Connected (

1296)

Indicates the connection is open (

1300), or data exists in the Indy buffer.

Connected (

1352)

Indicates the connection is open (

1353), and stream(s) are assigned.

Create (

1360)

Destroy (

357)

Frees the object instance.

Destroy (

1296)

Frees the object instance.

DoWork (

357)

Triggers the OnWork event handler.

EndWork ( GetVersion (

1358

Specifies the method used to initialize an IOHandler after a new connection request.

1289)

358)

Triggers the OnEndWork event handler.

269)

Version (

269) number for Indy component suite.

InputBufferAsString (

1297)

Provides access to the contents of the Indy input buffer in string form.

InputBufferIsEmpty (

1297)

Indicates the input buffer for the IOHandler does not contain any data.

Internet Direct (Indy) Version 10.1.5

Classes

TIdIOHandlerStreamMsg Class

InputBufferToStream ( InputLn (

1298)

1298)

Reads a line of data from the connection.

MakeDefaultIOHandler ( MakeIOHandler (

Stores the contents of the input buffer to a stream.

1299)

1299)

Creates an instance of the IOHandler using the default class factory. Creates a new instance of an IOHandler using the specified class reference.

Open (

1300)

Prepares the IOHandler for subsequent read and write (

Open (

1353)

Prepares the stream-based IOHandler for subsequent read and write (

Readable (

1360)

1312) requests.

ReadBytes (

1301)

Perform a read request for IOHandler.

ReadCardinal (

1301)

Reads the ordinal data type from the IOHandler connection.

ReadChar (

1302)

Reads the simple data type from the IOHandler connection.

ReadInt64 (

1302)

Reads a 64-bit Integer data type from the data source for the IOHandler.

ReadInteger (

1303)

Reads the data type from the IOHandler connection.

ReadLnSplit (

1306)

Reads a line from the Indy buffer.

ReadLnWait ( ReadSmallInt (

1307)

ReadString (

SetDefaultClass (

Reads data from the IOHandler into a stream. Reads a Delphi string from the IOHandler buffer.

1310)

RegisterIOHandler (

Reads one or more lines of text from the IOHandler into a TIdStrings ( 1310)

3089) instance.

Guaranteess that the IOHandler class exists in the registered IOHandler class list.

1311)

267)

Create (

1274)

Capture (

1290)

ReadLn (

1304)

Write (

Reads the data type from the IOHandler connection.

1308)

1309)

ReadStrings (

CType (

Waits for a line of text to be read from the IOHandler.

1307)

ReadStream (

1312) requests.

Indicates if the IOHandler is ready to perform input operations.

1311)

WriteBufferFlush (

1318)

WriteBufferOpen (

1320)

Create (

1353)

WaitFor (

1311)

Searches for a specific value in the input received from the data source for the IOHandler.

WriteBufferCancel (

1317)

Clears and cancels write (

1312) buffering for the IOHandler.

WriteBufferClear (

1317)

Discards any exisitng data in the write (

WriteBufferClose (

1318)

Disables uses write (

WriteBufferingActive (

1319)

Indicates if write (

WriteDirect ( WriteDirect ( WriteFile ( WriteLn (

1312) buffering mechanism.

1312) buffering for the IOHandler connection.

1312) buffering is enabled for the IOHandler.

1321)

Moves values to the socket-level transport for the IOHandler.

1354)

Implements physical writes to the send stream in the stream-based IOHandler.

1321) 1322)

WriteRFCStrings (

Writes the contents of a local file to the IOHandler. Writes a string value to IOHandler.

1322)

Writes a list of RFC-compatible strings to the peer for the IOHandler class instance.

Events Event

Description

OnGetStreams ( OnStatus (

1357)

359)

Event handler signalled for creating streams for the IOHandler. Represents the current connection status event handler.

Legend Method virtual abstract Property read only Event

TIdIOHandlerStreamMsg Methods The Methods of the TIdIOHandlerStreamMsg class are listed here. Methods Method Create (

Description 1360)

Internet Direct (Indy) Version 10.1.5

1359

TIdIOHandlerStreamMsg Class Readable (

1360)

Classes Indicates if the IOHandler is ready to perform input operations.

Legend Constructor virtual

TIdIOHandlerStreamMsg.Create Constructor Pascal constructor Create( AOwner: TIdNativeComponent; AReceiveStream: TIdStream; ASendStream: TIdStream = nil ); override; Parameters Parameters

Description

AOwner

Owner of the object instance.

AReceiveStream

Stream used for input in the stream-aware IOHandler.

ASendStream

Stream used for output in the stream-aware IOHandler.

Description Create is the overridden constructor for the object instance. AOwner is the component that owns the object instance, or Nil when an owner is not specified. AReceiveStream is the stream used for performing input in the stream-aware IOHandler. ASendStream is the stream used for performing output in the stream-aware IOHandler. Create calls the inherited constructor, and assigns the default values for the internal member variables used in the stream-aware IOHandler. Use Destroy (

1296) to free the object instance.

See Also Destroy (

1296)

TIdIOHandlerStreamMsg.Readable Method Indicates if the IOHandler is ready to perform input operations. Pascal function Readable( AMSec: integer = IdTimeoutDefault ): Boolean; override; Parameters Parameters

Description

AMSec

Milliseconds to wait for the IOHandler to be ready for input operations. Default value is IdTimeoutDefault ( 4331).

Returns Boolean - True when the IOHandler is ready and a timeout has not occurred. Description Readable is an overridden Boolean function in TIdIOHandlerStreamMsg ( 1357) that indicates if the IOHandler is ready to perform input operations using the ReceiveStream ( 1355) for the stream-aware IOHandler. AMSec indicates the number of Milliseconds to wait for the IOHandler to be ready for input operations. The default value is IdTimeoutDefault ( 4331). If a previous message termination sequence (CRLF.CRLF) has not been read from the stream data source, the inherited Readble 1360

Internet Direct (Indy) Version 10.1.5

Classes

TIdIPAddress Class

method is called, and the return value for the method is set to True. The return value for the method is False when the ReceiveStream ( has been previously read from the stream data source.

1355) is unassigned, or the message termination sequence

See Also TIdIOHandlerStream.Readable (

1354)

TIdIPAddress Class Represents Internet Addresses in the format required for in IPv4 (

1365) or IPv6 (

1366).

File IdIPAddress (

4672)

Hierarchy

Pascal TIdIPAddress = class(TObject); Description TIdIPAddress is a TObject descendant used to represent Internet Addresses in the format required for in IPv4 ( 1366).

1365) or IPv6 (

TIdIPAddress implements properties used to read and write the Internet Address as Cardinal, String, and TIdBytes ( types. TIdIPAddress implements methods used to create (

3007) data

1363) a TIdIPAddress instance and to compare IP addresses.

See Also TIdIPv6Address ( TIdIPVersion ( TIdBytes (

3040)

2962)

3007)

TIdIPAddress Members The following tables list the members exposed by TIdIPAddress. Properties Property

Description

AddrType (

1364)

HToNBytes ( IPAsString ( IPv4 (

Converts an IP address to its Network byte-order representation.

1365)

Converts an IP address to its representation as a string.

1365)

Represents an IPv4 IP address as a Cardinal value.

IPv4AsString ( IPv6 (

Indicates the format used for the IP address.

1364)

1365)

1366)

Represents the IP address in 32-bit dotted-decimal format. Represents an IPv6 IP address as a 64-bit value.

IPv6AsString (

1366)

Represents the IP address in 64-bit colon-delimited hexadecimal format.

Methods Method

Description

CompareAddress ( Create (

1362)

1363)

GetHToNBytes (

Compares the current IP address to a specifed value. Constructor for the object instance.

1363)

MakeAddressObject (

1363)

Internet Direct (Indy) Version 10.1.5

Creates a TIdIPAddress (

1361) instance for an IP Address.

1361

TIdIPAddress Class

Classes

Legend Method virtual Property read only

TIdIPAddress Methods The Methods of the TIdIPAddress class are listed here. Methods Method

Description

CompareAddress ( Create (

1362)

1363)

GetHToNBytes (

Compares the current IP address to a specifed value. Constructor for the object instance.

1363)

MakeAddressObject (

1363)

Creates a TIdIPAddress (

1361) instance for an IP Address.

Legend Method virtual

TIdIPAddress.CompareAddress Method Compares the current IP address to a specifed value. Pascal function CompareAddress( const AIP: String; var Err: Boolean ): Integer; Parameters Parameters

Description

AIP

IP address to compare to the object instance.

Err

Indicates an error when tryng to compare IPv4 (

1365) and IPv6 (

1366) addresses.

Returns Integer - 0 when the IP addresses are the same. Description CompareAddress is an Integer function used to compare the current value of the IP address to the IP address indicated in AIP. CompareAddress uses the Cardinal value (for IPv4 ( 1365)) or the Word value (for IPv6 ( 1366)) for the IP addresses when performing the comparision. The return value for the function indicates the following:

Value Meaning ---- ----------------------------------------------------0 Current IP address is the same as the indicated IP. >0 Current IP address is greater than the indicated IP.

" " ' ' Use StrXHtmlEncode ( representation.

2915) to convert a string containing HTML reserved characters to their HTML Entity reference

StrXHtmlDecode handles the ' character entity which is not defined in HTML 4. See Also StrXHtmlEncode (

2915) StrHtmlEncode (

2909) StrHtmlDecode (

2908)

StrXHtmlEncode Function Converts a string containing reserved XHTML characters to a string using XHTML Character Entity references. File IdStrings (

4732)

Pascal function StrXHtmlEncode( const ASource: String ): String; Parameters Parameters

Description

ASource

Values to be converted to their representation as an XHTML Entity reference.

Returns String - String containing XHTML Entity references. Description StrXHtmlEncode is a String function used to convert values in ASource that may contain reserver XHTML characters to their representation as XHTML CHaracter Entities. StrXHtmlEncode will convert the following reserved XHTML characters to the following representations:

&

&




"

"

Internet Direct (Indy) Version 10.1.5

2915

TextStartsWith Function

Functions

'

'

Use StrXHtmlDecode (

2914) to convert a string containing XHTML Character Entity references to its string representation.

StrXHtmlEncode encodes the ' character to its representation as the character entity ' which is not defined for HTML 4. See Also StrXHtmlDecode (

2914) StrHtmlEncode (

2909) StrHtmlDecode (

2908)

TextIsSame Function Compares strings based on the current locale without case sensitivity. File IdGlobal (

4650)

Pascal function TextIsSame( const A1: string; const A2: string ): Boolean; Parameters Parameters

Description

A1

String value used for the comparision.

A2

String value used for the comparision.

Returns Boolean - True when the values are the same. Description TextIsSame is a Boolean function used to determine if the content of the string in A1 and A2 are the same without case sensitivity. The return value is true if the two strings have the same value, false otherwise. TextIsSame isolates the differences between string handling routines on the Windows and .Net platforms, and provides a utility function used throughout the Indy library.

On the .Net platform, TextIsSame uses the built-in Compare method for the string data type to perform the comparision.

On all other platforms, TextIsSame uses the AnsiCompareText function for to perform the comparision. Use TextStartsWith (

2916) to perform a case-insensitive comparision for a substring at the beginning of a string.

See Also TextStartsWith (

2916)

TextStartsWith Function Checks for the specified substring at the beginning of the specified text. File IdGlobal ( 2916

4650) Internet Direct (Indy) Version 10.1.5

Functions

Ticks Function

Pascal function TextStartsWith( const S: string; const SubS: string ): Boolean; Parameters Parameters

Description

S

Text to be examined for the specified substring at its' origin.

SubS

String to look for at the origin of the specified string.

Returns Boolean - True when the string begins with the specified substring. Description TextStartsWith is a Boolean function used to determine if the text specified in S begins with the value specified in SubS. TextStartsWith is a convenience function that also encapsulates the platform- or OS-specific mechanisms require to perform the text comparision.

For the .Net platform, TextStartsWith calls the Compare method in the System.String class using the indicated string and substring to perform a case-insensitive comparision.

For the Windows operating system, the CompareString function in the Win32 API is called to perform a case-insensitive comparision.

On the Linux platform, the AnsiCompareText method from the Sys ( comparision.

4733) class helper is called to perform a case-insensitive

TextStartsWith returns True when the specified substring occurs at the beginning of the specified string. Use TextIsSame (

2916) to perform a case-insensitive comparison for the entire contents of two string values.

See Also TextIsSame (

2916)

Ticks Function Retrieves the number of milliseconds since the computer was started. File IdGlobal (

4650)

Pascal function Ticks: Cardinal; Returns Cardinal - Number of milliseconds (ticks). Description Ticks is a Cardinal function used to retrieve the number of milliseconds since the computer was started. Ticks is often used when calculating the response times for components in the Indy library, such as TIdEcho ( 629) and TIdTime ( 2475). Ticks encapsulates the platform-specific calls necessary to provide a high resolution timer for fixed duration events. Internet Direct (Indy) Version 10.1.5

2917

TimeZoneBias Function

Functions

On the Windows and .Net platforms, the API functions QueryPerformanceFrequency and QueryPerformanceCounter are used to initialize and calculate the return value. On Windows platforms that do not implement the API functions, the GetTickCount function in Windows.pas is used.

On the Linux platform, Ticks uses the gettimeofday library function clock adjusted to thousandths of CLOCKS_PER_SECs. See Also GetTickDiff (

2813)

TIdVSEPQDispositionDispositionCode Function File IdFTPCommon (

4631)

Pascal function TIdVSEPQDispositionDispositionCode( const ADisp: TIdVSEPQDisposition ): Char; Parameters Parameters

Description

ADisp

Scope is const. Type is TIdVSEPQDisposition (

2983).

Returns Char Description TIdVSEPQDispositionDispositionCode is a function. TIdVSEPQDispositionDispositionCode returns a Char value.

TimeHHMMSS Function File IdFTPCommon (

4631)

Pascal function TimeHHMMSS( const AData: String ): TIdDateTime; Parameters Parameters

Description

AData

Scope is const. Type is String.

Returns TIdDateTime (

4733)

Description TimeHHMMSS is a function. TimeHHMMSS returns a TIdDateTime ( 2918

4733) value. Internet Direct (Indy) Version 10.1.5

Functions

ToBytes Function

TimeZoneBias Function File IdGlobalProtocols (

4654)

Pascal function TimeZoneBias: TIdDateTime;

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: Byte ): TIdBytes; overload; Parameters Parameters

Description

AValue

Value to be converted to TIdBytes (

3007).

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes (

3007) function used to convert the data type in AValue to the return value for the function.

For the .Net platform, the System.BitConverter.GetBytes method from the framework is used to store the converted values. For all other platforms, the Move procedure from the runtime library is used to store the converted values. ToBytes is a utility function used internally in the Indy library, and isolates the platform-specific requirements for working with Delphi string and .Net array of Byte data types. See Also TIdIOHandler.WriteBytes TIdBuffer.ExtractToBytes (

287)

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: Cardinal ): TIdBytes; overload;

Internet Direct (Indy) Version 10.1.5

2919

ToBytes Function

Functions

Parameters Parameters

Description

AValue

Value to be converted to TIdBytes (

3007).

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes (

3007) function used to convert the data type in AValue to the return value for the function.

For the .Net platform, the System.BitConverter.GetBytes method from the framework is used to store the converted values. For all other platforms, the Move procedure from the runtime library is used to store the converted values. ToBytes is a utility function used internally in the Indy library, and isolates the platform-specific requirements for working with Delphi string and .Net array of Byte data types. See Also TIdIOHandler.WriteBytes TIdBuffer.ExtractToBytes (

287)

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: Char ): TIdBytes; overload; Parameters Parameters

Description

AValue

Value to be converted to TIdBytes (

3007).

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes (

3007) function used to convert the data type in AValue to the return value for the function.

For the .Net platform, the System.BitConverter.GetBytes method from the framework is used to store the converted values. For all other platforms, the Move procedure from the runtime library is used to store the converted values. ToBytes is a utility function used internally in the Indy library, and isolates the platform-specific requirements for working with Delphi string and .Net array of Byte data types. See Also TIdIOHandler.WriteBytes TIdBuffer.ExtractToBytes (

2920

287)

Internet Direct (Indy) Version 10.1.5

Functions

ToBytes Function

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: Int64 ): TIdBytes; overload; Parameters Parameters

Description

AValue

Value to be converted to TIdBytes (

3007).

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes (

3007) function used to convert the data type in AValue to the return value for the function.

For the .Net platform, the System.BitConverter.GetBytes method from the framework is used to store the converted values. For all other platforms, the Move procedure from the runtime library is used to store the converted values. ToBytes is a utility function used internally in the Indy library, and isolates the platform-specific requirements for working with Delphi string and .Net array of Byte data types. See Also TIdIOHandler.WriteBytes TIdBuffer.ExtractToBytes (

287)

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: Integer ): TIdBytes; overload; Parameters Parameters

Description

AValue

Value to be converted to TIdBytes (

3007).

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes (

3007) function used to convert the data type in AValue to the return value for the function.

For the .Net platform, the System.BitConverter.GetBytes method from the framework is used to store the converted values. Internet Direct (Indy) Version 10.1.5

2921

ToBytes Function

Functions

For all other platforms, the Move procedure from the runtime library is used to store the converted values. ToBytes is a utility function used internally in the Indy library, and isolates the platform-specific requirements for working with Delphi string and .Net array of Byte data types. See Also TIdIOHandler.WriteBytes TIdBuffer.ExtractToBytes (

287)

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: Short ): TIdBytes; overload; Parameters Parameters

Description

AValue

Value to be converted to TIdBytes (

3007).

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes (

3007) function used to convert the data type in AValue to the return value for the function.

For the .Net platform, the System.BitConverter.GetBytes method from the framework is used to store the converted values. For all other platforms, the Move procedure from the runtime library is used to store the converted values. ToBytes is a utility function used internally in the Indy library, and isolates the platform-specific requirements for working with Delphi string and .Net array of Byte data types. See Also TIdIOHandler.WriteBytes TIdBuffer.ExtractToBytes (

287)

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: TIdBytes; const ASize: Integer ): TIdBytes; overload;

2922

Internet Direct (Indy) Version 10.1.5

Functions

ToBytes Function

Parameters Parameters

Description

AValue

Bytes values to be converted.

ASize

Number of bytes to include in the converted data type.

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes ( 3007) function used to convert the TIdBytes ( number of byte values specified in ASize.

3007) value in AValue up to and including the

Since AValue is already a TIdBytes ( 3007) data type, no real conversion is required. The return value for the function is resized to the value in ASize, and CopyTIdBytes ( 2746) is called to copy the number of bytes in ASize from AValue into the return value for the function. See Also TIdBytes (

3007)

CopyTIdBytes (

2746)

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: Word ): TIdBytes; overload; Parameters Parameters

Description

AValue

Value to be converted to TIdBytes (

3007).

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes (

3007) function used to convert the data type in AValue to the return value for the function.

For the .Net platform, the System.BitConverter.GetBytes method from the framework is used to store the converted values. For all other platforms, the Move procedure from the runtime library is used to store the converted values. ToBytes is a utility function used internally in the Indy library, and isolates the platform-specific requirements for working with Delphi string and .Net array of Byte data types. See Also TIdIOHandler.WriteBytes TIdBuffer.ExtractToBytes (

287)

Internet Direct (Indy) Version 10.1.5

2923

ToBytesF Function

Functions

ToBytes Function Converts the data type to a TIdBytes (

3007) value.

File IdGlobal (

4650)

Pascal function ToBytes( const AValue: string; const AEncoding: TIdEncoding = enANSI ): TIdBytes; overload; Parameters Parameters

Description

AValue

Value to be converted to TIdBytes (

AEncoding

CHaracter set encoding for values in the array of bytes.

3007).

Returns TIdBytes (

3007) - Results of the data type conversion.

Description ToBytes is an overloaded TIdBytes (

3007) function used to convert the data type in AValue to the return value for the function.

ToBytes is a utility function used internally in the Indy library, and isolates the platform-specific requirements for working with Delphi string and .Net array of Byte data types.

For the .Net platform, the AnsiEncoding.GetBytes method from the framework is used to store the converted values.

For all other platforms, the Move procedure from the runtime library is used to store the converted values. See Also TIdIOHandler.WriteBytes TIdBuffer.ExtractToBytes (

287)

ToBytesF Function File IdGlobal (

4650)

Pascal procedure ToBytesF( var Bytes: TIdBytes; const AValue: Byte ); overload;

2924

Internet Direct (Indy) Version 10.1.5

Functions

ToBytesF Function

ToBytesF Function File IdGlobal (

4650)

Pascal procedure ToBytesF( var Bytes: TIdBytes; const AValue: Cardinal ); overload;

ToBytesF Function File IdGlobal (

4650)

Pascal procedure ToBytesF( var Bytes: TIdBytes; const AValue: Char ); overload;

ToBytesF Function File IdGlobal (

4650)

Pascal procedure ToBytesF( var Bytes: TIdBytes; const AValue: Int64 ); overload;

ToBytesF Function File IdGlobal (

4650)

Pascal procedure ToBytesF( var Bytes: TIdBytes; const AValue: Integer ); overload;

ToBytesF Function File IdGlobal (

4650)

Internet Direct (Indy) Version 10.1.5

2925

ToHex Function

Functions

Pascal procedure ToBytesF( var Bytes: TIdBytes; const AValue: Short ); overload;

ToBytesF Function File IdGlobal (

4650)

Pascal procedure ToBytesF( var Bytes: TIdBytes; const AValue: TIdBytes; const ASize: Integer ); overload;

ToBytesF Function File IdGlobal (

4650)

Pascal procedure ToBytesF( var Bytes: TIdBytes; const AValue: Word ); overload;

ToDo Function File IdGlobal (

4650)

Pascal procedure ToDo; Description TODO. Why put off today, that which can be put off indefinitely? See Also Tomorrow Procrastinate

ToHex Function Converts values to their hexadecimal representation. File IdGlobal ( 2926

4650) Internet Direct (Indy) Version 10.1.5

Functions

TrimAllOf Function

Pascal function ToHex( const AValue: TIdBytes ): AnsiString; overload; Parameters Parameters

Description

AValue

Values to be converted to their hexadecimal representation.

Returns String - Hexadecimal representation for the converted values. Description ToHex is an overloaded String function used to convert the values specified in AValue to a string containing hexadecimal digits. Each byte value in AValue is converted to its 2-byte hexademical representation using IdHexDigits (

3850).

ToHex Function Converts values to their hexadecimal representation. File IdGlobal (

4650)

Pascal function ToHex( const AValue: array of LongWord ): AnsiString; overload; Parameters Parameters

Description

AValue

Values to be converted to their hexadecimal representation.

Returns String - Hexadecimal representation for the converted values. Description ToHex is an overloaded String function used to convert the values specified in AValue to a string containing hexadecimal digits. Each LongWord value in AValue is converted to its 4-byte hexademical representation using IdHexDigits (

3850).

TrimAllOf Function Removes leading and trailing occurrences of the specified characters. File IdStrings (

4732)

Pascal function TrimAllOf( ATrim: String; AText: String ): String;

Internet Direct (Indy) Version 10.1.5

2927

TwoCharToWord Function

Functions

Parameters Parameters

Description

ATrim

Character values to be removed.

AText

Text to be trimmed.

Returns String - Values after removing the specified characters. Description TrimAllOf is a String function that remove all occurrences of character values in ATrim from the beginning and end of the values specified in AText. TrimAllOf is like SysUtils.Trim, but acts upon the characters specified in ATrim instead of the default space character. The return value for TrimAllOf is the values in AText after removing all leading and trailing occurrences of the characters in ATrim. Example sData := TrimAllOf(':[]=', ':[c:tempfilename.ext===]'); // sData contains 'c:tempfilename.ext'

TwoByteToWord Function Converts two byte values to their Word representation. File IdGlobal (

4650)

Pascal function TwoByteToWord( AByte1: Byte; AByte2: Byte ): Word; Parameters Parameters

Description

AByte1

Value to convert to the high-order byte for the data type.

AByte2

Value to convert to the low-order byte for the data type.

Returns Word - Unsigned value for the converted data type. Description TwoByteToWord is a Word function used to convert two byte values specified in AByte1 and AByte2 to their representation as a Word value. AByte1 contains the unsigned integer that will become the high-order byte for the Word value. AByte2 contains the unsigned integer that will become the low-order byte for the Word value. TwoByteToWord uses a TIdBytes ( the return value for the function.

3007) value to prepare the converted data type, and calls BytesToWord (

2729) to determine

See Also TIdBytes (

3007)

BytesToWord (

2928

2729)

Internet Direct (Indy) Version 10.1.5

Functions

UnfoldLines Function

TwoCharToWord Function Converts the specified characters to their representation as a Word data type. File IdGlobalProtocols (

4654)

Pascal function TwoCharToWord( AChar1: Char; AChar2: Char ): Word; Parameters Parameters

Description

AChar1

LSB value for the conversion.

AChar2

MSB value for the conversion.

Returns Word - Unsigned integer representation of the byte values. Description TwoCharToWord is a Word function used to convert the specified characters to their representation as a Word data type. AChar1 and AChar2 represent the LSB and MSB byte values for the Word data type.

uncompress Function File IdZLib (

4757)

Pascal function uncompress( dest: PChar; var destLen: Cardinal; const source: PChar; sourceLen: Cardinal ): Integer; cdecl; Parameters Parameters

Description

dest

Type is PChar.

destLen

Scope is var. Type is Cardinal.

source

Scope is const. Type is PChar.

sourceLen

Type is Cardinal.

Returns Integer Description uncompress is a function. uncompress returns a Integer value.

Internet Direct (Indy) Version 10.1.5

2929

UnixPathToDOSPath Function

Functions

UnfoldLines Function File IdFTPCommon (

4631)

Pascal function UnfoldLines( const AData: String; ALine: Integer; AStrings: TIdStrings ): String; Parameters Parameters

Description

AData

Scope is const. Type is String.

ALine

Type is Integer.

AStrings

Type is TIdStrings (

3089).

Returns String Description UnfoldLines is a function. UnfoldLines returns a String value.

UnixDateTimeToDelphiDateTime Function File IdGlobalProtocols (

4654)

Pascal function UnixDateTimeToDelphiDateTime( UnixDateTime: Cardinal ): TIdDateTime; Parameters Parameters

Description

UnixDateTime

Type is Cardinal.

Returns TDateTime Description UnixDateTimeToDelphiDateTime is a TDateTime function

UnixPathToDOSPath Function File IdFTPCommon (

2930

4631)

Internet Direct (Indy) Version 10.1.5

Functions

UnregisterAuthenticationMethod Function

Pascal function UnixPathToDOSPath( const APath: String ): String; Parameters Parameters

Description

APath

Scope is const. Type is String.

Returns String Description UnixPathToDOSPath is a function. UnixPathToDOSPath returns a String value.

UnquotedStr Function File IdFTPCommon (

4631)

Pascal function UnquotedStr( const AStr: String ): String; Parameters Parameters

Description

AStr

Scope is const. Type is String.

Returns String Description UnquotedStr is a function. UnquotedStr returns a String value.

UnregisterAuthenticationMethod Function Removes a registered authentication class scheme. File IdAuthentication (

4586)

Pascal procedure UnregisterAuthenticationMethod( MethodName: String ); Parameters Parameters

Description

MethodName

Authentication scheme name to remove from the list.

Internet Direct (Indy) Version 10.1.5

2931

VerifyCallback Function

Functions

Description UnregisterAuthenticationMethod is a procedure used to remove the authentication class reference with the name specified in MethodName from the list of registered authentication classes. UnregisterAuthenticationMethod is called during finalization of the IdAuthentication.pas (

4586) unit.

UnregisterFTPListParser Function File IdFTPListParseBase (

4636)

Pascal procedure UnregisterFTPListParser( const AParser: TIdFTPListParseClass ); Parameters Parameters

Description

AParser

Scope is const. Type is TIdFTPListParseClass (

3028).

Description UnregisterFTPListParser procedure.

UpCaseFirst Function File IdGlobalProtocols (

4654)

Pascal function UpCaseFirst( const AStr: string ): string; Parameters Parameters

Description

AStr

The value to be capitalized.

Returns String - The string with the initial letter capitalized. Description UpCaseFirst is a String function that returns a string with the first letter capitalized. All other letters in the string AStr are converted to lower case.

VerifyCallback Function File IdSSLOpenSSL (

4726)

Pascal function VerifyCallback( 2932

Internet Direct (Indy) Version 10.1.5

Functions

WordToStr Function

Ok: Integer; ctx: PX509_STORE_CTX ): Integer; cdecl; Parameters Parameters

Description

Ok

Type is Integer.

ctx

Type is PX509_STORE_CTX.

Returns Integer Description VerifyCallback is a cdecl function. VerifyCallback returns a Integer value.

Win32Type Function Determines the Windows platform and operating system for an Indy application. File IdGlobalProtocols (

4654)

Pascal function Win32Type: TIdWin32Type; Description Win32Type id a TIdWin32Type ( 2983) function that determines the Windows platform and host operating system for an Indy application. Win32Type is not available on the Linux platform. Win32Type uses the values in the Operating System version information to determine the type of platform in use.

WordToStr Function Converts a Word data type to its string representation. File IdGlobalProtocols (

4654)

Pascal function WordToStr( const Value: Word ): String; Parameters Parameters

Description

Value

Word data type to convert to a string.

Returns String - String representation for the Word data type. Description WordToStr is a String function used to convert the Word data type in Value to its string representation.

For the .Net platform, WordToStr calls ToBytes ( Internet Direct (Indy) Version 10.1.5

2919) and BytesToString (

2728) to convert the bytes in Value. 2933

WrapText Function

Functions

For platforms supporting the Borland RTL, WordToStr sets the length of the return value using the SizeOf function and the content of the Value argument. WordToStr call the Move procedure in SysUtils.pas to perform the copy operation that stores the content for the return value. See Also ToBytes (

2919)

BytesToString (

2728)

WordToTwoBytes Function Converts a Word value and stores the two byte values in a ByteArray. File IdGlobalProtocols (

4654)

Pascal procedure WordToTwoBytes( AWord: Word; ByteArray: TIdBytes; Index: integer ); Parameters Parameters

Description

AWord

Ordinal data type to convert and store in an array of bytes.

ByteArray

array if bytes to store the converted value.

Index

Offset into the byte array where the converted value will be stored.

Description WordToTwoBytes is a procedure used to convert a Word value and store the resulting two byte values in the array of bytes specified in ByteArray. Index specifies the zero-based offset into the array of bytes in ByteArray where the converted data tyoe will be stored.

WrapText Function File IdGlobalProtocols (

4654)

Pascal function WrapText( const ALine: string; const ABreakStr: string; const ABreakChars: string; MaxCol: Integer ): string; Parameters Parameters ALine

Description

• content to be folded.

ABreakStr

Sequence of characters used to cause text to be folded to the next line.

ABreakChars

Characters considered as possible line break positions.

MaxCol

Maximum line length to use in the line folding algorithm.

2934

Internet Direct (Indy) Version 10.1.5

Functions

WriteStringToStream Function

Returns string - Content after applying theline folding algorithm. Description WrapText is an String function used to perform line folding for the content found in messages and responses conforming to the Intermet Message format. Typically, WrapText can used when handling email message, and protocol reponses like HTTP. ALine is the original content to be folded using arguments passed to the function. ABreakStr indicates a sequence of characters used to cause text to be folded to the next line. Data in ALine that matches ABreakStr is not subjected to the line folding algorithm (since it already represents a line break). ABreakChars indicates characters that can be considered as a possible line break position when applying the line folding algorithm. MaxCol indicates the desired maximum line length after applying the line folding algorithm. WrapText iterates over the contents of Aline, and applies line folding to the content specified in ALine and stores the result in the return value for the method. Leading characters and text appearing after Quotation characters (QuoteChars) are not bubjected to the line folding algorithm.

WriteMemoryStreamToStream Function Writes the contents of a memory stream to a TStream descendant. File IdGlobal (

4650)

Pascal procedure WriteMemoryStreamToStream( Src: TIdMemoryStream; Dest: TIdStream; Count: int64 ); Parameters Parameters

Description

Src

Memory stream containing values to be written to the destination.

Dest

Stream desendant to receive values.

Count

Number of bytes from the source to be written to the destination.

Description WriteMemoryStreamToStream is a procedure used to write the contents of the TMemoryStream identifies in ASrc to the TStream descendant identified in ADest. Count identifies the number of bytes from ASrc to be written to the stream identified in ADest. WriteMemoryStreamToStream accesses the memory pool allocated to the memory stream, and calls the Write method for the TStream descendant in ADest to transfer the number of bytes indicated in Count. WriteMemoryStreamToStream isolates the differences between stream implementations on differing platforms. Use one of the following common stream routines to read or write the associated ordinal data type using a stream instance:

ReadLnFromStream (

2890)

ReadStringFromStream ( ReadCharFromStream (

2892) 2889)

ReadTIdBytesFromStream ( WriteStringToStream (

2892)

2936)

WriteTIdBytesToStream (

2936)

Internet Direct (Indy) Version 10.1.5

2935

WriteTIdBytesToStream Function

Functions

WriteStringToStream Function Writes a string data type to a stream. File IdGlobal (

4650)

Pascal procedure WriteStringToStream( AStream: TIdStream; const AStr: string ); Parameters Parameters

Description

AStream

Stream used for outputting values in the write operation.

AStr

Values to be written to the output stream.

Description WriteStringToStream is a procedure used to write the values in AStr to the stream specified in AStream. AStream is the Stream used for outputting values in the write operation. AStr contains the Delphi string value to be written to the output stream. WriteStringToStream isolates the differences between platform-specific stream implementations supported by the Indy library.

For the .Net platform, WriteStringToStream uses a TIdBytes ( writing to the stream implementation.

3007) instance to convert the values in AStr to a format suitable for

Use one of the following common stream routines to read or write the associated ordinal data type using a stream instance:

ReadLnFromStream (

2890)

ReadStringFromStream ( ReadCharFromStream (

2892) 2889)

ReadTIdBytesFromStream (

2892)

WriteStringToStream WriteTIdBytesToStream (

2936)

See Also WriteBytesToStream

WriteTIdBytesToStream Function Write TIdBytes (

3007) values to a TStream.

File IdGlobal (

4650)

Pascal procedure WriteTIdBytesToStream( 2936

Internet Direct (Indy) Version 10.1.5

Functions

zError Function

const AStream: TIdStream; const ABytes: TIdBytes ); Parameters Parameters

Description

AStream

Stream to receive the contents of the TIdBytes (

ABytes

Values to be written to the TStream.

3007) value.

Description WriteTIdBytesToStream is a procedure used to copy the contents of the TIdBytes ( 3007) specified in ABytes to the TStream identified in AStream. WriteTIdBytesToStream calls the Write method in the stream to write the byte values. WriteTIdBytesToStream isolates the differences between platforms and stream implementations for use in the Indy library. WriteTIdBytesToStream is often used to convert character, byte, string, and other values to a representation common to all platforms (TIdBytes ( 3007)). Use one of the following common stream routines to read or write the associated ordinal data type using a stream instance:

ReadLnFromStream (

2890)

ReadStringFromStream ( ReadCharFromStream (

2892) 2889)

ReadTIdBytesFromStream ( WriteStringToStream (

2892)

2936)

WriteTIdBytesToStream See Also TIdBytes (

3007)

Y2Year Function File IdFTPCommon (

4631)

Pascal function Y2Year( const AYear: Integer ): Integer; Parameters Parameters

Description

AYear

Scope is const. Type is Integer.

Returns Integer Description Y2Year is a function. Y2Year returns a Integer value.

Internet Direct (Indy) Version 10.1.5

2937

zlibCompileFlags Function

Functions

zError Function File IdZLib (

4757)

Pascal function zError( err: Integer ): PChar; cdecl; Parameters Parameters

Description

err

Type is Integer.

Returns PChar Description zError is a function. zError returns a PChar value.

zlibAllocMem Function File IdZLib (

4757)

Pascal function zlibAllocMem( AppData: Pointer; Items: Integer; Size: Integer ): Pointer; cdecl; Parameters Parameters

Description

AppData

Type is Pointer.

Items

Type is Integer.

Size

Type is Integer.

Returns Pointer Description zlibAllocMem is a cdecl function. zlibAllocMem returns a Pointer value.

zlibCompileFlags Function File IdZLib ( 2938

4757) Internet Direct (Indy) Version 10.1.5

Functions

zlibFreeMem Function

Pascal function zlibCompileFlags: Cardinal; cdecl; Returns Cardinal Description zlibCompileFlags is a function. zlibCompileFlags returns a Cardinal value.

zlibFreeMem Function File IdZLib (

4757)

Pascal procedure zlibFreeMem( AppData: Pointer; Block: Pointer ); cdecl; Parameters Parameters

Description

AppData

Type is Pointer.

Block

Type is Pointer.

Description zlibFreeMem is a cdecl procedure.

Internet Direct (Indy) Version 10.1.5

2939

TByteArray Record

Structs, Records, Enums

Structs, Records, Enums Taddrinfo Record File IdWship6 (

4756)

Pascal Taddrinfo = packed record end; Description Taddrinfo is a Record type.

TAuthCmd Enumeration File IdFTP (

4629)

Pascal TAuthCmd = ( ); Description TAuthCmd is a Type definition.

TAuthenticationType Enumeration File IdSASLCollection (

4713)

Pascal TAuthenticationType = ( ); Description TAuthenticationType is a Type definition.

TByteArray Record File IdSSLOpenSSL (

2940

4726)

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TConnectionResult Enumeration

Pascal TByteArray = record end; Description TByteArray is a Record type.

TCheckResp Record Contains the numeric code and text in an SNPP server response. File IdSNPP (

4723)

Pascal TCheckResp = record end; Description TCheckResp is a record type that contains the numeric code and text in an SNPP server response.

Member Description ------- --------------------------------Code A numeric SNPP response code. Resp Text from an SNPP response.

TCompressionLevel Enumeration File IdZLib (

4757)

Pascal TCompressionLevel = ( ); Description TCompressionLevel is a Type definition.

TConnectionResult Enumeration File IdSNPP (

4723)

Pascal TConnectionResult = ( );

Internet Direct (Indy) Version 10.1.5

2941

TDNSQueryRecordTypes Enumeration

Structs, Records, Enums

Description TConnectionResult

TDays Enumeration Enumerated type representing the days of the week. File IdDateTimeStamp (

4610)

Pascal TDays = ( ); Description TDays is an enumerated type that represents the ordinal value for the days of the week. TDaySun is the inital (lowest) value in the enumeration. TDaySat is the final (highest) value in the enumeration. See Also TMonths (

2985)

TDNSQueryRecordTypes Enumeration Identifies resource record types that can be requested in a DNS query. File IdDNSCommon (

4617)

Pascal TDNSQueryRecordTypes = ( ); Description TDNSQueryRecordTypes is an enumerated type that represents the valid values that can be used for selecting DNS Resource Record returned in a DNS query response by their resource record type. TDNSQueryRecordTypes may contain one or more of the following values, including:

Value

Meaning

DqtA

IPv4 Host address

DqtAAAA

IPv6 Host address

DqtNS

Authoritative name server

DqtMD

Mail destination (Obsolete - use MX)

DqtMF

Mail forwarder (Obsolete - use MX)

DqtName

Canonical name for an alias

DqtSOA

Start of a zone of authority marker

DqtMB

Mailbox domain name (EXPERIMENTAL)

DqtMG

Mail group member (EXPERIMENTAL)

DqtMR

Mail rename domain name (EXPERIMENTAL)

2942

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TgzHeaderRec Record

DqtNull

Null resource record (EXPERIMENTAL)

DqtWKS

Well known service description

DqtPTR

Domain name pointer

DqtHINFO

Host information

DqtMINFO

Mailbox or mail list information

DqtMX

Mail exchange

DqtTXT

Text strings

DqtNSAP

Network Server Address Protocol request

DqtNSAP_PTR

PTR resource records for NSAP entries

DqtLOC

Geographic location request

DqtAXFR

Zone transfer query request

DqtSTAR

All resource record types

TDNSServerTypes Enumeration Indicates if the DNS server is operating as a Primary or a Secondary server. File IdDNSCommon (

4617)

Pascal TDNSServerTypes = ( ); Description TDNSServerTypes is an enumerated type that indicates if the DNS server is operating as a Primary or a Secondary server.

Value

Meaning

stPrimary

Primary DNS server

stSecondary

Secondary DNS server

TDNSServerTypes is the type used to represent the TIdDNSServer.ServerType (

611) property.

See Also TIdDNSServer.ServerType (

611)

TEVP_MD Record File IdSSLOpenSSL (

4726)

Pascal TEVP_MD = record end; Description TEVP_MD is a Record type. Internet Direct (Indy) Version 10.1.5

2943

THTTPCommandType Enumeration

Structs, Records, Enums

TgzHeaderRec Record File IdZLib (

4757)

Pascal TgzHeaderRec = packed record end; Description TgzHeaderRec is a Record type.

THL7CommunicationMode Enumeration File IdHL7 (

4661)

Pascal THL7CommunicationMode = ( ); Description THL7CommunicationMode

THTTPCommandType Enumeration Represents command types used in an HTTP request. File IdCustomHTTPServer (

4608)

Pascal THTTPCommandType = ( ); Description THTTPCommandType is an enumerated type that represents HTTP commands verbs that can be provided as part of an HTTP request. Enumeration values in THTTPCommandType can include the following values and mappings to elements in HTTPRequestStrings ( 3220):

Value

HTTP Request String

hcUnknown

Unknown; no mapping

hcHEAD

'HEAD'

hcGET

'GET'

hcPOST

'POST'

hcDELETE

'DELETE'

hcPUT

'PUT'

2944

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdCharSet Enumeration

hcTRACE

'TRACE'

hcOPTION

'OPTIONS'

THTTPCommandType is the type used to represent the CommandType property in TIdHTTPRequestInfo ( processing an HTTP request.

1077) decoded when

See Also HTTPRequestStrings (

3220)

TIdHTTPRequestInfo.CommandType (

1081)

TIdHTTPRequestInfo.DecodeCommand

TIdAuthenticationSchemes Enumeration Authentication schemes available in the authentication framework. File IdAuthentication (

4586)

Pascal TIdAuthenticationSchemes = ( ); Description TIdAuthenticationSchemes is an enumerted type that represents the Authentication schemes available in the Authentication framework. TIdAuthenticationSchemes contains the valid values that can be a member of TIdAuthSchemeSet ( 3005). See Also TIdAuthSchemeSet (

3005)

TIdAuthWhatsNext Enumeration Represents the next action to be performed in the authentication framework. File IdAuthentication (

4586)

Pascal TIdAuthWhatsNext = ( ); Description TIdAuthWhatsNext is an enumerated type that represents the next valid action to be performed by the authentication framework. TIdAuthWhatsNext is the value returned by the TIdAuthentiction.Next method. See Also TIdAuthentication.Next (

255)

Internet Direct (Indy) Version 10.1.5

2945

TIdCookieVersion Enumeration

Structs, Records, Enums

TIdCharSet Enumeration File IdCharsets (

4590)

Pascal TIdCharSet = ( ); Description TIdCharSet is an enumerated type that represents the IANA ( Standards document:

4762) official character sets, as as specified in the Internet

IANA (Internet Assigned Numbering Authority) Character Sets TIdCharSet has a general relationship to the MIBenum values described in that document.

TIdCookieAccess Enumeration Indicates the type of access requested for Cookie values in a Cookie collection. File IdCookie (

4606)

Pascal TIdCookieAccess = ( ); Description TIdCookieAccess is an enumerated type that indicates the type of access requested when accessing Cookie values in the TIdCookies ( 394) collection. TIdCookieAccess can contain one of the following values and associated meanings:

Value

Meaning

caRead

Values in the Cookie list can be read.

caReadWrite

Values in the Cookie list can be read and written.

A TIdCookieAccess value is used as an argument to methods in the TIdCookies ( 394) collection that request or release a TIdCookieList ( 381) from the collection, including TIdCookies.LockCookieListByDomain ( 399) and TIdCookies.UnlockCookieListByDomain ( 400). See Also TIdCookies (

394)

TIdCookieList (

381)

TIdCookies.LockCookieListByDomain ( TIdCookies.UnlockCookieListByDomain (

2946

399) 400)

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdDICTAuthenticationType Enumeration

TIdCookieVersion Enumeration Represents the internal version identifier for Cookie class instances. File IdCookie (

4606)

Pascal TIdCookieVersion = ( ); Description TIdCookieVersion is an enumerated type that represents valid values for the internal version identifier for various Cookie class instances. TIdCookieVersion is used in TIdNetscapeCookie ( 1679), TIdCookieRFC2109 ( 388), and TIdCookieRFC2965 ( the internal representation to be used for Cookie longevity in the Expires and/or MaxAge properties.

391) to identify

See Also TIdNetscapeCookie (

1679)

TIdCookieRFC2109 (

388)

TIdCookieRFC2965 (

391)

TIdCustomUserManagerOption Enumeration File IdUserAccounts (

4753)

Pascal TIdCustomUserManagerOption = ( ); Description TIdCustomUserManagerOption is a Type definition.

TIdDataReply Enumeration File IdSMTPServer (

4721)

Pascal TIdDataReply = ( ); Description TIdDataReply is a Type definition.

Internet Direct (Indy) Version 10.1.5

2947

TIdDirItemType Enumeration

Structs, Records, Enums

TIdDICTAuthenticationType Enumeration Authentication type enumeration. File IdDICT (

4615)

Pascal TIdDICTAuthenticationType = ( ); Description TIdDICTAuthenticationType is an enumerated type that represents values allow for use in the AuthType property in TIdDICT ( 552). The values in the enumeration indicate the authentication mechaniosm used for the DICT client, as follows:

Value

Meaning

atDefault

Use the AUTH command to perform authentication

atSASL

Use SASL mechanism to perform authentication

See Also TIdDICT.AuthType (

564)

TIdDirItemType Enumeration Indicates the type for an entry found in the structured deirectory listing in the Indy FTP client. File IdFTPList (

4634)

Pascal TIdDirItemType = ( ); Description TIdDirItemType is an enumerated type that indicates the type for an entry found in the structured deirectory listing in the Indy FTP client. TIdDirItemType is the type used to implement the ItemType property in TIdFTPListItem ( property for the TIdFTP ( 759) client.

851), as stored in the DirectoryListing

TIdDirItemType includes the following values and meanings:

Value

Meaning

ditDirectory

The item is a directory.

ditFile

The item is a file.

ditSymbolicLink

The item is a symbolic link to a file.

ditSymbolicLinkDir

The item is a symbolic link to a directory.

ditBlockDev

The item is a block device.

ditCharDev

The item is a character device.

2948

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdFTPDataPortSecurity Enumeration

ditFIFO

The item is a FIFO queue.

ditSocket

The item is a UNIX (

4539)-mode socket handle.

TIdDirItemType values are used and assigned when a registered TIdFTPListBaseParser descendant parses the lines found in the response to an FTP directory listing request. See Also TIdFTPListItem.ItemType ( TIdFTPListItems (

855)

857)

TIdFTP.DirectoryListing (

818)

TIdDirOutputFormat Enumeration File IdFTPListOutput (

4635)

Pascal TIdDirOutputFormat = ( ); Description TIdDirOutputFormat is a Type definition.

TIdEncoding Enumeration Character set encodings used in ToBytes (

2919).

File IdGlobal (

4650)

Pascal TIdEncoding = ( ); Description TIdEncoding is an enumerated type that represents the values used to indicate character set encodings for string values in ToBytes ( 2919).

Value

Description

enDefault

Use the default encoding for the platform.

enANSI

Use ASCII character set encoding for string values.

enUTF8

Use the UTF-8 character set encoding for string values.

A TIdEncoding value is passed to to ToBytes ( 3007) return value.

2919) to indicate the character set encoding required for values in the TIdBytes (

TIdEncoding values are used on the .Net platform. Character set encodings are ignored in the VCL. See Also ToBytes (

2919)

Internet Direct (Indy) Version 10.1.5

2949

TIdFTPOperation Enumeration

Structs, Records, Enums

TIdFTPDataPortSecurity Enumeration File IdFTPCommon (

4631)

Pascal TIdFTPDataPortSecurity = ( ); Description TIdFTPDataPortSecurity is a Type definition.

TIdFTPDataStructure Enumeration File IdFTPCommon (

4631)

Pascal TIdFTPDataStructure = ( ); Description TIdFTPDataStructure is a Type definition.

TIdFTPDirFormat Enumeration File IdFTPServer (

4648)

Pascal TIdFTPDirFormat = ( ); Description TIdFTPDirFormat is a Type definition.

TIdFTPFactOutput Enumeration File IdFTPListOutput (

4635)

Pascal TIdFTPFactOutput = ( ); Description TIdFTPFactOutput is a Type definition.

2950

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdFTPTransferMode Enumeration

TIdFTPOperation Enumeration File IdFTPServer (

4648)

Pascal TIdFTPOperation = ( ); Description TIdFTPOperation is a Type definition.

TIdFTPPathProcessing Enumeration File IdFTPServer (

4648)

Pascal TIdFTPPathProcessing = ( ); Description TIdFTPPathProcessing is a Type definition.

TIdFtpProxyType Enumeration File IdFTP (

4629)

Pascal TIdFtpProxyType = ( ); Description TIdFtpProxyType is a Type definition.

TIdFTPTelnetState Enumeration File IdFTPServer (

4648)

Pascal TIdFTPTelnetState = ( ); Description TIdFTPTelnetState is a Type definition.

Internet Direct (Indy) Version 10.1.5

2951

TIdFTPTransferMode Enumeration

Structs, Records, Enums

TIdFTPTransferMode Enumeration Represents the data transmission mode for an FTP session. File IdFTPCommon (

4631)

Pascal TIdFTPTransferMode = ( ); Description TIdFTPTransferMode is an enumerated type that represents the data transmission mode for an FTP session. TIdFTPTransferMode includers the following enumeration values and meanings:

Value

Meaning

dmStream

Data is transmitted as a stream of bytes.

dmDeflate

Data is transmitted as a compressed stream of bytes.

dmBlock

Unused.

dmCompressed

Unused.

dmBlock and dmCompressed transmission modes were removed because we don't use them and they aren't supported on most FTP Servers. Transmission mode values are often used in conjunction with data structure values represented by TIdFTPDataStructure ( 2950). This enables determining both the format and the processing required for data sent in record-structured FTP protocol exchanges. For file-structured protocol exchanges, EOF is indicated by the sending host closing the data connection and all bytes are data bytes. For Block mode transmissions (dmBlock), the file is transmitted as a series of data blocks preceded by one or more header bytes. The header bytes contain a count field, and descriptor code. The count field indicates the total length of the data block in bytes, thus marking the beginning of the next data block (there are no filler bits). The descriptor code defines: last block in the file (EOF) last block in the record (EOR), restart marker (see the Section on Error Recovery and Restart) or suspect data (i.e., the data being transferred is suspected of errors and is not reliable). This last code is NOT intended for error control within FTP. It is motivated by the desire of sites exchanging certain types of data (e.g., seismic or weather data) to send and receive all the data despite local errors (such as "magnetic tape read errors"), but to indicate in the transmission that certain portions are suspect). Record structures are allowed in this mode, and any representation type may be used. For Compressed mode transmissions (dmCompressed), there are three kinds of information to be sent: regular data, sent in a byte string; compressed data, consisting of replications or filler; and control information, sent in a two-byte escape sequence. If n>0 bytes (up to 127) of regular data are sent, these n bytes are preceded by a byte with the left-most bit set to 0 and the right-most 7 bits containing the number n. A string of n filler bytes can be compressed into a single byte, where the filler byte varies with the representation type. If the type is ASCII or EBCDIC the filler byte is Space (ASCII code 32, EBCDIC code 64). If the type is Image or Local byte the filler is a zero byte. The escape sequence is a double byte, the first of which is the escape byte (all zeros) and the second of which contains descriptor codes as defined in Block mode. The descriptor codes have the same meaning as in Block mode and apply to the succeeding string of bytes. Compressed mode is useful for obtaining increased bandwidth on very large network transmissions at a little extra CPU cost. It can be most effectively used to reduce the size of printer files such as those generated by RJE hosts.

2952

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdHL7Status Enumeration

See Also TIdFTPDataStructure (

2950)

TIdFTP.FileStructure (

782)

TIdFTP.TransferMode (

808)

TIdFTP.TransferType (

829)

TIdFTPTransferType Enumeration Indicates the the data representation used in FTP transfers. File IdFTPCommon (

4631)

Pascal TIdFTPTransferType = ( ); Description TIdFTPTransferType is an enumerated type that indicates the the data representation used in FTP transfers. TIdFTPTransferType includes the following values and meanings:

Value

Meaning

ftASCII

ASCII (7 bit) file transfers

ftBinary

Binary (8 bit) file transfers

ftASCII indicates that certain data transformations may be performed when the data storage representations in the two systems are different. It generally indicateds that it is desirable to convert characters into the standard NVT-ASCII representation when transmitting text between dissimilar systems. The sending and receiving sites would have to perform the necessary transformations between the standard representation and their internal representations. ftBinary is used when the data representation includes binary data (not character codes) between host systems with different word lengths. It should be noted that FTP provides for very limited data type representations. Transformations desired beyond this limited capability should be performed by the user directly. TIdFTPTransferType is the type used to represent the TIdFTP.TransferType (

829) property.

See Also TIdFTP.TransferType (

829)

TIdFTPUserType Enumeration File IdFTPServerContextBase (

4650)

Pascal TIdFTPUserType = ( ); Description TIdFTPUserType is a Type definition. Internet Direct (Indy) Version 10.1.5

2953

TIdHTTPOption Enumeration

Structs, Records, Enums

TIdHL7Status Enumeration File IdHL7 (

4661)

Pascal TIdHL7Status = ( ); Description TIdHL7Status

TIdHTTPConnectionType Enumeration Indicates the host and transport used for a HTTP connection. File IdHTTP (

4662)

Pascal TIdHTTPConnectionType = ( ); Description TIdHTTPConnectionType is an enumerated type that represents the underlying mechanisms used when creating an HTTP connection. TIdHTTPConnectionType can contain one of the following values and associated meanings:

Value

Meaning

ctNormal

Connection uses normal host and transport.

ctSSL

Connection uses Secure Socket Layer transport to the host.

ctProxy

Connection uses a proxy host for connections.

ctSSLProxy

Connection uses Secure Socket Layer transport to a proxy host.

TIdHTTPConnectionType is determined when TIdHTTP ( 1041) attempts to open a connection to a host during processing of the HTTP request. The TIdHTTPConnectionType in use is determined based on values in TIdHTTP.ProxyParams ( 1048) and TIdCustomHTTP.URL ( 431).

TIdHTTPOption Enumeration Represents HTTP protocol options available for use with an HTTP client. File IdHTTP (

4662)

Pascal TIdHTTPOption = ( ); 2954

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdHTTPProtocolVersion Enumeration

Description TIdHTTPOption is an enumerated type that represents the valid HTTP protocol options that can be used in TIdHTTPOptions ( 3031) and the TIdCustomHTTP.HTTPOptions ( 424) property. TIdHTTPOption may contain on of the following values and associated meanings:

Value

Meaning

hoInProcessAuth

Indicates that In-Process authentication should be used by the HTTP protocol handler when processing a response to an HTTP request.

hoKeepOrigProtocol

Indicates if the HTTP protocol version number should be retained in Post.

hoForceEncodeParams Forces HTTP Request parameters to be URL-encoded during addition to the protocol message. See Also TIdHTTPProtocol (

1064)

TIdHTTPOptions (

3031)

TIdCustomHTTP.HTTPOptions (

424)

TIdHTTPProtocolVersion Enumeration Represents the HTTP Protocol version for a request. File IdHTTP (

4662)

Pascal TIdHTTPProtocolVersion = ( ); Description TIdHTTPProtocolVersion is an enumerated type used to represent the HTTP Protocol version for a request. TIdHTTPProtocolVersion can contain one of the following values:

Value

Meaning

pv1_0

HTTP 1.0

pv1_1

HTTP 1.1

TIdHTTPProtocolVersion identifies the protocol version that an HTTP server must support in order to respond to a Get, Head, or Post request. Assign the TIdHTTPProtocolVersion value to the TIdCustomHTTP.ProtocolVersion (

425) property.

See Also TIdCustomHTTP.ProtocolVersion ( TIdCustomHTTP.Get (

408)

TIdCustomHTTP.Put (

417)

TIdCustomHTTP.Head (

425)

410)

TIdCustomHTTP.Options (

411)

Internet Direct (Indy) Version 10.1.5

2955

TIdIdentErrorType Enumeration TIdCustomHTTP.Trace (

Structs, Records, Enums

419)

TIdHTTPWhatsNext Enumeration Identifies the next action required after a request/response protocl exchange. File IdHTTP (

4662)

Pascal TIdHTTPWhatsNext = ( ); Description TIdHTTPWhatsNext is an enumerated type that indicates the next action required during execution of HTTP Requests and Responses using the TIdHTTP ( 1041) protocol handler. TIdHTTPWhatsNext can contain one of the following values and associated meanings:

Value

Meaning

wnGoToURL

The protocol handle will redirect to a new URL.

wnJustExit

The protocol handler cannot redirect, the request will be abandoned.

wnDontKnow

The action for the protocol handler has not been determined.

wnReadAndGo

The protocol handler will read the HTTP response.

TIdIdentErrorType Enumeration Specifies the error to send to the Ident client in the ReplyError method. File IdIdentServer (

4666)

Pascal TIdIdentErrorType = ( ); Description TIdIdentErrorType is used to specify the error to send to the Ident client in the ReplyError method. TIdIdentErrorType can contains on the following values and associated meanings:

Value Meaning ------------- --------------------------------------------------ieInvalidPort The port specified by the query is not valid ieNoUser The port pair specified is not in use or not used by an identifiable entity ieHiddenUser The user was identified but wishes to remain anonymous ieUnknownError The server indicated another problem, could not identify the problem, or in place of the other codes if for example, the server wishes to hide something that is implied by the other errors 2956

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdIMAP4FolderTreatment Enumeration

See Also TIdentServer.ReplyError

TIdIMAP4AuthenticationType Enumeration File IdIMAP4 (

4666)

Pascal TIdIMAP4AuthenticationType = ( ); Description TIdIMAP4AuthenticationType is a Type definition.

TIdIMAP4Commands Enumeration File IdIMAP4 (

4666)

Pascal TIdIMAP4Commands = ( ); Description TIdIMAP4Commands is a Type definition.

TIdIMAP4ConnectionState Enumeration File IdIMAP4 (

4666)

Pascal TIdIMAP4ConnectionState = ( ); Description TIdIMAP4ConnectionState is a Type definition.

TIdIMAP4FolderTreatment Enumeration File IdIMAP4 (

4666)

Pascal TIdIMAP4FolderTreatment = ( );

Internet Direct (Indy) Version 10.1.5

2957

TIdIMAP4StoreDataItem Enumeration

Structs, Records, Enums

Description TIdIMAP4FolderTreatment is a Type definition.

TIdIMAP4SearchKey Enumeration File IdIMAP4 (

4666)

Pascal TIdIMAP4SearchKey = ( ); Description TIdIMAP4SearchKey is a Type definition.

TIdIMAP4SearchRec Record File IdIMAP4 (

4666)

Pascal TIdIMAP4SearchRec = record end; Description TIdIMAP4SearchRec is a Record type.

TIdIMAP4StatusDataItem Enumeration File IdIMAP4 (

4666)

Pascal TIdIMAP4StatusDataItem = ( ); Description TIdIMAP4StatusDataItem is a Type definition.

TIdIMAP4StoreDataItem Enumeration File IdIMAP4 (

4666)

Pascal TIdIMAP4StoreDataItem = ( );

2958

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdInt64Parts Record

Description TIdIMAP4StoreDataItem is a Type definition.

TIdIn4Addr Record Represents the byte, word, or longword values that make up the IPv4 address. File IdStackBSDBase (

4728)

Pascal TIdIn4Addr = packed record end; Description TIdIn4Addr is a packed record type used to represent an IP version 4 address using the byte, word, or longword values that make up the IP address. Use the S_un_b member field to access the unsigned bytes values in the IP address as a TIdSunB (

2992) record.

Use the S_un_w member field to access the unsigned word values in the IP address as a TIdSunW (

2992) record.

Use the S_addr member field to access the longword value for the IP address. See Also TIdSunB (

2992)

TIdSunW (

2992)

TIdIn6Addr Record Represents the byte, word, or cardinal values that make up the IPv6 address. File IdStackBSDBase (

4728)

Pascal TIdIn6Addr = packed record end; Description TIdIn6Addr is a packed record type used to represent an IP version 6 address using arrays of byte, word, or cardinal values that make up the IP address. Use the s6_addr member field to access the array of byte values that make up the IP address. Byte values can be accessed using their position in the array (0 .. 15). Use the s6_addr16 member field to access the array of word values that make up the IP address. Word values can be accessed using their position in the array (0 .. 7) Use the s6_addr32 member field to access the array of cardinal word values that make up the IP address. Cardinal values can be accessed using their position in the array (0 .. 3). Use TIdIn4Addr (

2959) to represent an IP version 4 address.

See Also TIdIn4Addr (

2959)

Internet Direct (Indy) Version 10.1.5

2959

TIdIPAddressRec Record

Structs, Records, Enums

TIdInt64Parts Record Represents 64-bit Integer values in the Indy library. File IdStackBSDBase (

4728)

Pascal TIdInt64Parts = packed record end; Description TIdInt64Parts is a packed record type used to 64-bit values on the Windows and Linux platforms. TIdInt64Parts is used in HostToNetwork and NetworkToHost to convert native Int64 values to their Host and Network representations. Use the LowPart and HighPart member fields to access the LongWord values that make up the 64-bit Integer data type. Use the QuadPart member field to access the Int64 value that makes up the 64-bit Integer data type.

TIdIOHandlerStreamType Enumeration Implements a stream-based input and output handler. File IdIOHandlerStream (

4672)

Pascal TIdIOHandlerStreamType = ( ); Description TIdIOHandlerStream ( 1348) is a TIdIOHandler ( 1284) descendant that implements the framework used to perform input and output operations for Indy components using a stream as the source or destination. TIdIOHandlerStream ( 1348) implements abstract virtual methods inherited from TIdIOHandler ( 1284) that allow the handler to determine when the handler is ready to perform an IO operation, and perform the data transmission or receipt required for a component. TIdIOHandlerStream ( 1348) also exposes the ReceiveStream and SendStream properties that allow acccess to the methods and properties of the stream instances used for input and output operations. TIdIOHandlerStream ( 1348) also introduces properties, methods, and events to reflect ownership of the streams, event handlers for stream access, and the stream type / usage. See Also TIdIOHandler (

1284)

TIdIOHandlerSocket ( IndySupport (

1331)

15)

TIdIPAddressRec Record Represents address and version information for an IP address. 2960

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdIPAddressType Enumeration

File IdStackBSDBase (

4728)

Pascal TIdIPAddressRec = packed record end; Description TIdIPAddressRec is a packed record type used to represent the IP version and component values for an Internet address. Use the IPVersion member field to access the TIdIPVersion (

2962) for the IP address.

Use the IPv4 member field to access the cardinal value for the IP address. Use the IPv6 member field to access the TIdIPv6AddressRec (

3040) value for the IP address.

See Also TIdIPVersion (

2962)

TIdIPv6AddressRec (

3040)

TIdIPAddressType Enumeration Represents the class type for an IP address. File IdNetworkCalculator (

4691)

Pascal TIdIPAddressType = ( ); Description TIdIPAddressType is an enumerated type that represents the values that can be used to indicate the address class type for the Network and Host portions of an IP Address. TIdIPAddressType can contain one of the following values and associated meanings:

Value Meaning ---------------- ---------------------------------------------------IPLocalHost A local host also used to signify the default router. (0.0.0.0) IPLocalNetwork A host computer on the local network. (0.0.0.1 - 0.255.255.255) IPInternetHost Address in Class A, B, or C address space not reserved for private networks or future use. IPPrivateNetwork Address reserved for use on a private network. (10.0.0.0 - 10.255.255.255) (172.16.0.0 - 172.31.255.255) (192.168.0.0 - 192.168.255.255) IPLoopback Used for internal host loopback. (127.0.0.1 - 127.255.255.255) IPMulticast Address reserved for multicast groups. (224.0.0.0 - 239.255.255.254) IPGlobalBroadcast Broadcast to all hosts on the local network. (255.255.255.255) IPReserved http://www.iana.org/assignments/ipv4-address-space IPFutureUse http://www.iana.org/assignments/ipv4-address-space TIdIPAddressType is the type used to represent the TIdNetworkCalculator.AddressType property.

Internet Direct (Indy) Version 10.1.5

2961

TIdIPVersion Enumeration

Structs, Records, Enums

See Also TIdNetworkCalculator.AddressType

TIdIPMreq Record File IdStackBSDBase (

4728)

Pascal TIdIPMreq = packed record end;

TIdIPv6Mreq Record File IdStackBSDBase (

4728)

Pascal TIdIPv6Mreq = packed record end;

TIdIPVersion Enumeration Represents IP version numbers used in protocol-related classes. File IdGlobal (

4650)

Pascal TIdIPVersion = ( ); Description TIdIPVersion is an enumerated type that represents the IP version and format used to represent IP addresses. Valid values for TIdIPVersion include the following:

Value

Meaning

Id_IPv4

Numeric IP Addresses are expressed as a four-byte numeric value in dotted-decimal format.

Id_IPv6

Numeric IP Addresses are expressed as a eight-byte numeric value in colon-delimited format.

TIdIPVersion is used to represent the IPVersion property in protocol-related classes, like TIdHTTPRequest ( 2552).

1072) and TIdURI (

TIdIPVersion is also used when creating IOHandlers and bindings for socket connections. Use ID_DEFAULT_IP_VERSION ( when building the Indy library.

3282) to determine the IP version supported and implemented using compiler defines used

See Also TIdHTTPRequest.IPVersion ( 2962

1075) Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdLPRFileFormat Enumeration

TIdIOHandlerSocket.IPVersion ( TIdURI.IPVersion (

1340)

2559)

ID_DEFAULT_IP_VERSION (

3282)

TIdIRCStat Enumeration File IdIRC (

4675)

Pascal TIdIRCStat = ( ); Description TIdIRCStat is a Type definition.

TIdIRCUserMode Enumeration File IdIRC (

4675)

Pascal TIdIRCUserMode = ( ); Description TIdIRCUserMode is a Type definition.

TIdJESJobStatus Enumeration File IdFTPListParseMVS (

4639)

Pascal TIdJESJobStatus = ( ); Description TIdJESJobStatus is a Type definition.

TIdLPRFileFormat Enumeration Format of the file sent to the LPR daemon. File IdLPR (

4679)

Internet Direct (Indy) Version 10.1.5

2963

TIdLPRStatus Enumeration

Structs, Records, Enums

Pascal TIdLPRFileFormat = ( ); Description TIdLPRFileFormat specifies the format of the file you are sending to the LPR daemon, or how the file is to be printed by the daemon and is used in the TIdLPRControlFile.FileFormat ( 1478) property. TIdLPRFileFormat can contain one of the following values:

Value Meaning ---------------- -------------------------------------------------ffCIF CalTech Intermediate Form ffDVI DVI (TeX output) ffFormattedText add formatting as needed to text file ffPlot Berkeley Unix plot library ffControlCharText text file with control characters ffDitroff ditroff output ffPostScript Postscript output file (.PS) ffPR 'pr' format ffFORTRAM FORTRAN carriage control ffTroff Troff output ffSunRaster Sun raster format file (.RAS,.RAST,.SUN,.SR,.SCR) See Also TIdLPRControlFile.FileFormat (

1478)

TIdLPRStatus Enumeration Indicates the status of a TIdLPR (

1469) object.

File IdLPR (

4679)

Pascal TIdLPRStatus = ( ); Description TIdLPRStatus is an enumerated type that represents the status value found in a TIdLPR (

1469) object.

TIdLPRStatus can contain one of the following values:

Value Meaning -------------------- -----------------------------------------------psPrinting The print job is being sent to the daemon

2964

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdMailBoxState Enumeration

psJobCompleted The print job was successfully sent to the daemon psError The daemon returned an error reply psGettingQueueState The queue's status is being requested psGotQueueState The daemon returned the queue's state. psDeletingJobs The printing jobs are being deleted psJobsDeleted The print jobs have been deleted psPrintingWaitingJobs The waiting jobs in the queue are being printed psPrintedWaitingJobs The waiting jobs in the queue have been printed See Also TIdLPRStatusEvent (

3056)

TIdMailBoxAttributes Enumeration Specifies the flags used in mailbox attibutes. File IdMailBox (

4680)

Pascal TIdMailBoxAttributes = ( ); Description TIdMailBoxAttributes is an enumerated type that specifies the valid values for flags that can be associated with a TIdMailbox object instance. TIdMailBoxAttributes is the type used for the TIdMailbox.Attributes property, and can contain the following values:

Value

Meaning

maNoinferiors The mailbox does not allow either creation or access for child levels in the mailbox hierarchy. maNoselect

The mailbox is a child in the mailbox hierarchy that cannot be selected.

maMarked

The maibox has been marked as "interesting" by the server, and probably contains messages that have been added since the last time the maibox was selected.

maUnmarked The mailbox does not contain any messages added since the last time the maibox was selected. See Also TIdMailBox.Attributes (

1484)

TIdMailBoxState Enumeration Indicates the read and/or write state for a mailbox. Internet Direct (Indy) Version 10.1.5

2965

TIdMaxLineAction Enumeration

Structs, Records, Enums

File IdMailBox (

4680)

Pascal TIdMailBoxState = ( ); Description TIdMailBoxState is an enumerated type that represents the read and write permissions for accessing a mailbox. TIdMailBoxState can contain one the following values and associated meanings:

msReadWrite

Mailbox can be read from and written to.

msReadOnly

Mailbox can read contents only.

TIdMailBoxState is the type used to represent the TIdMailBox.State (

1486) property.

See Also TIdIMAP4 (

1150)

TIdMailBox.State (

1486)

TIdMailFromReply Enumeration File IdSMTPServer (

4721)

Pascal TIdMailFromReply = ( ); Description TIdMailFromReply is a Type definition.

TIdMappedFtpOutboundDcMode Enumeration File IdMappedFTP (

4680)

Pascal TIdMappedFtpOutboundDcMode = ( ); Description TIdMappedFtpOutboundDcMode is a Type definition.

TIdMaxLineAction Enumeration Action to take when the line length exceeds the maximum length in an Indy IOHandler.

2966

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdMessageCoderPartType Enumeration

File IdGlobal (

4650)

Pascal TIdMaxLineAction = ( ); Description TIdMaxLineAction is an enumerated type used to represent the action to perform when the maximum line length is exceeded while reading lines of data using an Indy IOHandler. TIdMaxLineAction indicates the action to be performed when the InputBuffer in the IOHandler contains a line that exceeds the value assigned to MaxLineLength property. TIdMaxLineAction has the following values and meanings:

Value

Meaning

maSplit

The lengthy line is split into one or more lines when the conditions occurs.

maException

An EIdReadLnMaxLineLengthExceeded (

135) exception is raised for the condition.

MaxLineAction has significance only when MaxLineLength contains a non-zero value. See Also TIdIOHandler.MaxLineAction (

1327)

TIdIOHandler.MaxLineLength ( TIdIOHandler.ReadLnSplit (

1327) TIdIOHandler.ReadLn (

1304)

1306)

EIdReadLnMaxLineLengthExceeded (

135)

TIdMessageCoderPartType Enumeration Specifies the type of RFC message part handled by an Indy message decoder. File IdMessageCoder (

4683)

Pascal TIdMessageCoderPartType = ( ); Description TIdMessageCoderPartType is an enumerated type that specifies the type of RFC message part handled by an Indy message decoder. TIdMessageCoderPartType may contain one of the following values:

Value

Meaning

ptUnknown

the type of Message Part is unknown.

ptText

indicates a TIdText (

ptAttachment

indicates a TIdAttachment (

ptUnknown

indicates the message part type could not be determined.

2404) Message Part. 227) Message Part.

Indy classes, like TIdMessageClient ( 1555), will raise an EIdException ( 76) exception RSMsgClientUnkownMessagePartType error message when an unknown message part is encountered. Internet Direct (Indy) Version 10.1.5

with

the

constant

2967

TIdMessageFlags Enumeration

Structs, Records, Enums

ptText indicates that the RFC-2822 message headers for a message part have been examined, and the message body contains textual content. ptAttachment indicates that the RFC-2822 message headers for a message part have been examined, and the message body contains an attachment. TIdMessageDecoder ( 1563) is used to access a message to determine the TIdMessageCoderPartType value used for a message part by using the TIdMessageDecoder.ReadHeader ( 1566) method. Based on the value of TIdMessageCoderPartType, the appropriate TIdText ( 2404) or TIdAttachment ( 227) instance is created to receive the message part headers and contents. See Also TIdMessageClient (

1555)

TIdMessageDecoder ( EIdException (

1563)

76)

RSMsgClientUnkownMessagePartType

TIdMessageEncoding Enumeration Identifies the encoding method used for an Internet message. File IdMessage (

4682)

Pascal TIdMessageEncoding = ( ); Description TIdMessageEncoding is an enumerated type that indicates the encoding scheme used for an RFC-compliant Internet message. TIdMessageEncoding contains the following values and associated meanings:

Value

Meaning

meDefault

Use the message encoding detected by Indy.

meMIME

Use MIME encoding rules for the message content.

meUU

Use UU-Encoding for the message content.

meXX

Use XX-Encoding for the message content.

TIdMessageEncoding is the type used to represent the TIdMessage.Encoding ( 1543) property and indicates that the message should be transferred as MIME-encoded multipart, UU-Encoded, or XX-Encoded multipart message. TIdMessageEncoding is used to determine the encoders used when creating and preparing headers and attachments for transporting an Internet message.

TIdMessageFlags Enumeration Represents valid message flag values. File IdMessage (

2968

4682)

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdMessagePriority Enumeration

Pascal TIdMessageFlags = ( ); Description TIdMessageFlags is an enumerated type that represents the valid values that can be assigned to the TIdMessageFlagsSet ( 3059) in the TIdMessage.Flags ( 1545) property. TIdMessageFlags can gave the following values:

Value

Meaning

mfAnswered

A reply has been sent for the Message.

mfFlagged

The watch flag has been set for a Message or Thread.

mfDeleted

Message has been deleted in the Mailbox.

mfDraft

Message is a draft and has not been sent.

mfSeen

Message has not been retrieved and read by the mail client.

mfRecent

Message has been added to the mailbox since the last time it was accessed.

See Also TIdMessageFlagsSet ( TIdMessage.Flags (

3059) 1545)

TIdMessagePartType Enumeration File IdMessageParts (

4689)

Pascal TIdMessagePartType = ( ); Description TIdMessagePartType is an enumerated type that represents the valid message parts categories (or descendants) used in the message part collection for a a TIdMessage ( 1521) instance. TIdMessagePartType contains the following enumeration values and associated meanings:

Value

Meaning

mptText

Message part contains textual data.

mptAttachment

Message part is an attachement with binary or text content.

TIdMessagePartType is the type used as the return value for the PartType class method in TIdMessagePart ( descendant classes.

1614) and

See Also TIdMessagePart.PartType (

1617)

Internet Direct (Indy) Version 10.1.5

2969

TIdModeSetResult Enumeration

Structs, Records, Enums

TIdMessagePriority Enumeration Specifies the message priority. File IdMessage (

4682)

Pascal TIdMessagePriority = ( ); Description TIdMessagePriority is an enumerated type used to describe the priority of a message. TIdMessagePriority can contain one of the following values and associated meanings:

Value

Meaning

mpHighest

Message should be given the highest priority.

mpHigh

Message should be given a high priority.

mpNormal

Message should be given the normal priority. This is the default value.

mpLow

Message should be given a low priority.

mpLowest

Message should be given the lowest priority.

TIdMessagePriority is the type used to represent the TIdMessage.Priority (

1550) property.

See Also TIdMessage.Priority (

1550)

TIdMLSDAttr Enumeration File IdFTPServer (

4648)

Pascal TIdMLSDAttr = ( ); Description TIdMLSDAttr is a Type definition.

TIdModeSetResult Enumeration File IdNNTP (

4692)

Pascal TIdModeSetResult = ( ); 2970

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdOSType Enumeration

Description TIdModeSetResult

TIdModeType Enumeration File IdNNTP (

4692)

Pascal TIdModeType = ( ); Description TIdModeType

TIdNNTPPermission Enumeration Represents the posting permissions granted to the NNTP client. File IdNNTP (

4692)

Pascal TIdNNTPPermission = ( ); Description TIdNNTPPermission is an enumerated type that represents the posting permission granted to the NNTP client. TIdNNTPPermission is the type used for the TIdNNTP.Permission ( 1735) property, and can contain one of the following values representing an associated NNTP server response:

Value

Meaning

crCanPost

200 server ready (posting allowed)

crNoPost

201 server ready (no posting allowed)

crAuthRequired

Not used at this time.

crTempUnavailable

400 service discontinued

Values in TIdNNTPPermission are used to assigned the permissions granted when TIdNNTP.Connect ( connection to NNTP server and read the herald message.

1695) is used to open a

See Also TIdNNTP.Permission ( TIdNNTP.Connect (

1735) 1695)

TIdOSType Enumeration Represents valid values for the Operating System or Platform hosting the Indy application. Internet Direct (Indy) Version 10.1.5

2971

TIdRCPToReply Enumeration

Structs, Records, Enums

File IdGlobal (

4650)

Pascal TIdOSType = ( ); Description TIdOSType is an enumerated type that represents the valid values that can be used to indicate the Operating System or Platform hosting the Indy application. TIdOSType contains the following values and meanings:

Value

Meaning

otUnknown

An unknown or unrecognized OS or platform is in use.

otLinux

The Indy application is running on the Linux operating system.

otWindows

The Indy application is running on a Windows operating system.

otDotNet

The Indy application is running on the Windows .Net platform.

TIdOSType values are used in the GOSType (

3212) global application variable.

See Also GOSType (

3212)

TIdPOP3AuthenticationType Enumeration Represents valid authentication types for a POP3 client. File IdPOP3 (

4696)

Pascal TIdPOP3AuthenticationType = ( ); Description TIdPOP3AuthenticationType is an enumerated type that represents the valid authentication types for a POP3 client. TIdPOP3AuthenticationType is the type used to represent the TIdPOP3.AuthType ( following values and associated meanings:

Value

Meaning

atUserPass

Authenticate using a username and password for the client.

atAPOP

Alternate authentication using a 128-bit MD5 hash value.

atSASL

Authenticate using SASL mechanisms.

1782) property, and can contain one the

See Also TIdPOP3.AuthType ( DEF_ATYPE (

2972

1782)

3181)

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdReuseSocket Enumeration

TIdRCPToReply Enumeration File IdSMTPServer (

4721)

Pascal TIdRCPToReply = ( ); Description TIdRCPToReply is a Type definition.

TIdReplyRFCFormat Enumeration File IdReplyFTP (

4705)

Pascal TIdReplyRFCFormat = ( ); Description TIdReplyRFCFormat is a Type definition.

TIdRetrieveOnSelect Enumeration File IdIMAP4 (

4666)

Pascal TIdRetrieveOnSelect = ( ); Description TIdRetrieveOnSelect is a Type definition.

TIdReuseSocket Enumeration Indicates how IP addresses and port numbers are reused for listener threads in TCP servers. File IdGlobal (

4650)

Pascal TIdReuseSocket = ( ); Description TIdReuseSocket is an enumerated type that represents the manner in which socket reuse is supported in Indy TCP servers. Internet Direct (Indy) Version 10.1.5

2973

TIdSMTPAuthenticationType Enumeration

Structs, Records, Enums

TIdReuseSocket can contain one of the following values and associated meanings:

Value

Meaning

rsOSDependent

Reuse IP addersses and port numbers when the OS platform is Linux.

rsTrue

Always resuse IP addersses and port numbers.

rsFalse

Never resuse IP addersses and port numbers.

TIdReuseSocket is the type used to represent the TIdTCPServer.ReuseSocket property, and indicates if IP addresses and port numbers can be reused for TIdListenerThread ( 1445) instances used by the server. A TIdReuseSocket value is used as an option for setting socket options for the protocol stack when allocating the listener thread(s) after a server becomes Active. The default behavior for servers in Indy is rsOSDependent. See Also TIdListenerThread (

1445)

TIdTCPServer.ReuseSocket

TIdSASLResult Enumeration Result from a SASL authentication mechanism. File IdSASL (

4711)

Pascal TIdSASLResult = ( ); Description TIdSASLResult is an enumerated type that represents the result from a SASL authentication mechanism.

Value

Meaning

srSuccess

Authentication was succesful.

srFailure

Authentication failed.

srAborted

Authentication was aborted.

TIdSMTPAuthenticationType Enumeration Represents an SMTP authentication type. File IdSMTP (

4719)

Pascal TIdSMTPAuthenticationType = ( );

2974

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdSMTPState Enumeration

Description TIdSMTPAuthenticationType is an enumerated type that represents the authentication type used by an SMTP server. TIdSMTPAuthenticationType can contain one of the following values and associated meanings:

Value

Meaning

atNone

no authentication is required.

atSASL

simple authentication is required.

TIdSMTPAuthenticationType used to represent the TIdSMTP.AuthType (

2025) property.

You can find the SASL authentication mechanisms supported on an E-Mail server by using the TIdSMTP.SASLMechanisms ( 2026) property. See Also TIdSMTP.AuthType (

2025)

TIdSMTP.SASLMechanisms (

2026)

TIdSMTPRelayStatusAction Enumeration Action signalled in a TIdSMTPRelayStatus (

3082) event handler.

File IdSMTPRelay (

4720)

Pascal TIdSMTPRelayStatusAction = ( ); Description TIdSMTPRelayStatusAction is an enumerated type that represents the action signalled in a TIdSMTPRelayStatus ( handler procedure.

3082) event

TIdSMTPRelayStatusAction can contain one of the following enumeration values and associated meanings:

Value

Meaning

dmResolveMS

Resolving mail exchange server

dmConecting

Connecting

dmConected

Connection completed

dmSending

Start relaying messages

dmWorkBegin

Started relaying messages

dmWorkEndOK

Finished relaying messages

dmWorkEndWithException

Finished with an error

TIdSMTPRelayStatusAction enumeration values are passed as arguments to the TIdSMTPRelayStatus ( procedure assigned to the TIdSMTPRelay.OnDirectSMTPStatus ( 2041) property.

3082) event handler

See Also TIdSMTPRelayStatus (

3082)

TIdSMTPRelay.OnDirectSMTPStatus ( Internet Direct (Indy) Version 10.1.5

2041) 2975

TIdSSLSupport Enumeration

Structs, Records, Enums

TIdSMTPState Enumeration File IdSMTPServer (

4721)

Pascal TIdSMTPState = ( ); Description TIdSMTPState is a Type definition.

TIdSSLAction Enumeration File IdSSLOpenSSL (

4726)

Pascal TIdSSLAction = ( ); Description TIdSSLAction is a Type definition.

TIdSSLCtxMode Enumeration File IdSSLOpenSSL (

4726)

Pascal TIdSSLCtxMode = ( ); Description TIdSSLCtxMode is a Type definition.

TIdSSLMode Enumeration File IdSSLOpenSSL (

4726)

Pascal TIdSSLMode = ( ); Description TIdSSLMode is a Type definition.

2976

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdStatus Enumeration

TIdSSLSupport Enumeration Indicates the SSL support offered in a SMTP Relay agent. File IdSMTPRelay (

4720)

Pascal TIdSSLSupport = ( ); Description TIdSSLSupport is an enumerated type that indicates the SSL support offered in the SMTP Relay agent. TIdSSLSupport can contain one of the following values and associated meanings:

Value Meaning ---------- --------------------------------------------NoSSL No SSL support is enabled SupportSSL Support support is enabled, but not required RequireSSL SSL support is required TIdSSLSupport is the type used to represent the TIdSSLSupportOptions.SSLSupport (

2156) property.

TIdSSLVerifyMode Enumeration File IdSSLOpenSSL (

4726)

Pascal TIdSSLVerifyMode = ( ); Description TIdSSLVerifyMode is a Type definition.

TIdSSLVersion Enumeration File IdSSLOpenSSL (

4726)

Pascal TIdSSLVersion = ( ); Description TIdSSLVersion is a Type definition.

Internet Direct (Indy) Version 10.1.5

2977

TIdSyslogFacility Enumeration

Structs, Records, Enums

TIdStatus Enumeration Represents the connection status for a component. File IdComponent (

4602)

Pascal TIdStatus = ( ); Description TIdStatus is an enumerated type that represents the connection status for an Indy component. TIdStatus can contain one of the following values and meanings:

Value

Meaning

hsResolving

A host name is being resolved to an IP Address.

hsConnecting

A connection is being opened.

hsConnected

A connection has been made.

hsDisconnecting

The connection is being closed.

hsDisconnected

The connection has been closed.

hsStatusText

The connection is generating an information message.

ftpTransfer

An FTP connection is beginning its transfer.

ftpReady

An FTP connection is ready.

ftpAborted

An FTP transfer has been aborted.

TIdStatus is provided as an argument to TIdStatusEvent ( enumerated value.

3087), and allows access to IdStati (

4329) string values using the

See Also TIdStatusEvent ( IdStati (

3087)

4329)

TIdSyslogFacility Enumeration Indicates the facility that caused the message to be generated. File IdSysLogMessage (

4735)

Pascal TIdSyslogFacility = ( ); Description TIdSyslogFacility is an enumeration type that represents facilities that can cause the syslog message to be generated. TIdSyslogFacility enumeration values are used in the TIdSysLogMessage.Facility ( 2274) property. TIdSyslogFacility may contain one of the following values and associated meanings: 2978

Internet Direct (Indy) Version 10.1.5

Structs, Records, Enums

TIdSyslogSeverity Enumeration

Value

Meaning

sfKernel

kernel messages

sfUserLevel

user-level messages

sfMailSystem

mail system

sfSystemDaemon

system daemons

sfSecurityOne

security/authorization message or similar operating system similar feature

sfSysLogInternal

message generated internally by SysLogD

sfLPR

Line Printer Subsystem (LPD)

sfNNTP

Network News subsystem

sfClockDaemonOne

clock daemon or clock (Cron/At) messages

sfSecurityTwo

security/authorization message or similar operating system similar feature 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

CC_STAT (

3162)

CC_RENAME (

3159)

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

Internet Direct (Indy) Version 10.1.5

3141

CC_DEL_DIR Constant CC_GRAB_DONE ( CC_STAT (

Constants 3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW CC_LIMIT (

3156)

CC_TEST (

3164)

CC_DEL_DIR Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_DEL_DIR = $46; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

3142

Internet Direct (Indy) Version 10.1.5

Constants

CC_DEL_FILE Constant

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3140)

CC_DEL_FILE Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_DEL_FILE = $45; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

Internet Direct (Indy) Version 10.1.5

3143

CC_DEL_FILE Constant

Constants

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE ( CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW (

3144

3152)

3140)

Internet Direct (Indy) Version 10.1.5

Constants

CC_ERR Constant

CC_LIMIT (

3156)

CC_TEST (

3164)

CC_ERR Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_ERR = $40; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION ( CC_INFO (

3167)

3153)

CC_ERR CC_GET_DIR (

3146)

Value

Meaning

$10

Get server version string and setup.

$11

Return server's extended info block.

$40

Error response from server.

$41

Get a directory listing.

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

Internet Direct (Indy) Version 10.1.5

3145

CC_GET_DIR Constant CC_INFO (

Constants

3153)

CC_ERR CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW (

3140)

CC_LIMIT (

3156)

CC_TEST (

3164)

CC_GET_DIR Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_GET_DIR = $41; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

CC_INSTALL ( CC_DEL_FILE (

3146

3155) 3143)

Internet Direct (Indy) Version 10.1.5

Constants

CC_GET_FILE Constant

CC_DEL_DIR (

3142)

$46

Delete a directory.

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE ( CC_GRAB_DONE ( CC_STAT (

3152) 3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3140)

Internet Direct (Indy) Version 10.1.5

3147

CC_GET_FILE Constant

Constants

CC_GET_FILE Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_GET_FILE = $42; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

$42

Get a file.

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_GET_DIR (

3146)

CC_GET_FILE CC_UP_LOAD ( CC_INSTALL (

3165) 3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

3148

Internet Direct (Indy) Version 10.1.5

Constants

CC_GET_PRO Constant

CC_GET_DIR (

3146)

CC_GET_FILE CC_UP_LOAD ( CC_INSTALL (

3165) 3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW (

3140)

CC_LIMIT (

3156)

CC_TEST (

3164)

CC_GET_PRO Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_GET_PRO = $47; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

$47

Get directory protection.

CC_INSTALL ( CC_DEL_FILE ( CC_DEL_DIR ( CC_GET_PRO

3155) 3143) 3142)

Internet Direct (Indy) Version 10.1.5

3149

CC_GRAB_DONE Constant

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

Constants

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE ( CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3150

3152)

3140)

Internet Direct (Indy) Version 10.1.5

Constants

CC_GRAB_DONE Constant

CC_GRAB_DONE Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_GRAB_DONE = $4C; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

$4B

Atomic get+delete a file.

CC_GRAB_DONE

$4C

Atomic get+delete a file done.

CC_STAT (

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

Internet Direct (Indy) Version 10.1.5

3151

CC_GRAB_FILE Constant CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

Constants

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW (

3140)

CC_LIMIT (

3156)

CC_TEST (

3164)

CC_GRAB_FILE Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_GRAB_FILE = $4B; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL ( CC_DEL_FILE ( CC_DEL_DIR (

3155) 3143) 3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

3152

Internet Direct (Indy) Version 10.1.5

Constants

CC_INFO Constant

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE CC_GRAB_DONE 3151) CC_STAT (

(

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

$49

Create a directory.

$4A

Finish a session.

$4B

Atomic get+delete a file.

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3140)

CC_INFO Constant Constant representing the value for a command defined in the FSP protocol.

Internet Direct (Indy) Version 10.1.5

3153

CC_INFO Constant

Constants

File IdFSP (

4628)

Pascal CC_INFO = $11; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

CC_INFO CC_ERR (

3145)

CC_GET_DIR (

3146)

Value

Meaning

$10

Get server version string and setup.

$11

Return server's extended info block.

$40

Error response from server.

$41

Get a directory listing.

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3154

3155)

Internet Direct (Indy) Version 10.1.5

Constants

CC_INSTALL Constant

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW (

3140)

CC_LIMIT (

3156)

CC_TEST (

3164)

CC_INSTALL Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_INSTALL = $44; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

$4B

Atomic get+delete a file.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

Internet Direct (Indy) Version 10.1.5

3155

CC_LIMIT Constant

Constants

CC_GRAB_DONE 3151) CC_STAT (

(

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE ( CC_GRAB_DONE ( CC_STAT (

3152) 3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3140)

CC_LIMIT Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_LIMIT = $80; 3156

Internet Direct (Indy) Version 10.1.5

Constants

CC_LIMIT Constant

Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

$81;

Reserved for testing of new header.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT CC_TEST (

3164)

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL ( CC_DEL_FILE ( CC_DEL_DIR (

3155) 3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

Internet Direct (Indy) Version 10.1.5

3157

CC_MAKE_DIR Constant CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

Constants

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW (

3140)

CC_LIMIT CC_TEST (

3164)

CC_MAKE_DIR Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_MAKE_DIR = $49; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

CC_MAKE_DIR

$49

Create a directory.

CC_BYE (

$4A

Finish a session.

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

CC_STAT (

3162)

CC_RENAME (

3158

3159)

Internet Direct (Indy) Version 10.1.5

Constants

CC_RENAME Constant

CC_CH_PASSW 3140)

(

$4F

Change password.

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR CC_BYE (

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3140)

CC_RENAME Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_RENAME = $4E; Description Constant representing the value for a command defined in the FSP protocol.

Internet Direct (Indy) Version 10.1.5

3159

CC_RENAME Constant

Constants

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3139)

CC_GRAB_FILE ( 3160

3158)

3152) Internet Direct (Indy) Version 10.1.5

Constants

CC_SET_PRO Constant

CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME CC_CH_PASSW (

3140)

CC_LIMIT (

3156)

CC_TEST (

3164)

CC_SET_PRO Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_SET_PRO = $48; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

$47

Get directory protection.

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

Internet Direct (Indy) Version 10.1.5

3161

CC_STAT Constant

Constants

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3140)

CC_STAT Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_STAT = $4D; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR ( 3162

3146)

Internet Direct (Indy) Version 10.1.5

Constants

CC_STAT Constant

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE ( CC_GRAB_DONE (

3152) 3151)

CC_STAT CC_RENAME (

3159)

CC_CH_PASSW (

3140)

Internet Direct (Indy) Version 10.1.5

3163

CC_TEST Constant

Constants

CC_LIMIT (

3156)

CC_TEST (

3164)

CC_TEST Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_TEST = $81; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

$81;

Reserved for testing of new header.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140) CC_LIMIT (

(

3156)

CC_TEST

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3164

3167)

Internet Direct (Indy) Version 10.1.5

Constants

CC_UP_LOAD Constant

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE (

3143)

CC_DEL_DIR (

3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3151)

3140)

3156)

CC_TEST

CC_UP_LOAD Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_UP_LOAD = $43; Description Constant representing the value for a command defined in the FSP protocol.

Constant CC_VERSION (

3167)

Value

Meaning

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

$42

Get a file.

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

CC_GET_DIR ( CC_GET_FILE (

3146) 3148)

CC_UP_LOAD CC_INSTALL ( CC_DEL_FILE (

3155) 3143)

Internet Direct (Indy) Version 10.1.5

3165

CC_VERSION Constant

CC_DEL_DIR (

Constants

3142)

$46

Delete a directory.

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION (

3167)

CC_INFO (

3153)

CC_ERR (

3145)

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE ( CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW ( CC_LIMIT (

3156)

CC_TEST (

3164)

3166

3152)

3140)

Internet Direct (Indy) Version 10.1.5

Constants

CC_VERSION Constant

CC_VERSION Constant Constant representing the value for a command defined in the FSP protocol. File IdFSP (

4628)

Pascal CC_VERSION = $10; Description Constant representing the value for a command defined in the FSP protocol.

Constant

Value

Meaning

CC_VERSION

$10

Get server version string and setup.

CC_INFO (

3153)

$11

Return server's extended info block.

CC_ERR (

3145)

$40

Error response from server.

$41

Get a directory listing.

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

$42

Get a file.

CC_UP_LOAD (

3165)

$43

Open a file for writing.

$44

Close and install file opened for writing.

$45

Delete a file.

$46

Delete a directory.

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

$47

Get directory protection.

CC_SET_PRO (

3161)

$48

Set directory protection.

$49

Create a directory.

$4A

Finish a session.

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE 3152)

(

$4B

Atomic get+delete a file.

CC_GRAB_DONE 3151)

(

$4C

Atomic get+delete a file done.

$4D

Get information about file/directory.

$4E

Rename file or directory.

$4F

Change password.

CC_STAT (

3162)

CC_RENAME (

3159)

CC_CH_PASSW 3140)

(

CC_LIMIT (

3156)

$80

Commands > 0x7F will have extended header. No such extensions or commands which uses that are known today. This header will be used in FSP protocol version 3.

CC_TEST (

3164)

$81;

Reserved for testing of new header.

FSP command bytes are stored in the packet constructed when an FSP client method performs one of the various protocol commands. See Also CC_VERSION CC_INFO (

3153)

CC_ERR (

3145)

Internet Direct (Indy) Version 10.1.5

3167

CHAR0 Constant

Constants

CC_GET_DIR (

3146)

CC_GET_FILE (

3148)

CC_UP_LOAD (

3165)

CC_INSTALL (

3155)

CC_DEL_FILE ( CC_DEL_DIR (

3143) 3142)

CC_GET_PRO (

3149)

CC_SET_PRO (

3161)

CC_MAKE_DIR ( CC_BYE (

3158)

3139)

CC_GRAB_FILE (

3152)

CC_GRAB_DONE ( CC_STAT (

3151)

3162)

CC_RENAME (

3159)

CC_CH_PASSW (

3140)

CC_LIMIT (

3156)

CC_TEST (

3164)

cCName Constant File IdDNSCommon (

4617)

Pascal cCName = 'CNAME'; Description cCName is a Constant.

CDATE_PART_SEP Constant File IdFTPCommon (

4631)

Pascal CDATE_PART_SEP = '/-'; Description CDATE_PART_SEP is a Constant.

3168

Internet Direct (Indy) Version 10.1.5

Constants

cHINFO Constant

CHAR0 Constant Represents the Null character. File IdGlobal (

4650)

Pascal CHAR0 = #0; Description CHAR0 is a constant value used to represent the Null character (Decimal 0). See Also CHAR32 ( EOL (

3169)

3202)

CR (

3174)

LF (

4341)

TAB (

4393)

CHAR32 Constant Represents the Space character. File IdGlobal (

4650)

Pascal CHAR32 = #32; Description CHAR32 is the constant value used to represent the Space character (Decimal 32). See Also CHAR0 (

3169)

TAB (

4393)

EOL (

3202)

CR (

3174)

LF (

4341)

TAB (

4393)

cHINFO Constant File IdDNSCommon (

4617)

Internet Direct (Indy) Version 10.1.5

3169

CLASS_DEF Constant

Constants

Pascal cHINFO = 'HINFO'; Description cHINFO is a Constant.

cInclude Constant File IdDNSCommon (

4617)

Pascal cInclude = '$INCLUDE'; Description cInclude is a Constant.

cIXFR Constant File IdDNSCommon (

4617)

Pascal cIXFR = 'IXFR'; Description cIXFR is a Constant.

Class_CHAOS Constant File IdDNSResolver (

4620)

Pascal Class_CHAOS = 3; Description Class_CHAOS is a Constant.

CLASS_DEF Constant File IdReplySMTP (

4707)

Pascal CLASS_DEF = 2;

3170

Internet Direct (Indy) Version 10.1.5

Constants

cMF Constant

Description CLASS_DEF is a Constant.

Class_IN Constant File IdDNSResolver (

4620)

Pascal Class_IN = 1; Description Class_IN is a Constant.

cLOC Constant File IdDNSCommon (

4617)

Pascal cLOC = 'LOC'; Description cLOC is a Constant.

cMB Constant File IdDNSCommon (

4617)

Pascal cMB = 'MB'; Description cMB is a Constant.

cMD Constant File IdDNSCommon (

4617)

Pascal cMD = 'MD'; Description cMD is a Constant.

Internet Direct (Indy) Version 10.1.5

3171

cMX Constant

Constants

cMF Constant File IdDNSCommon (

4617)

Pascal cMF = 'MF'; Description cMF is a Constant.

cMG Constant File IdDNSCommon (

4617)

Pascal cMG = 'MG'; Description cMG is a Constant.

cMINFO Constant File IdDNSCommon (

4617)

Pascal cMINFO = 'MINFO'; Description cMINFO is a Constant.

cMR Constant File IdDNSCommon (

4617)

Pascal cMR = 'MR'; Description cMR is a Constant.

3172

Internet Direct (Indy) Version 10.1.5

Constants

cNULL Constant

cMX Constant File IdDNSCommon (

4617)

Pascal cMX = 'MX'; Description cMX is a Constant.

cNS Constant File IdDNSCommon (

4617)

Pascal cNS = 'NS'; Description cNS is a Constant.

cNSAP Constant File IdDNSCommon (

4617)

Pascal cNSAP = 'NSAP'; Description cNSAP is a Constant.

cNSAP_PTR Constant File IdDNSCommon (

4617)

Pascal cNSAP_PTR = 'NSAP-PTR'; Description cNSAP_PTR is a Constant.

Internet Direct (Indy) Version 10.1.5

3173

CR Constant

Constants

cNULL Constant File IdDNSCommon (

4617)

Pascal cNULL = 'NULL'; Description cNULL is a Constant.

cOrigin Constant File IdDNSCommon (

4617)

Pascal cOrigin = '$ORIGIN'; Description cOrigin is a Constant.

cPTR Constant File IdDNSCommon (

4617)

Pascal cPTR = 'PTR'; Description cPTR is a Constant.

CR Constant Represents the Carriage Return character. File IdGlobal (

4650)

Pascal CR = #13; Description CR is the constant value used to represent the Carriage Return character (Decimal 13) used in most Internet protocols. CR and LF ( 4341) are used as the Line-End or EOL ( 3202) sequence in most Internet protocols.

3174

Internet Direct (Indy) Version 10.1.5

Constants

cRCodeNotImplemented Constant

See Also LF (

4341)

EOL (

3202)

cRCodeFormatErr Constant File IdDNSCommon (

4617)

Pascal cRCodeFormatErr = 1; Description cRCodeFormatErr is a Constant.

cRCodeNameErr Constant File IdDNSCommon (

4617)

Pascal cRCodeNameErr = 3; Description cRCodeNameErr is a Constant.

cRCodeNoError Constant File IdDNSCommon (

4617)

Pascal cRCodeNoError = 0; Description cRCodeNoError is a Constant.

cRCodeNotImplemented Constant File IdDNSCommon (

4617)

Pascal cRCodeNotImplemented = 4;

Internet Direct (Indy) Version 10.1.5

3175

cRCodeQueryOK Constant

Constants

Description cRCodeNotImplemented is a Constant.

cRCodeQueryCacheFindError Constant File IdDNSCommon (

4617)

Pascal cRCodeQueryCacheFindError = 'CFoundError'; Description cRCodeQueryCacheFindError is a Constant.

cRCodeQueryCacheOK Constant File IdDNSCommon (

4617)

Pascal cRCodeQueryCacheOK = 'COK'; Description cRCodeQueryCacheOK is a Constant.

cRCodeQueryNotFound Constant File IdDNSCommon (

4617)

Pascal cRCodeQueryNotFound = 'NOTFOUND'; Description cRCodeQueryNotFound is a Constant.

cRCodeQueryNotImplement Constant File IdDNSCommon (

4617)

Pascal cRCodeQueryNotImplement = 'NA'; Description cRCodeQueryNotImplement is a Constant.

3176

Internet Direct (Indy) Version 10.1.5

Constants

cRCodeStrs Constant

cRCodeQueryOK Constant File IdDNSCommon (

4617)

Pascal cRCodeQueryOK = 'OK'; Description cRCodeQueryOK is a Constant.

cRCodeQueryReturned Constant File IdDNSCommon (

4617)

Pascal cRCodeQueryReturned = 'RC'; Description cRCodeQueryReturned is a Constant.

cRCodeRefused Constant File IdDNSCommon (

4617)

Pascal cRCodeRefused = 5; Description cRCodeRefused is a Constant.

cRCodeServerErr Constant File IdDNSCommon (

4617)

Pascal cRCodeServerErr = 2; Description cRCodeServerErr is a Constant.

Internet Direct (Indy) Version 10.1.5

3177

csLoading Constant

Constants

cRCodeStrs Constant File IdDNSCommon (

4617)

Pascal cRCodeStrs: Array[cRCodeNoError..cRCodeRefused] Of String = (RSCodeNoError, RSCodeQueryFormat, RSCodeQueryServer, RSCodeQueryName, RSCodeQueryNotImplemented, RSCodeQueryQueryRefused); Description cRCodeStrs is a Constant.

crlf Constant End-of-line sequence used when writing multipart form data. File IdMultipartFormData (

4691)

Pascal crlf = #13#10; Description crlf is a String constant that represents the end-of-line sequence used when writing data to the stream used for transmitting the multipart form. See Also EOL (

3202)

CR (

3174)

LF (

4341)

csDesigning Constant File IdObjs (

4694)

Pascal csDesigning = Classes.csDesigning; Description csDesigning

csLoading Constant File IdObjs (

3178

4694)

Internet Direct (Indy) Version 10.1.5

Constants

CUR_DIR Constant

Pascal csLoading = Classes.csLoading; Description csLoading

cSOA Constant File IdDNSCommon (

4617)

Pascal cSOA = 'SOA'; Description cSOA is a Constant.

cSTAR Constant File IdDNSCommon (

4617)

Pascal cSTAR = 'STAR'; Description cSTAR is a Constant.

cTXT Constant File IdDNSCommon (

4617)

Pascal cTXT = 'TXT'; Description cTXT is a Constant.

CUR_DIR Constant Represents the current directory marker in an FTP directory listing. File IdFTPCommon (

4631)

Pascal CUR_DIR = '.'; Internet Direct (Indy) Version 10.1.5

3179

DATA_CMD Constant

Constants

Description CUR_DIR is a constant that represents the current directory marker in an FTP directory listing. See Also PARENT_DIR (

4360)

cWKS Constant File IdDNSCommon (

4617)

Pascal cWKS = 'WKS'; Description cWKS is a Constant.

DATA_ACCEPT Constant Numeric response code indicating data has been successfuly sent to a SMTP server. File IdSMTPBase (

4720)

Pascal DATA_ACCEPT: SmallInt = 354; Description DATA_ACCEPT is a SmallInt constant that represents the numeric response code indicating data has been successfuly sent to a SMTP server using the SMTP client. DATA_ACCEPT is used in the internal Send methods for the base class when transmitting data to the SMTP server. See Also TIdSMTPBase.Send (

2030)

DATA_CMD Constant SMTP command sent to a server prior to sending the content of a message. File IdSMTPBase (

4720)

Pascal DATA_CMD = 'DATA'; Description DATA_CMD is a String constant that represents the command sent to a SMTP server prior to transmitting the contents of a message on the connection. DATA_CMD is used in the internal Send methods for the base class.

3180

Internet Direct (Indy) Version 10.1.5

Constants

DEF_BANNERPAGE Constant

See Also TIdSMTPBase.Send (

2030)

DATA_PERIOD_ACCEPT Constant Numeric response code expected after successful transmission of a message. File IdSMTPBase (

4720)

Pascal DATA_PERIOD_ACCEPT: SmallInt = 250; Description DATA_PERIOD_ACCEPT is a SmallInt constant that represents the numeric response code expected after successful transmission of the message and terminating '.' character for the SMTP protocol exchange. DATA_PERIOD_ACCEPT is used in the internal Send methods for the base class. See Also TIdSMTPBase.Send (

2030)

DEF_ATYPE Constant The default value for POP3 authentication type. File IdPOP3 (

4696)

Pascal DEF_ATYPE = atUserPass; Description DEF_ATYPE is a Constant value that represents the default authentication type used in the TIdPOP3.AuthType ( The default value for DEF_ATYPE is atUserPass, as enumerated in the TIdPOP3AuthenticationType (

1782) property.

2972) type.

DEF_ATYPE indicates that simple username and password authentication is required for the POP3 connection.

DEF_BANNERPAGE Constant DEF_BANNERPAGE is the default value for the TIdLPRControlFile.BannerPage (

1477) property.

File IdLPR (

4679)

Pascal DEF_BANNERPAGE = False; Description DEF_BANNERPAGE is a constant representing the default value for the TIdLPRControlFile.BannerPage (

Internet Direct (Indy) Version 10.1.5

1477) property.

3181

DEF_FILE_GRP_PERM Constant

Constants

See Also TIdLPRControlFile.BannerPage (

1477)

DEF_DIR_GRP_PERM Constant File IdFTPListOutput (

4635)

Pascal DEF_DIR_GRP_PERM = DEF_DIR_OWN_PERM; Description DEF_DIR_GRP_PERM is a Constant.

DEF_DIR_OTHER_PERM Constant File IdFTPListOutput (

4635)

Pascal DEF_DIR_OTHER_PERM = 'r-x'; Description DEF_DIR_OTHER_PERM is a Constant.

DEF_DIR_OWN_PERM Constant File IdFTPListOutput (

4635)

Pascal DEF_DIR_OWN_PERM = 'rwx'; Description DEF_DIR_OWN_PERM is a Constant.

DEF_DIRFORMAT Constant File IdFTPServer (

4648)

Pascal DEF_DIRFORMAT = ftpdfUnix; Description DEF_DIRFORMAT is a Constant.

3182

Internet Direct (Indy) Version 10.1.5

Constants

DEF_FTP_BLOCK_ALL_PORTS Constant

DEF_FILE_GRP_PERM Constant File IdFTPListOutput (

4635)

Pascal DEF_FILE_GRP_PERM = DEF_FILE_OWN_PERM; Description DEF_FILE_GRP_PERM is a Constant.

DEF_FILE_OTHER_PERM Constant File IdFTPListOutput (

4635)

Pascal DEF_FILE_OTHER_PERM = 'r--'; Description DEF_FILE_OTHER_PERM is a Constant.

DEF_FILE_OWN_PERM Constant File IdFTPListOutput (

4635)

Pascal DEF_FILE_OWN_PERM = 'rw-'; Description DEF_FILE_OWN_PERM is a Constant.

DEF_FILEFormat Constant File IdLPR (

4679)

Pascal DEF_FILEFormat = ffControlCharText;

DEF_FTP_BLOCK_ALL_PORTS Constant File IdFTPServer (

4648)

Internet Direct (Indy) Version 10.1.5

3183

DEF_FTP_IMPLICIT_FTP Constant

Constants

Pascal DEF_FTP_BLOCK_ALL_PORTS = False; Description DEF_FTP_BLOCK_ALL_PORTS is a Constant.

DEF_FTP_DISABLE_STAT Constant File IdFTPServer (

4648)

Pascal DEF_FTP_DISABLE_STAT = False; Description DEF_FTP_DISABLE_STAT is a Constant.

DEF_FTP_DISABLE_SYST Constant File IdFTPServer (

4648)

Pascal DEF_FTP_DISABLE_SYST = False; Description DEF_FTP_DISABLE_SYST is a Constant.

DEF_FTP_HIDE_INVALID_USER Constant File IdFTPServer (

4648)

Pascal DEF_FTP_HIDE_INVALID_USER = True; Description DEF_FTP_HIDE_INVALID_USER is a Constant.

DEF_FTP_IMPLICIT_FTP Constant File IdFTPServer (

4648)

Pascal DEF_FTP_IMPLICIT_FTP = False;

3184

Internet Direct (Indy) Version 10.1.5

Constants

DEF_FTP_PERMIT_CCC Constant

Description DEF_FTP_IMPLICIT_FTP is a Constant.

DEF_FTP_INVALIDPASS_DELAY Constant File IdFTPServer (

4648)

Pascal DEF_FTP_INVALIDPASS_DELAY = 3000; Description DEF_FTP_INVALIDPASS_DELAY is a Constant.

DEF_FTP_NO_RESERVED_PORTS Constant File IdFTPServer (

4648)

Pascal DEF_FTP_NO_RESERVED_PORTS = True; Description DEF_FTP_NO_RESERVED_PORTS is a Constant.

DEF_FTP_PASSWORDATTEMPTS Constant File IdFTPServer (

4648)

Pascal DEF_FTP_PASSWORDATTEMPTS = 3; Description DEF_FTP_PASSWORDATTEMPTS is a Constant.

DEF_FTP_PASV_SAME_IP Constant File IdFTPServer (

4648)

Pascal DEF_FTP_PASV_SAME_IP = True; Description DEF_FTP_PASV_SAME_IP is a Constant.

Internet Direct (Indy) Version 10.1.5

3185

DEF_Id_FTP_READTIMEOUT Constant

Constants

DEF_FTP_PERMIT_CCC Constant File IdFTPServer (

4648)

Pascal DEF_FTP_PERMIT_CCC = False; Description DEF_FTP_PERMIT_CCC is a Constant.

DEF_FTP_PORT_SAME_IP Constant File IdFTPServer (

4648)

Pascal DEF_FTP_PORT_SAME_IP = True; Description DEF_FTP_PORT_SAME_IP is a Constant.

DEF_FTP_REPORT_EX_MSG Constant File IdFTPServer (

4648)

Pascal DEF_FTP_REPORT_EX_MSG = False; Description DEF_FTP_REPORT_EX_MSG is a Constant.

DEF_Id_FTP_AUTH_CMD Constant File IdFTP (

4629)

Pascal DEF_Id_FTP_AUTH_CMD = tAuto; Description DEF_Id_FTP_AUTH_CMD is a Constant.

3186

Internet Direct (Indy) Version 10.1.5

Constants

DEF_Id_TIdFTP_Implicit Constant

DEF_Id_FTP_READTIMEOUT Constant Default value for the ReadTimeout property in the TIdFTP (

759) client.

File IdFTP (

4629)

Pascal DEF_Id_FTP_READTIMEOUT = 60000; Description DEF_Id_FTP_READTIMEOUT is a constant that represents the default value for the ReadTimeout property in the TIdFTP ( client.

759)

See Also TIdFTP.ReadTimeout (

828)

DEF_Id_FTP_UseCCC Constant File IdFTP (

4629)

Pascal DEF_Id_FTP_UseCCC = False; Description DEF_Id_FTP_UseCCC is a Constant.

DEF_Id_FTP_UseExtendedDataPort Constant File IdFTP (

4629)

Pascal DEF_Id_FTP_UseExtendedDataPort = False; Description DEF_Id_FTP_UseExtendedDataPort is a Constant.

DEF_Id_TIdFTP_Implicit Constant File IdFTP (

4629)

Pascal DEF_Id_TIdFTP_Implicit = False;

Internet Direct (Indy) Version 10.1.5

3187

DEF_IMP_LOOPBACK Constant

Constants

Description DEF_Id_TIdFTP_Implicit is a Constant.

DEF_Id_TIdFTP_UseExtendedData Constant File IdFTP (

4629)

Pascal DEF_Id_TIdFTP_UseExtendedData = False; Description DEF_Id_TIdFTP_UseExtendedData is a Constant.

DEF_Id_TIdFTP_UseMIS Constant File IdFTP (

4629)

Pascal DEF_Id_TIdFTP_UseMIS = False; Description DEF_Id_TIdFTP_UseMIS is a Constant.

DEF_IMAP4_AUTH Constant File IdIMAP4 (

4666)

Pascal DEF_IMAP4_AUTH = atUserPass; Description DEF_IMAP4_AUTH is a Constant.

DEF_IMAP4_IMPLICIT_TLS Constant File IdIMAP4Server (

4668)

Pascal DEF_IMAP4_IMPLICIT_TLS = False; Description DEF_IMAP4_IMPLICIT_TLS is a constant

3188

Internet Direct (Indy) Version 10.1.5

Constants

DEF_IMP_TTL Constant

DEF_IMP_LOOPBACK Constant Default value used for the LoopBack property in a multicast server. File IdIPMCastServer (

4674)

Pascal DEF_IMP_LOOPBACK = True; Description DEF_IMP_LOOPBACK is a constant value that represents the default value assigned to the TIdIPMCastServer.Loopback ( property.

1391)

See Also TIdIPMCastServer.Loopback (

1391)

DEF_IMP_THREADEDEVENT Constant Default value for the TIdIPMCastClient.ThreadedEvent (

1383) property.

File IdIPMCastClient (

4674)

Pascal DEF_IMP_THREADEDEVENT = False; Description DEF_IMP_THREADEDEVENT is a Boolean constant that represents the default value used the TIdIPMCastClient.ThreadedEvent ( 1383) property. DEF_IMP_THREADEDEVENT is assigned to the property during initialization of the component, and indicates if the TIdIPMCastListenerThread ( 1384) for the client should use it's IPMCastRead method independent of the main VCL thread during startup. See Also TIdIPMCastClient.ThreadedEvent ( TIdIPMCastListenerThread (

1383)

1384)

DEF_IMP_TTL Constant Default TimeToLive property for the MultiCast server. File IdIPMCastServer (

4674)

Pascal DEF_IMP_TTL = 1; Description DEF_IMP_TTL is a constant value that represents the default value assigned to the TIdIPMCastServer.TimeToLive ( Internet Direct (Indy) Version 10.1.5

1392) 3189

DEF_MAXSIZE Constant

Constants

property. See Also TIdIPMCastServer.TimeToLive (

1392)

DEF_INDENTCOUNT Constant Default value for the TIdLPRControlFile.IndentCount (

1478) property.

File IdLPR (

4679)

Pascal DEF_INDENTCOUNT = 0; Description DEF_INDENTCOUNT is a constant representing the default value for the TIdLPRControlFile.IndentCount (

1478) property.

See Also TIdLPRControlFile.IndentCount (

1478)

DEF_MAILWHENPRINTED Constant Default value for the TIdLPRControlFile.MailWhenPrinted (

1479) property.

File IdLPR (

4679)

Pascal DEF_MAILWHENPRINTED = False; Description This is the default value for the TIdLPRControlFile.MailWhenPrinted (

1479) property.

See Also TIdLPRControlFile.MailWhenPrinted (

1479)

DEF_MAXSIZE Constant Default value for server and client packet sizes used in an FSP protocol exchange. File IdFSP (

4628)

Pascal DEF_MAXSIZE = DEF_MAXSPACE+HSIZE; Description DEF_MAXSIZE is an Integer constant that represents the default value for the maximum packet size used in an FSP protocol exchange. DEF_MAXSIZE represents the value derived from the values in DEF_MAXSPACE ( an FSP packet) and HSIZE ( 3219) (the required 12-byte header). 3190

3191) (the largest payload size available in

Internet Direct (Indy) Version 10.1.5

Constants

DEF_OneConnectionPerDomain Constant

DEF_MAXSIZE is the default value assigned to the ServerMaxPacketSize and ClientMaxPacketSize properties in TIdFSP (

713).

See Also DEF_MAXSPACE ( HSIZE (

3191)

3219)

TIdFSP.ServerMaxPacketSize ( TIdFSP.ClientMaxPacketSize (

734) 730)

DEF_MAXSPACE Constant Default value for the data payload size available for a packet transferred in an FSP protocol exchange. File IdFSP (

4628)

Pascal DEF_MAXSPACE = 1012; Description DEF_MAXSPACE is an Integer constant that represents the default value for the largest data payload size available for a packet transferred in an FSP protocol exchange. DEF_MAXSPACE is used with the value in HSIZE (

3219) to derive the value for DEF_MAXSIZE (

3190).

See Also HSIZE (

3219)

DEF_MAXSIZE (

3190)

DEF_MEM_LEVEL Constant File IdZLib (

4757)

Pascal DEF_MEM_LEVEL = 8; Description DEF_MEM_LEVEL is a Constant.

DEF_NNTP_IMPLICIT_TLS Constant File IdNNTPServer (

4693)

Pascal DEF_NNTP_IMPLICIT_TLS = False; Description DEF_NNTP_IMPLICIT_TLS Internet Direct (Indy) Version 10.1.5

3191

DEF_PACKET_SIZE Constant

Constants

DEF_OneConnectionPerDomain Constant File IdSMTPRelay (

4720)

Pascal DEF_OneConnectionPerDomain = True; Description DEF_OneConnectionPerDomain is a Boolean constant that seems to be unused at the moment.

DEF_OUTPUTWIDTH Constant Represents the default output width for LPR control files. File IdLPR (

4679)

Pascal DEF_OUTPUTWIDTH = 0; Description DEF_OUTPUTWIDTH is a constant that represents the default value used for the TIdLPRControlFile.OutputWidth ( 1479) property. DEF_OUTPUTWIDTH is assigned to the TIdLPRControlFile.OutputWidth ( 1479) property in the constructor for the control file. In the Line Printer Daemon Protocol, the WIDTH command can be used to specifiy the number of output columns required for output produced using the Print formatted file, Print file leaving control characters, and Print file with 'pr' format commands in the LPR protocol. DEF_OUTPUTWIDTH and TIdLPRControlFile.OutputWidth (

1479) are ignored for all other LPR commands that generate output.

See Also TIdLPRControlFile.OutputWidth (

1479)

DEF_OWNER Constant File IdFTPListOutput (

4635)

Pascal DEF_OWNER = 'root'; Description DEF_OWNER is a Constant.

DEF_PACKET_SIZE Constant Specifies the default packet size for ICMP messages. 3192

Internet Direct (Indy) Version 10.1.5

Constants

DEF_POP3_IMPLICIT_TLS Constant

File IdIcmpClient (

4665)

Pascal DEF_PACKET_SIZE = 32; Description DEF_PACKET_SIZE is a constant value that specifies the default packet size for ICMP request messages, like an Echo Request. See Also TIdIcmpClient (

1123)

DEF_PASV_BOUND_MAX Constant File IdFTPServer (

4648)

Pascal DEF_PASV_BOUND_MAX = 0; Description DEF_PASV_BOUND_MAX is a Constant.

DEF_PASV_BOUND_MIN Constant File IdFTPServer (

4648)

Pascal DEF_PASV_BOUND_MIN = 0; Description DEF_PASV_BOUND_MIN is a Constant.

DEF_PATHPROCESSING Constant File IdFTPServer (

4648)

Pascal DEF_PATHPROCESSING = ftpOSDependent; Description DEF_PATHPROCESSING is a Constant.

Internet Direct (Indy) Version 10.1.5

3193

DEF_ReplyFormat Constant

Constants

DEF_POP3_IMPLICIT_TLS Constant File IdPOP3Server (

4697)

Pascal DEF_POP3_IMPLICIT_TLS = False; Description DEF_POP3_IMPLICIT_TLS is a Constant.

DEF_POP3USE_IMPLICIT_TLS Constant File IdPOP3 (

4696)

Pascal DEF_POP3USE_IMPLICIT_TLS = False; Description DEF_POP3USE_IMPLICIT_TLS is a Constant.

DEF_REPLY_CODE Constant Default value for the TIdSMTPRelayStatusItem.ReplyCode (

2045) property.

File IdSMTPRelay (

4720)

Pascal DEF_REPLY_CODE = 0; Description DEF_REPLY_CODE is an Integer constant that represents the default value for the TIdSMTPRelayStatusItem.ReplyCode ( property. DEF_REPLY_CODE is used in the TIdSMTPRelayStatusItem.Create ( for items in the collection.

2045)

2043) method when assigning the default property values

See Also TIdSMTPRelayStatusItem.Create (

2043)

DEF_ReplyFormat Constant File IdReplyFTP (

3194

4705)

Internet Direct (Indy) Version 10.1.5

Constants

DEF_SMTP_PIPELINE Constant

Pascal DEF_ReplyFormat = rfNormal; Description DEF_ReplyFormat is a Constant.

DEF_SENT Constant Default value for the TIdSMTPRelayStatusItem.Sent (

2045) property.

File IdSMTPRelay (

4720)

Pascal DEF_SENT = False; Description DEF_SENT is a Boolean constant that represents the default value for the TIdSMTPRelayStatusItem.Sent ( DEF_SENT is used in the TIdSMTPRelayStatusItem.Create ( in the collection.

2045) property.

2043) method when assigning the default property values for items

See Also TIdSMTPRelayStatusItem.Create (

2043)

DEF_SMTP_AUTH Constant Default value for the TIdSMTP.AuthType (

2025) property.

File IdSMTP (

4719)

Pascal DEF_SMTP_AUTH = atDefault; Description DEF_SMTP_AUTH is a constant enumeration value that repesents the default value for the TIdSMTP.AuthType (

2025) property.

See Also TIdSMTP.AuthType (

2025)

DEF_SMTP_PIPELINE Constant Default value for the TIdSMTPBase.Pipeline property. File IdSMTPBase (

4720)

Pascal DEF_SMTP_PIPELINE = True;

Internet Direct (Indy) Version 10.1.5

3195

DEF_TRY_IMPLICITTLS Constant

Constants

Description DEF_SMTP_PIPELINE is a Boolean constant that represents the default value for the TIdSMTPBase.Pipeline property. See Also TIdSMTPBase.Pipeline

DEF_SMTP_Use_ImplicitTLS Constant File IdSMTP (

4719)

Pascal DEF_SMTP_Use_ImplicitTLS = False; Description DEF_SMTP_Use_ImplicitTLS is a Boolean constant that represents the default value for an unknown property???

DEF_SSL_SUPPORT Constant Default value for the TIdSSLSupportOptions.SSLSupport (

2156) property.

File IdSMTPRelay (

4720)

Pascal DEF_SSL_SUPPORT = NoSSL; Description DEF_SSL_SUPPORT is a constant TIdSSLSupport ( TIdSSLSupportOptions.SSLSupport ( 2156) property.

2977) enumeration value that represents the default value for the

DEF_SSL_SUPPORT is used in the TIdSSLSupportOptions.Create (

2155) method when assigning default property values.

See Also TIdSSLSupport (

2977)

TIdSSLSupportOptions.Create (

2155)

TIdSSLSupportOptions.SSLSupport (

2156)

DEF_TRY_IMPLICITTLS Constant Default value for the TIdSSLSupportOptions.TryImplicitTLS (

2156) property.

File IdSMTPRelay (

4720)

Pascal DEF_TRY_IMPLICITTLS = False; Description DEF_TRY_IMPLICITTLS is a Boolean constant that represents the default value for the TIdSSLSupportOptions.TryImplicitTLS ( 3196

Internet Direct (Indy) Version 10.1.5

Constants

DEF_ZLIB_MEM_LEVEL Constant

2156) property. DEF_TRY_IMPLICITTLS is used in the TIdSSLSupportOptions.Create (

2155) method when assigning default property values.

See Also TIdSSLSupportOptions.Create (

2155)

TIdSSLSupportOptions.TryImplicitTLS (

2156)

DEF_TRYMIME Constant Default value for the TryMIME property in TIdDict. File IdDICT (

4615)

Pascal DEF_TRYMIME = False; Description DEF_TRYMIME is a constant that represents the default value for the TryMIME property in TIdDict. See Also TIdDICT.TryMIME (

566)

DEF_USETLS Constant File IdExplicitTLSClientServerBase (

4626)

Pascal DEF_USETLS = utNoTLSSupport; Description DEF_USETLS is a Constant.

DEF_ZLIB_COMP_LEVEL Constant File IdFTPCommon (

4631)

Pascal DEF_ZLIB_COMP_LEVEL = 7; Description DEF_ZLIB_COMP_LEVEL is a Constant.

Internet Direct (Indy) Version 10.1.5

3197

DEFAULT_ADDRESS Constant

Constants

DEF_ZLIB_MEM_LEVEL Constant File IdFTPCommon (

4631)

Pascal DEF_ZLIB_MEM_LEVEL = 8; Description DEF_ZLIB_MEM_LEVEL is a Constant.

DEF_ZLIB_METHOD Constant File IdFTPCommon (

4631)

Pascal DEF_ZLIB_METHOD = 8; Description DEF_ZLIB_METHOD is a Constant.

DEF_ZLIB_STRATAGY Constant File IdFTPCommon (

4631)

Pascal DEF_ZLIB_STRATAGY = 0; Description DEF_ZLIB_STRATAGY is a Constant.

DEF_ZLIB_WINDOW_BITS Constant File IdFTPCommon (

4631)

Pascal DEF_ZLIB_WINDOW_BITS = 15; Description DEF_ZLIB_WINDOW_BITS is a Constant.

3198

Internet Direct (Indy) Version 10.1.5

Constants

DEFAULT_PORT Constant

DEFAULT_ADDRESS Constant File IdHL7 (

4661)

Pascal DEFAULT_ADDRESS = ''; Description DEFAULT_ADDRESS

DEFAULT_COMM_MODE Constant File IdHL7 (

4661)

Pascal DEFAULT_COMM_MODE = cmUnknown; Description DEFAULT_COMM_MODE

DEFAULT_CONN_LIMIT Constant File IdHL7 (

4661)

Pascal DEFAULT_CONN_LIMIT = 1; Description DEFAULT_CONN_LIMIT

DEFAULT_IS_LISTENER Constant File IdHL7 (

4661)

Pascal DEFAULT_IS_LISTENER = True; Description DEFAULT_IS_LISTENER

Internet Direct (Indy) Version 10.1.5

3199

DefIdSysUDPTimeout Constant

Constants

DEFAULT_PORT Constant File IdHL7 (

4661)

Pascal DEFAULT_PORT = 0; Description DEFAULT_PORT

DEFAULT_RECEIVE_TIMEOUT Constant File IdHL7 (

4661)

Pascal DEFAULT_RECEIVE_TIMEOUT = 30000; Description DEFAULT_RECEIVE_TIMEOUT

DEFAULT_RECONNECT_DELAY Constant File IdHL7 (

4661)

Pascal DEFAULT_RECONNECT_DELAY = 15000; Description DEFAULT_RECONNECT_DELAY

DEFAULT_TIMEOUT Constant File IdHL7 (

4661)

Pascal DEFAULT_TIMEOUT = 30000; Description DEFAULT_TIMEOUT

3200

Internet Direct (Indy) Version 10.1.5

Constants

EGenErr Constant

DefIdSysUDPTimeout Constant Default timeout value for UDP_based systat clients. File IdSystatUDP (

4738)

Pascal DefIdSysUDPTimeout = 1000; Description DefIdSysUDPTimeout is an Integer constant that represents the default value for the TIdSystatUDP.ReceiveTimeout ( property.

2299)

See Also TIdSystatUDP.ReceiveTimeout (

2299)

DICT_AUTHDEF Constant Default value for the AuthType property in TIdDICT (

552).

File IdDICT (

4615)

Pascal DICT_AUTHDEF = atDefault; Description DICT_AUTHDEF is a constant that represents the default value for the AuthType property in TIdDICT (

552).

See Also TIdDICT.AuthType (

564)

EBadValue Constant File IdSNMP (

4722)

Pascal EBadValue = 3; Description EBadValue is a Constant.

EGenErr Constant File IdSNMP (

4722)

Internet Direct (Indy) Version 10.1.5

3201

EPLF_BASE_DATE Constant

Constants

Pascal EGenErr = 5; Description EGenErr is a Constant.

ENoError Constant File IdSNMP (

4722)

Pascal ENoError = 0; Description ENoError is a Constant.

ENoSuchName Constant File IdSNMP (

4722)

Pascal ENoSuchName = 2; Description ENoSuchName is a Constant.

EOL Constant Represents the End-of-Line character sequence. File IdGlobal (

4650)

Pascal EOL = CR + LF; Description EOL is the constant value used to represent the End-of-Line character sequence commonly used in most Internet protocols. EOL is used as the default end-of-line sequence when an IOHandler is used to write lines of text to the endpoint for a socket connection. See Also CR (

3174)

LF (

4341)

TIdIOHandler.WriteLn (

3202

1322)

Internet Direct (Indy) Version 10.1.5

Constants

ErrAllocationExceeded Constant

EPLF_BASE_DATE Constant File IdFTPCommon (

4631)

Pascal EPLF_BASE_DATE = 25569; Description EPLF_BASE_DATE is a Constant.

EReadOnly Constant File IdSNMP (

4722)

Pascal EReadOnly = 4; Description EReadOnly is a Constant.

ERR Constant File IdPOP3Server (

4697)

Pascal ERR = '-ERR'; Description ERR is a Constant.

ErrAccessViolation Constant This constant corresponds to the AccessViolation error code (value is 2) in TFTP protocol. File IdTrivialFTPBase (

4748)

Pascal ErrAccessViolation = 2; Description An exception will be raised in the server if read or write access to a file is denied due to an exclusive lock.

Internet Direct (Indy) Version 10.1.5

3203

ErrIllegalOperation Constant

Constants

ErrAllocationExceeded Constant This constant corresponds to the "Disk Full or Allocation Exceeded" error code (value is 3) in TFTP protocol. File IdTrivialFTPBase (

4748)

Pascal ErrAllocationExceeded = 3; Description An exception is raised in the server if when writing a file to the disk at some point no more space is available.

ErrFileAlreadyExists Constant This constant corresponds to the "File Already Exists" error code (value is 6) in TFTP protocol. File IdTrivialFTPBase (

4748)

Pascal ErrFileAlreadyExists = 6; Description Not implemented.

ErrFileNotFound Constant This constant corresponds to the "File Not Found" error code (value is 1) in TFTP protocol. File IdTrivialFTPBase (

4748)

Pascal ErrFileNotFound = 1; Description An exception will be raised in the server if when trying to read the file requested it is not found.

ErrIllegalOperation Constant This constant corresponds to the "Illegal TFTP Operation" error code (value is 1) in TFTP protocol. File IdTrivialFTPBase (

4748)

Pascal ErrIllegalOperation = 4;

3204

Internet Direct (Indy) Version 10.1.5

Constants

ErrUnknownTransferID Constant

Description An exception will be raised in the server if it receives a non-expected opcode and this code will be sent to the client. Basically, if the first opcode is not WRQ (Write request) or RRQ (Read request).

ErrNoSuchUser Constant This constant corresponds to the "No such user" error code (value is 7) in TFTP protocol. File IdTrivialFTPBase (

4748)

Pascal ErrNoSuchUser = 7; Description Not implemented

ErrOptionNegotiationFailed Constant This constant corresponds to the "Option Negotiation Failed" error code (value is 8) in TFTP protocol with Option Extension. For more info on it see: RFC 1782 - TFTP Option Extension File IdTrivialFTPBase (

4748)

Pascal ErrOptionNegotiationFailed = 8; Description Not used. Options are implemented so that this error code is not needed.

ErrUndefined Constant This constant corresponds to the "Undefined" error code (value is 0) in TFTP protocol. File IdTrivialFTPBase (

4748)

Pascal ErrUndefined = 0; Description In case there occurs a non-TFTP specified error in the server, this code would be sent to the client

ErrUnknownTransferID Constant This constant corresponds to the "Unknown transfer ID" error code (value is 5) in TFTP protocol.

Internet Direct (Indy) Version 10.1.5

3205

fmOpenRead Constant

Constants

File IdTrivialFTPBase (

4748)

Pascal ErrUnknownTransferID = 5; Description Not implemented

ETooBig Constant File IdSNMP (

4722)

Pascal ETooBig = 1; Description ETooBig is a Constant.

ExplicitTLSVals Constant File IdExplicitTLSClientServerBase (

4626)

Pascal ExplicitTLSVals = [utUseRequireTLS,utUseExplicitTLS]; Description ExplicitTLSVals is a Constant.

fmCreate Constant Platform-specific file mode constant. File IdObjs (

4694)

Pascal fmCreate = $FFFF; Description fmCreate is an Integer constant that represents the platform-specific value to associate with the file mode.

fmOpenRead Constant Platform-specific file mode constant.

3206

Internet Direct (Indy) Version 10.1.5

Constants

fmShareDenyWrite Constant

File IdObjs (

4694)

Pascal fmOpenRead = $0000; Description fmOpenRead is an Integer constant that represents the platform-specific value to associate with the file mode.

fmOpenReadWrite Constant Platform-specific file mode constant. File IdObjs (

4694)

Pascal fmOpenReadWrite = $0002; Description fmOpenReadWrite is an Integer constant that represents the platform-specific value to associate with the file mode.

fmOpenWrite Constant Platform-specific file mode constant. File IdObjs (

4694)

Pascal fmOpenWrite = $0001; Description fmOpenWrite is an Integer constant that represents the platform-specific value to associate with the file mode.

fmShareDenyNone Constant Platform-specific file mode constant. File IdObjs (

4694)

Pascal fmShareDenyNone = $0040; Description fmShareDenyNone is an Integer constant that represents the platform-specific value to associate with the file mode.

Internet Direct (Indy) Version 10.1.5

3207

GBase64CodeTable Constant

Constants

fmShareDenyWrite Constant Platform-specific file mode constant. File IdObjs (

4694)

Pascal fmShareDenyWrite = $0020; Description fmShareDenyWrite is an Integer constant that represents the platform-specific value to associate with the file mode.

fmShareExclusive Constant Platform-specific file mode constant. File IdObjs (

4694)

Pascal fmShareExclusive = $0010; Description fmShareExclusive is an Integer constant that represents the platform-specific value to associate with the file mode.

GBase64CodeTable Constant Represents the valid characters that constitute the Base64 alphabet. File IdCoderMIME (

4595)

Pascal GBase64CodeTable: string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; Description GBase64CodeTable is a String constant Represents the valid characters that constitute the Base64 alphabet. GBase64CodeTable is used as the value for the TIdEncoderMIME ( 664) coding table. The following table identifies the characters in the Base64 alphabet:

3208

A

a

0

B

b

1

C

c

2

D

d

3

E

e

4

F

f

5

Internet Direct (Indy) Version 10.1.5

Constants

GBinHex4IdentificationString Constant

G

g

6

H

h

7

I

i

8

J

j

9

K

k

+

L

l

/

M

m

N

n

O

o

P

p

Q

q

R

r

S

s

T

t

U

u

V

v

W

w

X

x

Y

y

Z

z

An additional character, the "=" character, has special significance in the Base64 encoding scheme; it is used as a padding character. See Also TIdEncoderMIME (

664)

GBinHex4CodeTable Constant Represents the characters allowed in BinHex 4.0 encoded content. File IdCoderBinHex4 (

4593)

Pascal GBinHex4CodeTable: string = '!"#$%&''()*+,-012345689@ABCDEFGHIJKLMNPQRSTUVXYZ[`abcdefhijklmpqr'; Description GBinHex4CodeTable is a String constant that represents the characters allowed in BinHex 4.0 encoded content. GBinHex4CodeTable is used in coding table for the TIdDecoderBinHex4 ( 538) and TIdEncoderBinHex4 ( 661) components. See Also TIdDecoderBinHex4 (

538)

TIdEncoderBinHex4 (

661)

Internet Direct (Indy) Version 10.1.5

3209

GFContentLength Constant

Constants

GBinHex4IdentificationString Constant Represents the required identification string used at the beginning of Apple BinHex 4.0-encoded content. File IdCoderBinHex4 (

4593)

Pascal GBinHex4IdentificationString: string = '(This file must be converted with BinHex 4.0)'; Description GBinHex4IdentificationString is a String constant that represents the required identification string used at the beginning of Apple BinHex 4.0-encoded content. GBinHex4IdentificationString is used to write the identification string in the TIdEncoderBinHex4.EncodeFile (

663) method.

See Also TIdEncoderBinHex4.EncodeFile (

663)

GContentType Constant Default value for the TIdHTTPResponseInfo.ContentType property. File IdCustomHTTPServer (

4608)

Pascal GContentType = 'text/html'; Description GContentType is a String constant that represents the default value for the TIdHTTPResponseInfo.ContentType property. GContentType is used during initialization of the component to set value used when creating an HTTP response that cannot determine the MIME type for the response. See Also TIdHTTPResponse.ContentType

GFContentLength Constant Default value for the TIdHTTPResponseInfo.ContentLength property. File IdCustomHTTPServer (

4608)

Pascal GFContentLength = -1; Description GFContentLength is an Integer constant that specifies the default value for the TIdHTTPResponseInfo.ContentLength property. This is used in the class definition and the constructor. GFContentLength is the value assigned to a TIdHTTPResponseInfo ( 3210

1089) instance, and used when writing headers for an Internet Direct (Indy) Version 10.1.5

Constants

GFTTL Constant

HTTP response. GFContentLength is the value used to ensure that content-length headers will not be written in the HTTP response. See Also TIdHTTPResponseInfo.ContentLength

GFMaxAge Constant Default value for the TIdCookieRFC2109.MaxAge (

390) property.

File IdCookie (

4606)

Pascal GFMaxAge = -1; Description GFMaxAge is a global constant that represents the default value used for the TIdCookieRFC2109.MaxAge (

390) property.

See Also TIdCookieRFC2109.MaxAge (

390)

TIdNetscapeCookie.Expires (

1683)

GFRequestedBlockSize Constant Default TrivialFTP request block size. File IdTrivialFTP (

4748)

Pascal GFRequestedBlockSize = 1500; Description GFRequestedBlockSize is a constant Integer value that represents the global default block size used in TFTP requests. TIdTrivialFTP.RequestedBlockSize (

2493) receives the value of GFRequestedBlockSize in the constructor for the object instance.

See Also TIdTrivialFTP.RequestedBlockSize (

2493)

GFTTL Constant Default Time-To-Live for TIdRawBase (

1809) object instances.

File IdRawBase (

4699)

Pascal GFTTL = 128; Description GFTTL is a constant Integer value that represents the default Time-To-Live assigned to the TIdRawBase.TTL property in the Internet Direct (Indy) Version 10.1.5

3211

GPathDelim Constant

Constants

constructor for the object instance. See Also TIdRawBase.TTL

GLoginAttempts Constant Maximum login attempts for a threaded connection to the Telnet server. File IdTelnetServer (

4743)

Pascal GLoginAttempts = 3; Description GLoginAttempts is a constant Integer value that represents the maximum number of login attempts permitted when attempting a connection to TIdTelnetServer ( 2399). GLoginAttempts is assigned to the TIdTelnetServer.LoginAttempts ( 2402) property in the constructor for the server instance, and is used for all TIdPeerThread connections to the server.

GOSType Constant Indicates the Operating System hosting the Indy application. File IdGlobal (

4650)

Pascal GOSType = otDotNet; Description GOSType is a constant that indicates the Operating System or platform hosting the application using the Indy library. The value in GOSType is assigned based on compiler defines for the operating system or platform, and can contain the following values:

Value

Meaning

otLinux

Linux operating system

otWindows

Windows operating system

otDotNet

Net platform

Use GPathDelim (

3212) to determine the path delimiter to use for the host operating system or platform.

See Also GPathDelim (

3212)

GPathDelim Constant Identifies the platform- or operating system-specific path delimiter character.

3212

Internet Direct (Indy) Version 10.1.5

Constants

GRecvBufferSizeDefault Constant

File IdGlobal (

4650)

Pascal GPathDelim = '\'; Description GPathDelim is a constant String value that identifies the platform- or operating system-specific path separator character.

For the Windows and .Net platforms, GPathDelim contains the '' character.

For the Linux platform, GPathDelim contains the '/' character. GPathDelim is used in the IncludeTrailingPathDelimiter method to normalize a file path value to include the trailing path delimiter for the platform. See Also IncludeTrailingPathDelimiter

GReceiveTimeout Constant Default value for the TIdTrivialFTP.ReceiveTimeout property. File IdTrivialFTP (

4748)

Pascal GReceiveTimeout = 4000; Description GReceiveTimeout is an Integer constant that represents the default value used for the TIdTrivialFTP.ReceiveTimeout property. GReceiveTimeout is assigned to the property during initialization of the TIdTrivialFTP (

2488) component.

See Also TIdTrivialFTP.ReceiveTimeout

GRecvBufferSizeDefault Constant Default size allocated for the receive buffer in TIdIOHandler (

1284).

File IdIOHandler (

4670)

Pascal GRecvBufferSizeDefault = 32 * 1024; Description GRecvBufferSizeDefault is an Integer constant that represents the default size allocated for the receive buffer in TIdIOHandler ( 1284). GRecvBufferSizeDefault is used in TIdIOHandler.Create. Internet Direct (Indy) Version 10.1.5

3213

GServerSoftware Constant

Constants

See Also TIdIOHandler (

1284)

GResponseNo Constant Default value for the TIdHTTPResponseInfo.ResponseNo (

1099) property.

File IdCustomHTTPServer (

4608)

Pascal GResponseNo = 200; Description GResponseNo is an Integer constant that represents the default value for the TIdHTTPResponseInfo.ResponseNo ( property. GResponseNo is the value assigned when creating the TIdHTTPResponseInfo (

1099)

1089) instance for an HTTP response.

See Also TIdHTTPResponseInfo.Create (

1092)

GSendBufferSizeDefault Constant Default size allocated for the send buffer in TIdIOHandler (

1284).

File IdIOHandler (

4670)

Pascal GSendBufferSizeDefault = 32 * 1024; Description GSendBufferSizeDefault is an Integer constant that represents the default size allocated for the send buffer in TIdIOHandler ( 1284). GSendBufferSizeDefault is used in TIdIOHandler.Create. See Also TIdIOHandler.Create

GServerSoftware Constant Default value for the TIdHTTPResponseInfo.ServerSoftware (

1101) property.

File IdCustomHTTPServer (

4608)

Pascal GServerSoftware = gsIdProductName + '/' + gsIdVersion;

3214

Internet Direct (Indy) Version 10.1.5

Constants

GUUECodeTable Constant

Description GServerSoftware is a String constant that represents the default value for the TIdHTTPResponseInfo.ServerSoftware ( property. GServerSoftware is used when creating the TIdHTTPResponseInfo (

1101)

1089) instance for the HTTP response.

See Also TIdHTTPResponseInfo.ServerSoftware ( TIdHTTPResponseInfo.Create (

1101)

1092)

GSessionIDCookie Constant Cookie name used to maintain a persistent connection for HTTP client connections. File IdCustomHTTPServer (

4608)

Pascal GSessionIDCookie = 'IDHTTPSESSIONID'; Description GSessionIDCookie is a String constant that represents the Cookie name used to set or retrieve the SessionID, used in TIdHTTPRequestInfo ( 1077) and TIdHTTPResponseInfo ( 1089), that identifies a persistent HTTP connection for a client connection. A Cookie containing GSessionIDCookie is created for the TIdHTTPRequest ( HTTP connection when threaded client is executed.

1072) and TIdHTTPResponse (

1085) used by the

See Also TIdHTTPRequestInfo.Cookies (

1082)

TIdHTTPResponseInfo.Cookies (

1098)

GTransferMode Constant Default TrivialFTP transfer mode. File IdTrivialFTP (

4748)

Pascal GTransferMode = tfOctet; Description GTransferMode is a constant value that represents the default TIdTFTPMode ( TIdTrivialFTP.TransferMode ( 2493) property.

2981) file transfer mode used in the

See Also TIdTFTPMode (

2981)

TIdTrivialFTP.TransferMode (

2493)

Internet Direct (Indy) Version 10.1.5

3215

GXXECodeTable Constant

Constants

GUUECodeTable Constant Represents the valid characters in the UUEncode alphabet. File IdCoderUUE (

4597)

Pascal GUUECodeTable: string = '`!"#$%&''()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'; Description GUUECodeTable is a String constant that represents the valid characters in the UUEncode alphabet. GUUECodeTable is used as the value for the TIdEncoderUUE ( 667) coding table. See Also IdCoderUUE.pas (

4597)

TIdEncoderUUE (

667)

GXXECodeTable Constant Represents valid characters and their ordinal position in the XXEncode alphabet. File IdCoderXXE (

4599)

Pascal GXXECodeTable: string = '+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; Description GXXECodeTable is a String constant that represents the valid characters, and their ordinal position, in the XXEncode alphabet. GXXECodeTable includes the following:

Position

Encoding

0

+

1

-

2

0

3

1

4

2

5

3

6

4

7

5

8

6

9

7

10

8

11

9

12

A

13

B

3216

Internet Direct (Indy) Version 10.1.5

Constants

GXXECodeTable Constant

14

C

15

D

16

E

17

F

18

G

19

H

20

I

21

J

22

K

23

L

24

M

25

N

26

O

27

P

28

Q

29

R

30

S

31

T

32

U

33

V

34

W

35

X

36

Y

37

Z

38

a

39

b

40

c

41

d

42

e

43

f

44

g

45

h

46

i

47

j

48

k

49

l

50

m

51

n

52

o

53

p

54

q

55

r

56

s

Internet Direct (Indy) Version 10.1.5

3217

HEXPREFIX Constant

Constants

57

t

58

u

59

v

60

w

61

x

62

y

63

z

See Also GXXEDecodeTable (

3128)

GZIP_WINBITS Constant File IdZLib (

4757)

Pascal GZIP_WINBITS = MAX_WBITS + 16; Description GZIP_WINBITS is a Constant.

hdrsize Constant this constant corresponds to the TFTP header size on DATA packets. File IdTrivialFTPBase (

4748)

Pascal hdrsize = 4; Description Value of this constant is 4, which is the size of opcode + block number

HEXPREFIX Constant Identifies the prefix used for hexadecimal characters in a string. File IdGlobal (

4650)

Pascal HEXPREFIX = '0x'; Description HEXPREFIX is a constant that represents the prefix used for hexadecimal values appearing in a string. HEXPREFIX is used in utility functions, like IPv4ToHex ( 2844) and IPv4ToDWord ( 2842), to indicate a character string contains values expressed in 3218

Internet Direct (Indy) Version 10.1.5

Constants

HTTPRequestStrings Constant

their hexadecimal form. See Also IPv4ToHex (

2844)

IPv4ToDWord (

2842)

HoursPerDay Constant Number of hours in a day. File IdGlobal (

4650)

Pascal HoursPerDay = 24; Description HoursPerDay is an Integer constant that represents the number of hours occurring in a day. HoursPerDay is defined for use on the Windows and Linux platforms. See Also HoursPerDay MinsPerHour ( SecsPerMin (

4353) 4372)

MSecsPerSec (

4355)

MinsPerDay (

4353)

SecsPerDay (

4372)

MSecsPerDay (

4355)

HSIZE Constant Size for required headers in packets transferred in FSP protocol exchanges. File IdFSP (

4628)

Pascal HSIZE = 12; Description HSIZE is an Integer constant that represents the size for headers required in a packet used in an FSP protocol exchange. DEF_MAXSPACE (

3191) is used with the value in HSIZE to derive the value for DEF_MAXSIZE (

3190).

See Also DEF_MAXSPACE ( DEF_MAXSIZE (

3191) 3190)

Internet Direct (Indy) Version 10.1.5

3219

ICMP_MIN Constant

Constants

HTTPRequestStrings Constant String representations of HTTP commands for an HTTP request. File IdCustomHTTPServer (

4608)

Pascal HTTPRequestStrings: array[0..ord(high(THTTPCommandType))] of string = ('UNKNOWN', 'HEAD','GET','POST','DELETE','PUT','TRACE', 'OPTIONS'); Description HTTPRequestStrings is a constant array containing Strings values that represent HTTP commands defined in the THTTPCommandType ( 2944) enumeration. HTTPRequestStrings is used when decoding the HTTP values received in an HTTP request to set the value in the TIdHTTPRequestInfo.CommandType ( 1081) property. See Also TIdHTTPRequestInfo.CommandType ( THTTPCommandType (

1081)

2944)

iAA_Authoritative Constant File IdDNSCommon (

4617)

Pascal iAA_Authoritative = 1; Description iAA_Authoritative is a Constant.

iAA_NotAuthoritative Constant File IdDNSCommon (

4617)

Pascal iAA_NotAuthoritative = 0; Description iAA_NotAuthoritative is a Constant.

ICMP_MIN Constant File IdRawHeaders ( 3220

4701) Internet Direct (Indy) Version 10.1.5

Constants

ICMP6_DST_UNREACH_NOPORT

Pascal ICMP_MIN = 8; Description ICMP_MIN is a Constant.

ICMP6_DST_UNREACH Constant File IdRawHeaders (

4701)

Pascal ICMP6_DST_UNREACH = 1; Description ICMP6_DST_UNREACH is a Constant.

ICMP6_DST_UNREACH_ADDR Constant File IdRawHeaders (

4701)

Pascal ICMP6_DST_UNREACH_ADDR = 3; Description ICMP6_DST_UNREACH_ADDR is a Constant.

ICMP6_DST_UNREACH_ADMIN Constant File IdRawHeaders (

4701)

Pascal ICMP6_DST_UNREACH_ADMIN = 1; Description ICMP6_DST_UNREACH_ADMIN is a Constant.

ICMP6_DST_UNREACH_NOPORT Constant File IdRawHeaders (

4701)

Pascal ICMP6_DST_UNREACH_NOPORT = 4;

Internet Direct (Indy) Version 10.1.5

3221

ICMP6_ECHO_REPLY Constant

Constants

Description ICMP6_DST_UNREACH_NOPORT is a Constant.

ICMP6_DST_UNREACH_NOROUTE Constant File IdRawHeaders (

4701)

Pascal ICMP6_DST_UNREACH_NOROUTE = 0; Description ICMP6_DST_UNREACH_NOROUTE is a Constant.

ICMP6_DST_UNREACH_NOTNEIGHBOR Constant File IdRawHeaders (

4701)

Pascal ICMP6_DST_UNREACH_NOTNEIGHBOR = 2; Description ICMP6_DST_UNREACH_NOTNEIGHBOR is a Constant.

ICMP6_DST_UNREACH_REJCT_DST Constant File IdRawHeaders (

4701)

Pascal ICMP6_DST_UNREACH_REJCT_DST = 6; Description ICMP6_DST_UNREACH_REJCT_DST is a Constant.

ICMP6_DST_UNREACH_SOURCE_FILTERING Constant File IdRawHeaders (

4701)

Pascal ICMP6_DST_UNREACH_SOURCE_FILTERING = 5; Description ICMP6_DST_UNREACH_SOURCE_FILTERING is a Constant.

3222

Internet Direct (Indy) Version 10.1.5

Constants

ICMP6_MEMBERSHIP_REDUCTION

ICMP6_ECHO_REPLY Constant File IdRawHeaders (

4701)

Pascal ICMP6_ECHO_REPLY = 129; Description ICMP6_ECHO_REPLY is a Constant.

ICMP6_ECHO_REQUEST Constant File IdRawHeaders (

4701)

Pascal ICMP6_ECHO_REQUEST = 128; Description ICMP6_ECHO_REQUEST is a Constant.

ICMP6_INFOMSG_MASK Constant File IdRawHeaders (

4701)

Pascal ICMP6_INFOMSG_MASK = $80; Description ICMP6_INFOMSG_MASK is a Constant.

ICMP6_MEMBERSHIP_QUERY Constant File IdRawHeaders (

4701)

Pascal ICMP6_MEMBERSHIP_QUERY = 130; Description ICMP6_MEMBERSHIP_QUERY is a Constant.

Internet Direct (Indy) Version 10.1.5

3223

ICMP6_PARAMPROB_HEADER Constant

Constants

ICMP6_MEMBERSHIP_REDUCTION Constant File IdRawHeaders (

4701)

Pascal ICMP6_MEMBERSHIP_REDUCTION = 132; Description ICMP6_MEMBERSHIP_REDUCTION is a Constant.

ICMP6_MEMBERSHIP_REPORT Constant File IdRawHeaders (

4701)

Pascal ICMP6_MEMBERSHIP_REPORT = 131; Description ICMP6_MEMBERSHIP_REPORT is a Constant.

ICMP6_PACKET_TOO_BIG Constant File IdRawHeaders (

4701)

Pascal ICMP6_PACKET_TOO_BIG = 2; Description ICMP6_PACKET_TOO_BIG is a Constant.

ICMP6_PARAM_PROB Constant File IdRawHeaders (

4701)

Pascal ICMP6_PARAM_PROB = 4; Description ICMP6_PARAM_PROB is a Constant.

3224

Internet Direct (Indy) Version 10.1.5

Constants

ICMP6_TIME_EXCEED_TRANSIT Constant

ICMP6_PARAMPROB_HEADER Constant File IdRawHeaders (

4701)

Pascal ICMP6_PARAMPROB_HEADER = 0; Description ICMP6_PARAMPROB_HEADER is a Constant.

ICMP6_PARAMPROB_NEXTHEADER Constant File IdRawHeaders (

4701)

Pascal ICMP6_PARAMPROB_NEXTHEADER = 1; Description ICMP6_PARAMPROB_NEXTHEADER is a Constant.

ICMP6_PARAMPROB_OPTION Constant File IdRawHeaders (

4701)

Pascal ICMP6_PARAMPROB_OPTION = 2; Description ICMP6_PARAMPROB_OPTION is a Constant.

ICMP6_TIME_EXCEED_REASSEMBLY Constant File IdRawHeaders (

4701)

Pascal ICMP6_TIME_EXCEED_REASSEMBLY = 1; Description ICMP6_TIME_EXCEED_REASSEMBLY is a Constant.

Internet Direct (Indy) Version 10.1.5

3225

Id__S_ISGID Constant

Constants

ICMP6_TIME_EXCEED_TRANSIT Constant File IdRawHeaders (

4701)

Pascal ICMP6_TIME_EXCEED_TRANSIT = 0; Description ICMP6_TIME_EXCEED_TRANSIT is a Constant.

ICMP6_TIME_EXCEEDED Constant File IdRawHeaders (

4701)

Pascal ICMP6_TIME_EXCEEDED = 3; Description ICMP6_TIME_EXCEEDED is a Constant.

Id__S_IEXEC Constant File IdFTPCommon (

4631)

Pascal Id__S_IEXEC = $40; Description Id__S_IEXEC is a Constant.

Id__S_IREAD Constant File IdFTPCommon (

4631)

Pascal Id__S_IREAD = $100; Description Id__S_IREAD is a Constant.

3226

Internet Direct (Indy) Version 10.1.5

Constants

ID_ACCEPT_WAIT Constant

Id__S_ISGID Constant File IdFTPCommon (

4631)

Pascal Id__S_ISGID = $400; Description Id__S_ISGID is a Constant.

Id__S_ISUID Constant File IdFTPCommon (

4631)

Pascal Id__S_ISUID = $800; Description Id__S_ISUID is a Constant.

Id__S_ISVTX Constant File IdFTPCommon (

4631)

Pascal Id__S_ISVTX = $200; Description Id__S_ISVTX is a Constant.

Id__S_IWRITE Constant File IdFTPCommon (

4631)

Pascal Id__S_IWRITE = $80; Description Id__S_IWRITE is a Constant.

Internet Direct (Indy) Version 10.1.5

3227

Id_AIPN_A_N Constant

Constants

ID_ACCEPT_WAIT Constant Default timeout value used when accepting connections in TIdSimpleServer (

2007).

File IdSimpleServer (

4718)

Pascal ID_ACCEPT_WAIT = 1000; Description ID_ACCEPT_WAIT is an Integer constant that represents the default timeout value used when accepting new connections in TIdSimpleServer ( 2007). ID_ACCEPT_WAIT is used as the default for the TIdSimpleServer.AcceptWait (

2011) property.

See Also TIdSimpleServer.AcceptWait (

2011)

Id_AIPN_0_HOP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_0_HOP = 114; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_3PC Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_3PC = 34; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3228

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_Any_LAN Constant

Id_AIPN_A_N Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_A_N = 107; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_Any_Distributed_File_System Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Any_Distributed_File_System = 68; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_Any_Host_Internal Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Any_Host_Internal = 61; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3229

Id_AIPN_ARIS Constant

Constants

Id_AIPN_Any_LAN Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Any_LAN = 63; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_Any_Private_Encryption Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Any_Private_Encryption = 99; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_ARGUS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ARGUS = 13; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3230

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_BNA Constant

Id_AIPN_ARIS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ARIS = 104; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_AX_25 Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_AX_25 = 93; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_BBN_RCC_MON Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_BBN_RCC_MON = 10; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3231

Id_AIPN_CHAOS Constant

Constants

Id_AIPN_BNA Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_BNA = 49; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_BR_SAT_MON Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_BR_SAT_MON = 76; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_CFTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_CFTP = 62; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3232

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_CPNX Constant

Id_AIPN_CHAOS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_CHAOS = 16; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_Compaq_Peer Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Compaq_Peer = 110; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_CPHB Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_CPHB = 73; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3233

Id_AIPN_DCN_MEAS Constant

Constants

Id_AIPN_CPNX Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_CPNX = 72; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_CRTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_CRTP = 126; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_CRUDP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_CRUDP = 127; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3234

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_DGP Constant

Id_AIPN_DCN_MEAS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_DCN_MEAS = 19; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_DDP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_DDP = 37; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_DDX Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_DDX = 116; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3235

Id_AIPN_ENCAP Constant

Constants

Id_AIPN_DGP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_DGP = 86; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_EGP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_EGP = 8; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_EMCON Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_EMCON = 14; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3236

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_FC Constant

Id_AIPN_ENCAP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ENCAP = 98; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_ETHERIP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ETHERIP = 97; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_EXPAK Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_EXPAK = 79; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3237

Id_AIPN_GMTP Constant

Constants

Id_AIPN_FC Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_FC = 133; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_FIRE Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_FIRE = 125; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_GGP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_GGP = 3; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3238

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_I_NLSP Constant

Id_AIPN_GMTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_GMTP = 100; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_GRE Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_GRE = 47; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_HMP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_HMP = 20; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3239

Id_AIPN_IDPR Constant

Constants

Id_AIPN_I_NLSP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_I_NLSP = 52; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IATP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IATP = 117; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_ICMP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ICMP = 1; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3240

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_IFMP Constant

Id_AIPN_IDPR Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IDPR = 35; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IDPR_CMTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IDPR_CMTP = 38; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IDRP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IDRP = 45; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3241

Id_AIPN_IGRP Constant

Constants

Id_AIPN_IFMP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IFMP = 101; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IGMP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IGMP = 2; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IGP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IGP = 9; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3242

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_IPComp Constant

Id_AIPN_IGRP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IGRP = 88; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IL Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IL = 40; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IP = 4; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3243

Id_AIPN_IPLT Constant

Constants

Id_AIPN_IPComp Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPComp = 108; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IPCV Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPCV = 71; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IPIP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPIP = 94; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3244

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_IPV6_NO_NEXT Constant

Id_AIPN_IPLT Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPLT = 129; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IPPC Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPPC = 67; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IPV6_ICMP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPV6_ICMP = 58; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3245

Id_AIPN_IRTP Constant

Constants

Id_AIPN_IPV6_NO_NEXT Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPV6_NO_NEXT = 59; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IPV6_OPTS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPV6_OPTS = 60; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_IPX_In_IP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IPX_In_IP = 111; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3246

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_ISO_TP4 Constant

Id_AIPN_IRTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_IRTP = 28; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_ISIS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ISIS = 124; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_ISO_IP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ISO_IP = 80; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3247

Id_AIPN_L2TP Constant

Constants

Id_AIPN_ISO_TP4 Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ISO_TP4 = 29; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_KRYPTOLAN Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_KRYPTOLAN = 65; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_Kryptonet Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Kryptonet = 58; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3248

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_LEAF_2 Constant

Id_AIPN_L2TP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_L2TP = 115; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_LARP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_LARP = 91; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_LEAF_1 Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_LEAF_1 = 25; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3249

Id_AIPN_MICP Constant

Constants

Id_AIPN_LEAF_2 Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_LEAF_2 = 26; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_MERIT_IMP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_MERIT_IMP = 32; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_MHRP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_MHRP = 48; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3250

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_MUX Constant

Id_AIPN_MICP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_MICP = 95; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_MOBILE Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_MOBILE = 55; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_MTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_MTP = 92; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3251

Id_AIPN_NHRP Constant

Constants

Id_AIPN_MUX Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_MUX = 18; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_NETBLT Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_NETBLT = 30; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_NFE_NSP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_NFE_NSP = 31; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3252

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_OSPFIGP Constant

Id_AIPN_NHRP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_NHRP = 54; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_NSFNET_IGP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_NSFNET_IGP = 85; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_NVP_II Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_NVP_II = 11; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3253

Id_AIPN_PIPE Constant

Constants

Id_AIPN_OSPFIGP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_OSPFIGP = 89; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_PGM Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_PGM = 113; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_PIM Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_PIM = 103; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3254

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_PTP Constant

Id_AIPN_PIPE Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_PIPE = 131; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_PNNI Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_PNNI = 102; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_PRM Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_PRM = 21; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3255

Id_AIPN_QNX Constant

Constants

Id_AIPN_PTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_PTP = 123; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_PUP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_PUP = 12; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_PVP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_PVP = 75; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3256

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_Reserved2 Constant

Id_AIPN_QNX Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_QNX = 106; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_RDP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_RDP = 27; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_Reserved Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Reserved = 0; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3257

Id_AIPN_RVD Constant

Constants

Id_AIPN_Reserved2 Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Reserved2 = 255; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_RSVP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_RSVP = 46; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_RSVP_E2E_IGNORE Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_RSVP_E2E_IGNORE = 134; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3258

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_SCC_SP Constant

Id_AIPN_RVD Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_RVD = 66; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SAT_EXPACK Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SAT_EXPACK = 64; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SAT_MON Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SAT_MON = 69; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3259

Id_AIPN_SDRP Constant

Constants

Id_AIPN_SCC_SP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SCC_SP = 96; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SCPS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SCPS = 105; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SCTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SCTP = 132; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3260

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_SIP Constant

Id_AIPN_SDRP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SDRP = 42; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SECURE_VMTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SECURE_VMTP = 82; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SEP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SEP = 33; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3261

Id_AIPN_SIPP_AH Constant

Constants

Id_AIPN_SIP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SIP = 41; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SIP_FRAG Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SIP_FRAG = 44; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SIP_SR Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SIP_SR = 43; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3262

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_SM Constant

Id_AIPN_SIPP_AH Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SIPP_AH = 51; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SIPP_ESB Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SIPP_ESB = 50; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SKIP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SKIP = 57; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3263

Id_AIPN_Sprite_RPC Constant

Constants

Id_AIPN_SM Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SM = 122; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SMP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SMP = 121; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SNP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SNP = 109; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3264

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_SSCOPMCE Constant

Id_AIPN_Sprite_RPC Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_Sprite_RPC = 90; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SPS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SPS = 130; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SRP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SRP = 119; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3265

Id_AIPN_SUN_ND Constant

Constants

Id_AIPN_SSCOPMCE Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SSCOPMCE = 128; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_ST Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_ST = 5; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_STP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_STP = 118; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3266

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_TCP Constant

Id_AIPN_SUN_ND Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SUN_ND = 77; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_SWIPE Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_SWIPE = 53; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_TCF Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_TCF = 87; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3267

Id_AIPN_TRUNK_1 Constant

Constants

Id_AIPN_TCP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_TCP = 6; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_TLSP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_TLSP = 56; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_TP_PLUS_PLUS Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_TP_PLUS_PLUS = 39; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3268

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_UCL Constant

Id_AIPN_TRUNK_1 Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_TRUNK_1 = 23; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_TRUNK_2 Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_TRUNK_2 = 24; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_TTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_TTP = 84; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3269

Id_AIPN_VINES Constant

Constants

Id_AIPN_UCL Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_UCL = 7; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_UDP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_UDP = 17; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_UTI Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_UTI = 120; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3270

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIPN_VRRP Constant

Id_AIPN_VINES Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_VINES = 83; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_VISA Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_VISA = 70; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_VMTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_VMTP = 81; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3271

Id_AIPN_XNET Constant

Constants

Id_AIPN_VRRP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_VRRP = 112; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_WB_MON Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_WB_MON = 78; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_WSM Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_WSM = 74; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

3272

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIVN_IP Constant

Id_AIPN_XNET Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_XNET = 15; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_XNS_IDP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_XNS_IDP = 22; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Id_AIPN_XTP Constant IANA (

4762) Protocol Numbers

File IdAssignedNumbers (

4557)

Pascal Id_AIPN_XTP = 36; Description Internet Assigned Numbering Authority (IANA (

4762)) protocol numbers, as described in the Internet Standards documents:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Protocol Numbers

Internet Direct (Indy) Version 10.1.5

3273

Id_AIVN_Rserved Constant

Constants

Id_AIVN_IP Constant IANA (

4762) Version Numbers.

File IdAssignedNumbers (

4557)

Pascal Id_AIVN_IP = 4; Description Internet Assigned Numbering Authority (IANA (

4762)) version numbers, as described in the Internet Standards document:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Version Numbers

Id_AIVN_PIP Constant IANA (

4762) Version Numbers.

File IdAssignedNumbers (

4557)

Pascal Id_AIVN_PIP = 8; Description Internet Assigned Numbering Authority (IANA (

4762)) version numbers, as described in the Internet Standards document:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Version Numbers

Id_AIVN_Reserved2 Constant IANA (

4762) Version Numbers.

File IdAssignedNumbers (

4557)

Pascal Id_AIVN_Reserved2 = 15; Description Internet Assigned Numbering Authority (IANA (

4762)) version numbers, as described in the Internet Standards document:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Version Numbers

3274

Internet Direct (Indy) Version 10.1.5

Constants

Id_AIVN_TP_IX Constant

Id_AIVN_Rserved Constant IANA (

4762) Version Numbers.

File IdAssignedNumbers (

4557)

Pascal Id_AIVN_Rserved = 0; Description Internet Assigned Numbering Authority (IANA (

4762)) version numbers, as described in the Internet Standards document:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Version Numbers

Id_AIVN_SIP Constant IANA (

4762) Version Numbers.

File IdAssignedNumbers (

4557)

Pascal Id_AIVN_SIP = 6; Description Internet Assigned Numbering Authority (IANA (

4762)) version numbers, as described in the Internet Standards document:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Version Numbers

Id_AIVN_ST Constant IANA (

4762) Version Numbers.

File IdAssignedNumbers (

4557)

Pascal Id_AIVN_ST = 5; Description Internet Assigned Numbering Authority (IANA (

4762)) version numbers, as described in the Internet Standards document:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Version Numbers

Internet Direct (Indy) Version 10.1.5

3275

Id_ARPHRD_ETHER Constant

Constants

Id_AIVN_TP_IX Constant IANA (

4762) Version Numbers.

File IdAssignedNumbers (

4557)

Pascal Id_AIVN_TP_IX = 7; Description Internet Assigned Numbering Authority (IANA (

4762)) version numbers, as described in the Internet Standards document:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Version Numbers

Id_AIVN_Tuba Constant IANA (

4762) Version Numbers.

File IdAssignedNumbers (

4557)

Pascal Id_AIVN_Tuba = 9; Description Internet Assigned Numbering Authority (IANA (

4762)) version numbers, as described in the Internet Standards document:

RFC 1700 - Assigned Numbers Internet Assigned Numbering Authority (IANA) Official Version Numbers

Id_ARP_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ARP_HSIZE = $1C; Description Id_ARP_HSIZE is a Constant.

Id_ARPHRD_ETHER Constant File IdRawHeaders (

3276

4701)

Internet Direct (Indy) Version 10.1.5

Constants

Id_ARPOP_REQUEST Constant

Pascal Id_ARPHRD_ETHER = 1; Description Id_ARPHRD_ETHER is a Constant.

Id_ARPOP_INVREPLY Constant File IdRawHeaders (

4701)

Pascal Id_ARPOP_INVREPLY = 9; Description Id_ARPOP_INVREPLY is a Constant.

Id_ARPOP_INVREQUEST Constant File IdRawHeaders (

4701)

Pascal Id_ARPOP_INVREQUEST = 8; Description Id_ARPOP_INVREQUEST is a Constant.

Id_ARPOP_REPLY Constant File IdRawHeaders (

4701)

Pascal Id_ARPOP_REPLY = 2; Description Id_ARPOP_REPLY is a Constant.

Id_ARPOP_REQUEST Constant File IdRawHeaders (

4701)

Pascal Id_ARPOP_REQUEST = 1;

Internet Direct (Indy) Version 10.1.5

3277

Id_CS_ISO_8859_2 Constant

Constants

Description Id_ARPOP_REQUEST is a Constant.

Id_ARPOP_REVREPLY Constant File IdRawHeaders (

4701)

Pascal Id_ARPOP_REVREPLY = 4; Description Id_ARPOP_REVREPLY is a Constant.

Id_ARPOP_REVREQUEST Constant File IdRawHeaders (

4701)

Pascal Id_ARPOP_REVREQUEST = 3; Description Id_ARPOP_REVREQUEST is a Constant.

Id_CS_ISO_8859_1 Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_1 = 'ISO-8859-1'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations

Id_CS_ISO_8859_2 Constant Character set identifiers.

3278

Internet Direct (Indy) Version 10.1.5

Constants

Id_CS_ISO_8859_5 Constant

File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_2 = 'ISO-8859-2'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations

Id_CS_ISO_8859_3 Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_3 = 'ISO-8859-3'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations

Id_CS_ISO_8859_4 Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_4 = 'ISO-8859-4'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations

Internet Direct (Indy) Version 10.1.5

3279

Id_CS_ISO_8859_8 Constant

Constants

Id_CS_ISO_8859_5 Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_5 = 'ISO-8859-5'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations

Id_CS_ISO_8859_6 Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_6 = 'ISO-8859-6'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations

Id_CS_ISO_8859_7 Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_7 = 'ISO-8859-7'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations 3280

Internet Direct (Indy) Version 10.1.5

Constants

Id_DEF_AllowAnon Constant

Id_CS_ISO_8859_8 Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_8 = 'ISO-8859-8'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations

Id_CS_ISO_8859_9 Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_ISO_8859_9 = 'ISO-8859-9'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations

Id_CS_US_ASCII Constant Character set identifiers. File IdAssignedNumbers (

4557)

Pascal Id_CS_US_ASCII = 'US-ASCII'; Description Character set identifiers, as described in the Internet Standards documents: RFC 1521 - MIME (Multipurpose Internet Mail Extensions) Part One IANA Official Character Sets IANA Character Set Registrations Internet Direct (Indy) Version 10.1.5

3281

ID_Default_TIdAntiFreezeBase_Active

Constants

Id_DEF_AllowAnon Constant File IdFTPServer (

4648)

Pascal Id_DEF_AllowAnon = False; Description Id_DEF_AllowAnon is a Constant.

Id_DEF_PassStrictCheck Constant File IdFTPServer (

4648)

Pascal Id_DEF_PassStrictCheck = True; Description Id_DEF_PassStrictCheck is a Constant.

ID_DEFAULT_IP_VERSION Constant Default value for the IP version number supported in protocol stack methods. File IdGlobal (

4650)

Pascal ID_DEFAULT_IP_VERSION = Id_IPv4; Description ID_DEFAULT_IP_VERSION is a constant that represents the IP version number to use as the default value for arguments in stack-related method calls. ID_DEFAULT_IP_VERSION indicates the format to expect for IP address used in the protocol stack methods. See Also TIdStackWindows ( TIdStackLinux (

2233)

2216)

ID_Default_TIdAntiFreezeBase_Active Constant Default value for the TIdAntiFreezeBase.Active (

221) property.

File IdAntiFreezeBase ( 3282

4555) Internet Direct (Indy) Version 10.1.5

Constants

ID_Default_TIdAntiFreezeBase_OnlyWhenId

Pascal ID_Default_TIdAntiFreezeBase_Active = True; Description ID_Default_TIdAntiFreezeBase_Active is a constant that specifies the default value for the TIdAntiFreeze.Active property in the Create constructor. ID_Default_TIdAntiFreezeBase_Active is also used during component streaming as the defauilt value for the published property.

ID_Default_TIdAntiFreezeBase_ApplicationHasPriority Constant Represents the default value for TIdAntiFreezeBase.ApplicationHasPriority (

222).

File IdAntiFreezeBase (

4555)

Pascal ID_Default_TIdAntiFreezeBase_ApplicationHasPriority = True; Description ID_Default_TIdAntiFreezeBase_ApplicationHasPriority is a constant that represents the default value for the TIdAntiFreezeBase.ApplicationHasPriority ( 222) property. ID_Default_TIdAntiFreezeBase_ApplicationHasPriority is also used streaming components to initialize the default value for the published property during component creation. See Also TIdAntiFreezeBase.ApplicationHasPriority (

222)

ID_Default_TIdAntiFreezeBase_IdleTimeOut Constant Default value for the TIdAntiFreezeBase.IdleTimeOut (

222) property.

File IdAntiFreezeBase (

4555)

Pascal ID_Default_TIdAntiFreezeBase_IdleTimeOut = 250; Description ID_Default_TIdAntiFreezeBase_IdleTimeOut is a constant that specifies the default value for the TIdAntiFreezeBase.IdleTimeOut ( 222) property in the Create constructor. ID_Default_TIdAntiFreezeBase_IdleTimeOut is also used in component streaming to assign the default value for the published property during component creation. See Also TIdAntiFreezeBase.IdleTimeOut (

222)

ID_Default_TIdAntiFreezeBase_OnlyWhenIdle Constant Default value for the TIdAntiFreezeBase.OnlyWhenIdle (

Internet Direct (Indy) Version 10.1.5

222) property.

3283

Id_EHR_GENERIC_TRANS Constant

Constants

File IdAntiFreezeBase (

4555)

Pascal ID_Default_TIdAntiFreezeBase_OnlyWhenIdle = True; Description ID_Default_TIdAntiFreezeBase_OnlyWhenIdle is a constant that specifies the default value for the TIdAntiFreeze.OnlyWhenIdle property in the Create constructor. ID_Default_TIdAntiFreezeBase_OnlyWhenIdle is also in component streaming as the default value for the published property during component creation. See Also TIdAntiFreeze.OnlyWhenIdle

Id_DNS_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_DNS_HSIZE = $0C; Description Id_DNS_HSIZE is a Constant.

Id_EHR_GENERIC_OK Constant File IdReplySMTP (

4707)

Pascal Id_EHR_GENERIC_OK = '2.0.0'; Description Id_EHR_GENERIC_OK is a Constant.

Id_EHR_GENERIC_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_GENERIC_PERM = '5.0.0'; Description Id_EHR_GENERIC_PERM is a Constant.

3284

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_MB_ML_EXPAN_PERM Constant

Id_EHR_GENERIC_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_GENERIC_TRANS = '4.0.0'; Description Id_EHR_GENERIC_TRANS is a Constant.

Id_EHR_MB_DISABLED_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_DISABLED_PERM = '5.2.1'; Description Id_EHR_MB_DISABLED_PERM is a Constant.

Id_EHR_MB_DISABLED_TEMP Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_DISABLED_TEMP = '4.2.1'; Description Id_EHR_MB_DISABLED_TEMP is a Constant.

Id_EHR_MB_FULL Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_FULL = '4.2.2'; Description Id_EHR_MB_FULL is a Constant.

Internet Direct (Indy) Version 10.1.5

3285

Id_EHR_MB_OTHER_STATUS_PERM

Constants

Id_EHR_MB_ML_EXPAN_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_ML_EXPAN_PERM = '5.2.4'; Description Id_EHR_MB_ML_EXPAN_PERM is a Constant.

Id_EHR_MB_ML_EXPAN_TEMP Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_ML_EXPAN_TEMP = '4.2.4'; Description Id_EHR_MB_ML_EXPAN_TEMP is a Constant.

Id_EHR_MB_MSG_LEN_LIMIT Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_MSG_LEN_LIMIT = '5.2.3'; Description Id_EHR_MB_MSG_LEN_LIMIT is a Constant.

Id_EHR_MB_OTHER_STATUS_OK Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_OTHER_STATUS_OK = '2.2.0'; Description Id_EHR_MB_OTHER_STATUS_OK is a Constant.

3286

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_MD_MAIL_SYSTEM_FULL

Id_EHR_MB_OTHER_STATUS_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_OTHER_STATUS_PERM = '5.2.0'; Description Id_EHR_MB_OTHER_STATUS_PERM is a Constant.

Id_EHR_MB_OTHER_STATUS_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MB_OTHER_STATUS_TRANS = '4.2.0'; Description Id_EHR_MB_OTHER_STATUS_TRANS is a Constant.

Id_EHR_MD_INCORRECT_CONFIG_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_INCORRECT_CONFIG_PERM = '5.3.5'; Description Id_EHR_MD_INCORRECT_CONFIG_PERM is a Constant.

Id_EHR_MD_INCORRECT_CONFIG_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_INCORRECT_CONFIG_TRANS = '4.3.5'; Description Id_EHR_MD_INCORRECT_CONFIG_TRANS is a Constant.

Internet Direct (Indy) Version 10.1.5

3287

Id_EHR_MD_NOT_EXCEPTING_TRANS

Constants

Id_EHR_MD_MAIL_SYSTEM_FULL Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_MAIL_SYSTEM_FULL = '4.3.1'; Description Id_EHR_MD_MAIL_SYSTEM_FULL is a Constant.

Id_EHR_MD_NOT_CAPABLE_FEAT_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_NOT_CAPABLE_FEAT_PERM = '5.3.3'; Description Id_EHR_MD_NOT_CAPABLE_FEAT_PERM is a Constant.

Id_EHR_MD_NOT_CAPABLE_FEAT_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_NOT_CAPABLE_FEAT_TRANS = '4.3.3'; Description Id_EHR_MD_NOT_CAPABLE_FEAT_TRANS is a Constant.

Id_EHR_MD_NOT_EXCEPTING_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_NOT_EXCEPTING_PERM = '5.3.2'; Description Id_EHR_MD_NOT_EXCEPTING_PERM is a Constant.

3288

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_MD_TOO_BIG Constant

Id_EHR_MD_NOT_EXCEPTING_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_NOT_EXCEPTING_TRANS = '4.3.2'; Description Id_EHR_MD_NOT_EXCEPTING_TRANS is a Constant.

Id_EHR_MD_OTHER_OK Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_OTHER_OK = '2.3.0'; Description Id_EHR_MD_OTHER_OK is a Constant.

Id_EHR_MD_OTHER_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_OTHER_PERM = '5.3.0'; Description Id_EHR_MD_OTHER_PERM is a Constant.

Id_EHR_MD_OTHER_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_OTHER_TRANS = '4.3.0'; Description Id_EHR_MD_OTHER_TRANS is a Constant.

Internet Direct (Indy) Version 10.1.5

3289

Id_EHR_MED_CONV_LOSS_WARNING

Constants

Id_EHR_MD_TOO_BIG Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MD_TOO_BIG = '5.3.4'; Description Id_EHR_MD_TOO_BIG is a Constant.

Id_EHR_MED_CONV_FAILED_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_CONV_FAILED_PERM = '5.6.5'; Description Id_EHR_MED_CONV_FAILED_PERM is a Constant.

Id_EHR_MED_CONV_FAILED_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_CONV_FAILED_TRANS = '4.6.5'; Description Id_EHR_MED_CONV_FAILED_TRANS is a Constant.

Id_EHR_MED_CONV_LOSS_ERROR Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_CONV_LOSS_ERROR = '5.6.4'; Description Id_EHR_MED_CONV_LOSS_ERROR is a Constant.

3290

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_MED_CONV_REQUIRED_PROHI

Id_EHR_MED_CONV_LOSS_WARNING Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_CONV_LOSS_WARNING = '2.6.4'; Description Id_EHR_MED_CONV_LOSS_WARNING is a Constant.

Id_EHR_MED_CONV_REQUIRED_NOT_SUP_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_CONV_REQUIRED_NOT_SUP_PERM = '5.6.3'; Description Id_EHR_MED_CONV_REQUIRED_NOT_SUP_PERM is a Constant.

Id_EHR_MED_CONV_REQUIRED_NOT_SUP_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_CONV_REQUIRED_NOT_SUP_TRANS = '4.6.3'; Description Id_EHR_MED_CONV_REQUIRED_NOT_SUP_TRANS is a Constant.

Id_EHR_MED_CONV_REQUIRED_PROHIB_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_CONV_REQUIRED_PROHIB_PERM = '5.6.2'; Description Id_EHR_MED_CONV_REQUIRED_PROHIB_PERM is a Constant.

Internet Direct (Indy) Version 10.1.5

3291

Id_EHR_MED_OTHER_TRANS Constant

Constants

Id_EHR_MED_CONV_REQUIRED_PROHIB_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_CONV_REQUIRED_PROHIB_TRANS = '4.6.2'; Description Id_EHR_MED_CONV_REQUIRED_PROHIB_TRANS is a Constant.

Id_EHR_MED_NOT_SUPPORTED Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_NOT_SUPPORTED = '5.6.1'; Description Id_EHR_MED_NOT_SUPPORTED is a Constant.

Id_EHR_MED_OTHER_OK Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_OTHER_OK = '2.6.0'; Description Id_EHR_MED_OTHER_OK is a Constant.

Id_EHR_MED_OTHER_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_OTHER_PERM = '5.6.0'; Description Id_EHR_MED_OTHER_PERM is a Constant.

3292

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_MSG_BAD_DEST_SYST Constant

Id_EHR_MED_OTHER_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MED_OTHER_TRANS = '4.6.0'; Description Id_EHR_MED_OTHER_TRANS is a Constant.

Id_EHR_MSG_AMBIG_DEST Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_AMBIG_DEST = '5.1.4'; Description Id_EHR_MSG_AMBIG_DEST is a Constant.

Id_EHR_MSG_BAD_DEST Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_BAD_DEST = '5.1.1'; Description Id_EHR_MSG_BAD_DEST is a Constant.

Id_EHR_MSG_BAD_DEST_SYNTAX Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_BAD_DEST_SYNTAX = '5.1.3'; Description Id_EHR_MSG_BAD_DEST_SYNTAX is a Constant.

Internet Direct (Indy) Version 10.1.5

3293

Id_EHR_MSG_OTH_PERM Constant

Constants

Id_EHR_MSG_BAD_DEST_SYST Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_BAD_DEST_SYST = '5.1.2'; Description Id_EHR_MSG_BAD_DEST_SYST is a Constant.

Id_EHR_MSG_BAD_SENDER_ADDR Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_BAD_SENDER_ADDR = '5.1.8'; Description Id_EHR_MSG_BAD_SENDER_ADDR is a Constant.

Id_EHR_MSG_DEST_MOVED_NOFORWARD Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_DEST_MOVED_NOFORWARD = '2.1.6'; Description Id_EHR_MSG_DEST_MOVED_NOFORWARD is a Constant.

Id_EHR_MSG_OTH_OK Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_OTH_OK = '2.1.0'; Description Id_EHR_MSG_OTH_OK is a Constant.

3294

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_NR_BAD_CONNECTION Constant

Id_EHR_MSG_OTH_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_OTH_PERM = '5.1.0'; Description Id_EHR_MSG_OTH_PERM is a Constant.

Id_EHR_MSG_OTH_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_OTH_TRANS = '4.1.0'; Description Id_EHR_MSG_OTH_TRANS is a Constant.

Id_EHR_MSG_SENDER_BOX_SYNTAX Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_SENDER_BOX_SYNTAX = '5.1.7'; Description Id_EHR_MSG_SENDER_BOX_SYNTAX is a Constant.

Id_EHR_MSG_VALID_DEST Constant File IdReplySMTP (

4707)

Pascal Id_EHR_MSG_VALID_DEST = '2.1.5'; Description Id_EHR_MSG_VALID_DEST is a Constant.

Internet Direct (Indy) Version 10.1.5

3295

Id_EHR_NR_LOOP_DETECTED Constant

Constants

Id_EHR_NR_BAD_CONNECTION Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_BAD_CONNECTION = '4.4.2'; Description Id_EHR_NR_BAD_CONNECTION is a Constant.

Id_EHR_NR_DELIVERY_EXPIRED_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_DELIVERY_EXPIRED_PERM = '5.4.7'; Description Id_EHR_NR_DELIVERY_EXPIRED_PERM is a Constant.

Id_EHR_NR_DELIVERY_EXPIRED_TEMP Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_DELIVERY_EXPIRED_TEMP = '4.4.7'; Description Id_EHR_NR_DELIVERY_EXPIRED_TEMP is a Constant.

Id_EHR_NR_DIR_SVR_FAILURE Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_DIR_SVR_FAILURE = '4.4.3'; Description Id_EHR_NR_DIR_SVR_FAILURE is a Constant.

3296

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_NR_OTHER_TRANS Constant

Id_EHR_NR_LOOP_DETECTED Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_LOOP_DETECTED = '4.4.6'; Description Id_EHR_NR_LOOP_DETECTED is a Constant.

Id_EHR_NR_NO_ANSWER Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_NO_ANSWER = '4.4.1'; Description Id_EHR_NR_NO_ANSWER is a Constant.

Id_EHR_NR_OTHER_OK Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_OTHER_OK = '2.4.0'; Description Id_EHR_NR_OTHER_OK is a Constant.

Id_EHR_NR_OTHER_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_OTHER_PERM = '5.4.0'; Description Id_EHR_NR_OTHER_PERM is a Constant.

Internet Direct (Indy) Version 10.1.5

3297

Id_EHR_PR_INVALID_CMD Constant

Constants

Id_EHR_NR_OTHER_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_OTHER_TRANS = '4.4.0'; Description Id_EHR_NR_OTHER_TRANS is a Constant.

Id_EHR_NR_SYSTEM_CONGESTION Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_SYSTEM_CONGESTION = '4.4.5'; Description Id_EHR_NR_SYSTEM_CONGESTION is a Constant.

Id_EHR_NR_UNABLE_TO_ROUTE_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_UNABLE_TO_ROUTE_PERM = '5.4.4'; Description Id_EHR_NR_UNABLE_TO_ROUTE_PERM is a Constant.

Id_EHR_NR_UNABLE_TO_ROUTE_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_NR_UNABLE_TO_ROUTE_TRANS = '4.4.4'; Description Id_EHR_NR_UNABLE_TO_ROUTE_TRANS is a Constant.

3298

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_PR_OTHER_TEMP Constant

Id_EHR_PR_INVALID_CMD Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_INVALID_CMD = '5.5.1'; Description Id_EHR_PR_INVALID_CMD is a Constant.

Id_EHR_PR_INVALID_CMD_ARGS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_INVALID_CMD_ARGS = '5.5.4'; Description Id_EHR_PR_INVALID_CMD_ARGS is a Constant.

Id_EHR_PR_OTHER_OK Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_OTHER_OK = '2.5.0'; Description Id_EHR_PR_OTHER_OK is a Constant.

Id_EHR_PR_OTHER_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_OTHER_PERM = '5.5.0'; Description Id_EHR_PR_OTHER_PERM is a Constant.

Internet Direct (Indy) Version 10.1.5

3299

Id_EHR_PR_WRONG_VER_PERM

Constants

Id_EHR_PR_OTHER_TEMP Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_OTHER_TEMP = '4.5.0'; Description Id_EHR_PR_OTHER_TEMP is a Constant.

Id_EHR_PR_SYNTAX_ERR Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_SYNTAX_ERR = '5.5.2'; Description Id_EHR_PR_SYNTAX_ERR is a Constant.

Id_EHR_PR_TOO_MANY_RECIPIENTS_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_TOO_MANY_RECIPIENTS_PERM = '5.5.3'; Description Id_EHR_PR_TOO_MANY_RECIPIENTS_PERM is a Constant.

Id_EHR_PR_TOO_MANY_RECIPIENTS_TEMP Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_TOO_MANY_RECIPIENTS_TEMP = '4.5.3'; Description Id_EHR_PR_TOO_MANY_RECIPIENTS_TEMP is a Constant.

3300

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_SEC_CRYPT_ALG_NOT_SUP_TR

Id_EHR_PR_WRONG_VER_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_WRONG_VER_PERM = '5.5.5'; Description Id_EHR_PR_WRONG_VER_PERM is a Constant.

Id_EHR_PR_WRONG_VER_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_PR_WRONG_VER_TRANS = '4.5.5'; Description Id_EHR_PR_WRONG_VER_TRANS is a Constant.

Id_EHR_SEC_CONV_REQ_NOT_POSSIBLE Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_CONV_REQ_NOT_POSSIBLE = '5.7.3'; Description Id_EHR_SEC_CONV_REQ_NOT_POSSIBLE is a Constant.

Id_EHR_SEC_CRYPT_ALG_NOT_SUP_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_CRYPT_ALG_NOT_SUP_PERM = '5.7.6'; Description Id_EHR_SEC_CRYPT_ALG_NOT_SUP_PERM is a Constant.

Internet Direct (Indy) Version 10.1.5

3301

Id_EHR_SEC_EXP_NOT_AUTH Constant

Constants

Id_EHR_SEC_CRYPT_ALG_NOT_SUP_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_CRYPT_ALG_NOT_SUP_TRANS = '4.7.6'; Description Id_EHR_SEC_CRYPT_ALG_NOT_SUP_TRANS is a Constant.

Id_EHR_SEC_CRYPT_FAILURE_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_CRYPT_FAILURE_PERM = '5.7.5'; Description Id_EHR_SEC_CRYPT_FAILURE_PERM is a Constant.

Id_EHR_SEC_CRYPT_FAILURE_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_CRYPT_FAILURE_TRANS = '4.7.5'; Description Id_EHR_SEC_CRYPT_FAILURE_TRANS is a Constant.

Id_EHR_SEC_DEL_NOT_AUTH Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_DEL_NOT_AUTH = '5.7.1'; Description Id_EHR_SEC_DEL_NOT_AUTH is a Constant.

3302

Internet Direct (Indy) Version 10.1.5

Constants

Id_EHR_SEC_OTHER_OK Constant

Id_EHR_SEC_EXP_NOT_AUTH Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_EXP_NOT_AUTH = '5.7.2'; Description Id_EHR_SEC_EXP_NOT_AUTH is a Constant.

Id_EHR_SEC_INTEGRETIY_FAILED_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_INTEGRETIY_FAILED_TRANS = '4.7.7'; Description Id_EHR_SEC_INTEGRETIY_FAILED_TRANS is a Constant.

Id_EHR_SEC_INTEGRETIY_FAILED_WARN Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_INTEGRETIY_FAILED_WARN = '2.7.7'; Description Id_EHR_SEC_INTEGRETIY_FAILED_WARN is a Constant.

Id_EHR_SEC_NOT_SUPPORTED Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_NOT_SUPPORTED = '5.7.4'; Description Id_EHR_SEC_NOT_SUPPORTED is a Constant.

Internet Direct (Indy) Version 10.1.5

3303

Id_ETH_HSIZE Constant

Constants

Id_EHR_SEC_OTHER_OK Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_OTHER_OK = '2.7.0'; Description Id_EHR_SEC_OTHER_OK is a Constant.

Id_EHR_SEC_OTHER_PERM Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_OTHER_PERM = '5.7.0'; Description Id_EHR_SEC_OTHER_PERM is a Constant.

Id_EHR_SEC_OTHER_TRANS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_SEC_OTHER_TRANS = '4.7.0'; Description Id_EHR_SEC_OTHER_TRANS is a Constant.

Id_EHR_USE_STARTTLS Constant File IdReplySMTP (

4707)

Pascal Id_EHR_USE_STARTTLS = '5.7.0'; Description Id_EHR_USE_STARTTLS is a Constant.

3304

Internet Direct (Indy) Version 10.1.5

Constants

Id_ETHERTYPE_LOOPBACK Constant

Id_ETH_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ETH_HSIZE = $0E; Description Id_ETH_HSIZE is a Constant.

Id_ETHER_ADDR_LEN Constant File IdRawHeaders (

4701)

Pascal Id_ETHER_ADDR_LEN = 6; Description Id_ETHER_ADDR_LEN is a Constant.

Id_ETHERTYPE_ARP Constant File IdRawHeaders (

4701)

Pascal Id_ETHERTYPE_ARP = $0806; Description Id_ETHERTYPE_ARP is a Constant.

Id_ETHERTYPE_IP Constant File IdRawHeaders (

4701)

Pascal Id_ETHERTYPE_IP = $0800; Description Id_ETHERTYPE_IP is a Constant.

Internet Direct (Indy) Version 10.1.5

3305

Id_HTTPMethodConnect Constant

Constants

Id_ETHERTYPE_LOOPBACK Constant File IdRawHeaders (

4701)

Pascal Id_ETHERTYPE_LOOPBACK = $9000; Description Id_ETHERTYPE_LOOPBACK is a Constant.

Id_ETHERTYPE_PUP Constant File IdRawHeaders (

4701)

Pascal Id_ETHERTYPE_PUP = $0200; Description Id_ETHERTYPE_PUP is a Constant.

Id_ETHERTYPE_REVARP Constant File IdRawHeaders (

4701)

Pascal Id_ETHERTYPE_REVARP = $8035; Description Id_ETHERTYPE_REVARP is a Constant.

Id_ETHERTYPE_VLAN Constant File IdRawHeaders (

4701)

Pascal Id_ETHERTYPE_VLAN = $8100; Description Id_ETHERTYPE_VLAN is a Constant.

3306

Internet Direct (Indy) Version 10.1.5

Constants

Id_HTTPMethodDelete Constant

Id_HTTPMethodConnect Constant Represents the Connect method in an HTTP request. File IdHTTP (

4662)

Pascal Id_HTTPMethodConnect = 'CONNECT'; Description Id_HTTPMethodConnect is a String constant that represents the HTTP CONNNECT method used when processing HTTP requests. Id_HTTPMethodConnect indicates that the HTTP client will be connecting to a CERN-compatible proxy for SSL-enabled sites. Id_HTTPMethodConnect and related constant values are used in the Method property in TIdHTTPRequest (

1072).

See Also Id_HTTPMethodHead (

3308)

Id_HTTPMethodGet (

3308)

Id_HTTPMethodPost (

3309)

Id_HTTPMethodOptions ( Id_HTTPMethodTrace ( Id_HTTPMethodPut (

3309) 3310)

3310)

Id_HTTPMethodDelete (

3307)

Id_HTTPMethodDelete Constant Represents the Delete method in an HTTP request. File IdHTTP (

4662)

Pascal Id_HTTPMethodDelete = 'DELETE'; Description Id_HTTPMethodDelete is a String constant that represents the HTTP DELETE method used when processing HTTP requests. Id_HTTPMethodDelete and related constant values are used in the Method property in TIdHTTPRequest (

1072).

See Also Id_HTTPMethodHead (

3308)

Id_HTTPMethodGet (

3308)

Id_HTTPMethodPost (

3309)

Id_HTTPMethodOptions ( Id_HTTPMethodTrace ( Id_HTTPMethodPut (

3309) 3310)

3310)

Internet Direct (Indy) Version 10.1.5

3307

Id_HTTPMethodOptions Constant Id_HTTPMethodConnect (

Constants

3307)

Id_HTTPMethodGet Constant Represents the GET method in an HTTP request. File IdHTTP (

4662)

Pascal Id_HTTPMethodGet = 'GET'; Description Id_HTTPMethodGet is a String constant that represents the HTTP GET method used when processing HTTP requests. Id_HTTPMethodGet and related constant values are used in the Method property in TIdHTTPRequest (

1072).

See Also Id_HTTPMethodHead (

3308)

Id_HTTPMethodPost (

3309)

Id_HTTPMethodOptions ( Id_HTTPMethodTrace ( Id_HTTPMethodPut (

3309) 3310)

3310)

Id_HTTPMethodDelete (

3307)

Id_HTTPMethodConnect (

3307)

Id_HTTPMethodHead Constant Represents the HEAD method in an HTTP request. File IdHTTP (

4662)

Pascal Id_HTTPMethodHead = 'HEAD'; Description Id_HTTPMethodHead is a String constant that represents the HTTP HEAD method used when processing HTTP requests. Id_HTTPMethodHead and related constant values are used in the Method property in TIdHTTPRequest (

1072).

See Also Id_HTTPMethodGet (

3308)

Id_HTTPMethodPost (

3309)

Id_HTTPMethodOptions ( Id_HTTPMethodTrace ( Id_HTTPMethodPut (

3309) 3310)

3310)

Id_HTTPMethodDelete ( Id_HTTPMethodConnect ( 3308

3307) 3307) Internet Direct (Indy) Version 10.1.5

Constants

Id_HTTPMethodPut Constant

Id_HTTPMethodOptions Constant Represents the OPTIONS method in an HTTP request. File IdHTTP (

4662)

Pascal Id_HTTPMethodOptions = 'OPTIONS'; Description Id_HTTPMethodOptions is a String constant that represents the HTTP OPTIONS method used when processing HTTP requests. Id_HTTPMethodOptions and related constant values are used in the Method property in TIdHTTPRequest (

1072).

See Also Id_HTTPMethodHead (

3308)

Id_HTTPMethodGet (

3308)

Id_HTTPMethodPost (

3309)

Id_HTTPMethodTrace ( Id_HTTPMethodPut (

3310)

3310)

Id_HTTPMethodDelete (

3307)

Id_HTTPMethodConnect (

3307)

Id_HTTPMethodPost Constant Represents the POST method in an HTTP request. File IdHTTP (

4662)

Pascal Id_HTTPMethodPost = 'POST'; Description Id_HTTPMethodPost is a String constant that represents the HTTP POST method used when processing HTTP requests. Id_HTTPMethodPost and related constant values are used in the Method property in TIdHTTPRequest (

1072).

See Also Id_HTTPMethodHead (

3308)

Id_HTTPMethodGet (

3308)

Id_HTTPMethodOptions ( Id_HTTPMethodTrace ( Id_HTTPMethodPut (

3309) 3310)

3310)

Id_HTTPMethodDelete ( Id_HTTPMethodConnect (

3307) 3307)

Internet Direct (Indy) Version 10.1.5

3309

Id_ICMP_AUTH_FAILED Constant

Constants

Id_HTTPMethodPut Constant Represents the PUT method in an HTTP request. File IdHTTP (

4662)

Pascal Id_HTTPMethodPut = 'PUT'; Description Id_HTTPMethodPut is a String constant that represents the HTTP PUT method used when processing HTTP requests. Id_HTTPMethodPut and related constant values are used in the Method property in TIdHTTPRequest (

1072).

See Also Id_HTTPMethodHead (

3308)

Id_HTTPMethodGet (

3308)

Id_HTTPMethodPost (

3309)

Id_HTTPMethodOptions ( Id_HTTPMethodTrace (

3309) 3310)

Id_HTTPMethodDelete (

3307)

Id_HTTPMethodConnect (

3307)

Id_HTTPMethodTrace Constant Represents the TRACE method in an HTTP request. File IdHTTP (

4662)

Pascal Id_HTTPMethodTrace = 'TRACE'; Description Id_HTTPMethodTrace is a String constant that represents the HTTP TRACE method used when processing HTTP requests. Id_HTTPMethodTrace and related constant values are used in the Method property in TIdHTTPRequest (

1072).

See Also Id_HTTPMethodHead ( Id_HTTPMethodGet (

3308) 3308)

Id_HTTPMethodPost (

3309)

Id_HTTPMethodOptions ( Id_HTTPMethodPut (

3310)

Id_HTTPMethodDelete ( Id_HTTPMethodConnect (

3310

3309)

3307) 3307)

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_CONV_IP_HEADER_LEN_EXCE

Id_ICMP_AUTH_FAILED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_AUTH_FAILED = 1; Description Id_ICMP_AUTH_FAILED is a Constant.

Id_ICMP_BAD_SPI Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_BAD_SPI = 0; Description Id_ICMP_BAD_SPI is a Constant.

Id_ICMP_CONV_32BIT_ROLLOVER_AND_ACK Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_32BIT_ROLLOVER_AND_ACK = 10; Description Id_ICMP_CONV_32BIT_ROLLOVER_AND_ACK is a Constant.

Id_ICMP_CONV_DONTCONV_OPTION Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_DONTCONV_OPTION = 1; Description Id_ICMP_CONV_DONTCONV_OPTION is a Constant.

Internet Direct (Indy) Version 10.1.5

3311

Id_ICMP_CONV_TRANS_PROT_255

Constants

Id_ICMP_CONV_IP_HEADER_LEN_EXCEEDED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_IP_HEADER_LEN_EXCEEDED = 6; Description Id_ICMP_CONV_IP_HEADER_LEN_EXCEEDED is a Constant.

Id_ICMP_CONV_OVERALL_LENGTH_EXCEEDED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_OVERALL_LENGTH_EXCEEDED = 5; Description Id_ICMP_CONV_OVERALL_LENGTH_EXCEEDED is a Constant.

Id_ICMP_CONV_PORT_OUT_OF_RANGE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_PORT_OUT_OF_RANGE = 8; Description Id_ICMP_CONV_PORT_OUT_OF_RANGE is a Constant.

Id_ICMP_CONV_TRANS_HEADER_LEN_EXCEEDED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_TRANS_HEADER_LEN_EXCEEDED = 9; Description Id_ICMP_CONV_TRANS_HEADER_LEN_EXCEEDED is a Constant.

3312

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_CONV_UNSEP_TRANSPORT

Id_ICMP_CONV_TRANS_PROT_255 Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_TRANS_PROT_255 = 7; Description Id_ICMP_CONV_TRANS_PROT_255 is a Constant.

Id_ICMP_CONV_UNKNOWN_MAN_OPTION Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_UNKNOWN_MAN_OPTION = 2; Description Id_ICMP_CONV_UNKNOWN_MAN_OPTION is a Constant.

Id_ICMP_CONV_UNKNOWN_MAN_TRANS_OPTION Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_UNKNOWN_MAN_TRANS_OPTION = 11; Description Id_ICMP_CONV_UNKNOWN_MAN_TRANS_OPTION is a Constant.

Id_ICMP_CONV_UNKNWON_UNSEP_OPTION Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_UNKNWON_UNSEP_OPTION = 3; Description Id_ICMP_CONV_UNKNWON_UNSEP_OPTION is a Constant.

Internet Direct (Indy) Version 10.1.5

3313

Id_ICMP_DECRYPTION_FAILED Constant

Constants

Id_ICMP_CONV_UNSEP_TRANSPORT Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_UNSEP_TRANSPORT = 4; Description Id_ICMP_CONV_UNSEP_TRANSPORT is a Constant.

Id_ICMP_CONV_UNSPEC Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_CONV_UNSPEC = 0; Description Id_ICMP_CONV_UNSPEC is a Constant.

Id_ICMP_DATAGRAM_CONV Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_DATAGRAM_CONV = 31; Description Id_ICMP_DATAGRAM_CONV is a Constant.

Id_ICMP_DECOMPRESS_FAILED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_DECOMPRESS_FAILED = 2; Description Id_ICMP_DECOMPRESS_FAILED is a Constant.

3314

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_HSIZE Constant

Id_ICMP_DECRYPTION_FAILED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_DECRYPTION_FAILED = 3; Description Id_ICMP_DECRYPTION_FAILED is a Constant.

Id_ICMP_ECHO Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_ECHO = 8; Description Id_ICMP_ECHO is a Constant.

Id_ICMP_ECHO_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_ECHO_HSIZE = $08; Description Id_ICMP_ECHO_HSIZE is a Constant.

Id_ICMP_ECHOREPLY Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_ECHOREPLY = 0; Description Id_ICMP_ECHOREPLY is a Constant.

Internet Direct (Indy) Version 10.1.5

3315

Id_ICMP_IREQREPLY Constant

Constants

Id_ICMP_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_HSIZE = $04; Description Id_ICMP_HSIZE is a Constant.

Id_ICMP_IPv6_I_AM_HERE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_IPv6_I_AM_HERE = 34; Description Id_ICMP_IPv6_I_AM_HERE is a Constant.

Id_ICMP_IPv6_WHERE_ARE_YOU Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_IPv6_WHERE_ARE_YOU = 33; Description Id_ICMP_IPv6_WHERE_ARE_YOU is a Constant.

Id_ICMP_IREQ Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_IREQ = 15; Description Id_ICMP_IREQ is a Constant.

3316

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_MOB_HOST_REDIR Constant

Id_ICMP_IREQREPLY Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_IREQREPLY = 16; Description Id_ICMP_IREQREPLY is a Constant.

Id_ICMP_MASK_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_MASK_HSIZE = $0C; Description Id_ICMP_MASK_HSIZE is a Constant.

Id_ICMP_MASKREPLY Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_MASKREPLY = 18; Description Id_ICMP_MASKREPLY is a Constant.

Id_ICMP_MASKREQ Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_MASKREQ = 17; Description Id_ICMP_MASKREQ is a Constant.

Internet Direct (Indy) Version 10.1.5

3317

Id_ICMP_NEED_AUTHORIZATION

Constants

Id_ICMP_MOB_HOST_REDIR Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_MOB_HOST_REDIR = 32; Description Id_ICMP_MOB_HOST_REDIR is a Constant.

Id_ICMP_MOB_REG_REPLY Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_MOB_REG_REPLY = 36; Description Id_ICMP_MOB_REG_REPLY is a Constant.

Id_ICMP_MOB_REG_REQ Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_MOB_REG_REQ = 35; Description Id_ICMP_MOB_REG_REQ is a Constant.

Id_ICMP_NEED_AUTHENTICATION Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_NEED_AUTHENTICATION = 4; Description Id_ICMP_NEED_AUTHENTICATION is a Constant.

3318

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_REDIRECT Constant

Id_ICMP_NEED_AUTHORIZATION Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_NEED_AUTHORIZATION = 5; Description Id_ICMP_NEED_AUTHORIZATION is a Constant.

Id_ICMP_PARAMPROB Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_PARAMPROB = 12; Description Id_ICMP_PARAMPROB is a Constant.

Id_ICMP_PARAMPROB_OPTABSENT Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_PARAMPROB_OPTABSENT = 1; Description Id_ICMP_PARAMPROB_OPTABSENT is a Constant.

Id_ICMP_PHOTURIS Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_PHOTURIS = 40; Description Id_ICMP_PHOTURIS is a Constant.

Internet Direct (Indy) Version 10.1.5

3319

Id_ICMP_REDIRECT_TOSHOST Constant

Constants

Id_ICMP_REDIRECT Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_REDIRECT = 5; Description Id_ICMP_REDIRECT is a Constant.

Id_ICMP_REDIRECT_HOST Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_REDIRECT_HOST = 1; Description Id_ICMP_REDIRECT_HOST is a Constant.

Id_ICMP_REDIRECT_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_REDIRECT_HSIZE = $08; Description Id_ICMP_REDIRECT_HSIZE is a Constant.

Id_ICMP_REDIRECT_NET Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_REDIRECT_NET = 0; Description Id_ICMP_REDIRECT_NET is a Constant.

3320

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_SKIP Constant

Id_ICMP_REDIRECT_TOSHOST Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_REDIRECT_TOSHOST = 3; Description Id_ICMP_REDIRECT_TOSHOST is a Constant.

Id_ICMP_REDIRECT_TOSNET Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_REDIRECT_TOSNET = 2; Description Id_ICMP_REDIRECT_TOSNET is a Constant.

Id_ICMP_ROUTERADVERT Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_ROUTERADVERT = 9; Description Id_ICMP_ROUTERADVERT is a Constant.

Id_ICMP_ROUTERSOLICIT Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_ROUTERSOLICIT = 10; Description Id_ICMP_ROUTERSOLICIT is a Constant.

Internet Direct (Indy) Version 10.1.5

3321

Id_ICMP_TIMXCEED_INTRANS Constant

Constants

Id_ICMP_SKIP Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_SKIP = 39; Description Id_ICMP_SKIP is a Constant.

Id_ICMP_SOURCEQUENCH Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_SOURCEQUENCH = 4; Description Id_ICMP_SOURCEQUENCH is a Constant.

Id_ICMP_TIMEXCEED_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TIMEXCEED_HSIZE = $08; Description Id_ICMP_TIMEXCEED_HSIZE is a Constant.

Id_ICMP_TIMXCEED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TIMXCEED = 11; Description Id_ICMP_TIMXCEED is a Constant.

3322

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_TRACEROUTE_PACKET_FORW

Id_ICMP_TIMXCEED_INTRANS Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TIMXCEED_INTRANS = 0; Description Id_ICMP_TIMXCEED_INTRANS is a Constant.

Id_ICMP_TIMXCEED_REASS Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TIMXCEED_REASS = 1; Description Id_ICMP_TIMXCEED_REASS is a Constant.

Id_ICMP_TRACEROUTE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TRACEROUTE = 30; Description Id_ICMP_TRACEROUTE is a Constant.

Id_ICMP_TRACEROUTE_NO_ROUTE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TRACEROUTE_NO_ROUTE = 1; Description Id_ICMP_TRACEROUTE_NO_ROUTE is a Constant.

Internet Direct (Indy) Version 10.1.5

3323

Id_ICMP_UNREACH Constant

Constants

Id_ICMP_TRACEROUTE_PACKET_FORWARDED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TRACEROUTE_PACKET_FORWARDED = 0; Description Id_ICMP_TRACEROUTE_PACKET_FORWARDED is a Constant.

Id_ICMP_TS_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TS_HSIZE = $14; Description Id_ICMP_TS_HSIZE is a Constant.

Id_ICMP_TSTAMP Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TSTAMP = 13; Description Id_ICMP_TSTAMP is a Constant.

Id_ICMP_TSTAMPREPLY Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_TSTAMPREPLY = 14; Description Id_ICMP_TSTAMPREPLY is a Constant.

3324

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_UNREACH_HOST_PROHIB

Id_ICMP_UNREACH Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH = 3; Description Id_ICMP_UNREACH is a Constant.

Id_ICMP_UNREACH_FILTER_PROHIB Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_FILTER_PROHIB = 13; Description Id_ICMP_UNREACH_FILTER_PROHIB is a Constant.

Id_ICMP_UNREACH_HOST Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_HOST = 1; Description Id_ICMP_UNREACH_HOST is a Constant.

Id_ICMP_UNREACH_HOST_PRECEDENCE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_HOST_PRECEDENCE = 14; Description Id_ICMP_UNREACH_HOST_PRECEDENCE is a Constant.

Internet Direct (Indy) Version 10.1.5

3325

Id_ICMP_UNREACH_NEEDFRAG Constant

Constants

Id_ICMP_UNREACH_HOST_PROHIB Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_HOST_PROHIB = 10; Description Id_ICMP_UNREACH_HOST_PROHIB is a Constant.

Id_ICMP_UNREACH_HOST_UNKNOWN Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_HOST_UNKNOWN = 7; Description Id_ICMP_UNREACH_HOST_UNKNOWN is a Constant.

Id_ICMP_UNREACH_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_HSIZE = $08; Description Id_ICMP_UNREACH_HSIZE is a Constant.

Id_ICMP_UNREACH_ISOLATED Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_ISOLATED = 8; Description Id_ICMP_UNREACH_ISOLATED is a Constant.

3326

Internet Direct (Indy) Version 10.1.5

Constants

Id_ICMP_UNREACH_PORT Constant

Id_ICMP_UNREACH_NEEDFRAG Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_NEEDFRAG = 4; Description Id_ICMP_UNREACH_NEEDFRAG is a Constant.

Id_ICMP_UNREACH_NET Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_NET = 0; Description Id_ICMP_UNREACH_NET is a Constant.

Id_ICMP_UNREACH_NET_PROHIB Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_NET_PROHIB = 9; Description Id_ICMP_UNREACH_NET_PROHIB is a Constant.

Id_ICMP_UNREACH_NET_UNKNOWN Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_NET_UNKNOWN = 6; Description Id_ICMP_UNREACH_NET_UNKNOWN is a Constant.

Internet Direct (Indy) Version 10.1.5

3327

Id_ICMP_UNREACH_TOSHOST Constant

Constants

Id_ICMP_UNREACH_PORT Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_PORT = 3; Description Id_ICMP_UNREACH_PORT is a Constant.

Id_ICMP_UNREACH_PRECEDENCE_CUTOFF Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_PRECEDENCE_CUTOFF = 15; Description Id_ICMP_UNREACH_PRECEDENCE_CUTOFF is a Constant.

Id_ICMP_UNREACH_PROTOCOL Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_PROTOCOL = 2; Description Id_ICMP_UNREACH_PROTOCOL is a Constant.

Id_ICMP_UNREACH_SRCFAIL Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_SRCFAIL = 5; Description Id_ICMP_UNREACH_SRCFAIL is a Constant.

3328

Internet Direct (Indy) Version 10.1.5

Constants

Id_IGMP_LEAVE_GROUP Constant

Id_ICMP_UNREACH_TOSHOST Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_TOSHOST = 12; Description Id_ICMP_UNREACH_TOSHOST is a Constant.

Id_ICMP_UNREACH_TOSNET Constant File IdRawHeaders (

4701)

Pascal Id_ICMP_UNREACH_TOSNET = 11; Description Id_ICMP_UNREACH_TOSNET is a Constant.

Id_ICMP6_ECHO_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_ICMP6_ECHO_HSIZE = $08; Description Id_ICMP6_ECHO_HSIZE is a Constant.

Id_IGMP_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_IGMP_HSIZE = $08; Description Id_IGMP_HSIZE is a Constant.

Internet Direct (Indy) Version 10.1.5

3329

Id_IOHandler_MaxCapturedLines Constant

Constants

Id_IGMP_LEAVE_GROUP Constant File IdRawHeaders (

4701)

Pascal Id_IGMP_LEAVE_GROUP = $17; Description Id_IGMP_LEAVE_GROUP is a Constant.

Id_IGMP_MEMBERSHIP_QUERY Constant File IdRawHeaders (

4701)

Pascal Id_IGMP_MEMBERSHIP_QUERY = $11; Description Id_IGMP_MEMBERSHIP_QUERY is a Constant.

Id_IGMP_V1_MEMBERSHIP_REPORT Constant File IdRawHeaders (

4701)

Pascal Id_IGMP_V1_MEMBERSHIP_REPORT = $12; Description Id_IGMP_V1_MEMBERSHIP_REPORT is a Constant.

Id_IGMP_V2_MEMBERSHIP_REPORT Constant File IdRawHeaders (

4701)

Pascal Id_IGMP_V2_MEMBERSHIP_REPORT = $16; Description Id_IGMP_V2_MEMBERSHIP_REPORT is a Constant.

3330

Internet Direct (Indy) Version 10.1.5

Constants

Id_IP_MAXPACKET Constant

Id_IOHandler_MaxCapturedLines Constant Default value for the TIdIOHandler.MaxCapturedLines (

1327) property.

File IdIOHandler (

4670)

Pascal Id_IOHandler_MaxCapturedLines = -1; Description Id_IOHandler_MaxCapturedLines is an Integer constant that represents the default value for the TIdIOHandler.MaxCapturedLines ( 1327) property. Id_IOHandler_MaxCapturedLines implies that the maximum number of lines is not limited. Id_IOHandler_MaxCapturedLines is used when TIdIOHandler.Capture ( TIdStream ( 3087) descendant to store lines captured from the IOHandler.

1290) is called using a TIdStrings (

3089) or a

See Also TIdIOHandler.MaxCapturedLines ( TIdIOHandler.Capture (

1327)

1290)

Id_IP_DF Constant File IdRawHeaders (

4701)

Pascal Id_IP_DF = $4000; Description Id_IP_DF is a Constant.

Id_IP_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_IP_HSIZE = $14; Description Id_IP_HSIZE is a Constant.

Internet Direct (Indy) Version 10.1.5

3331

Id_IPMC_3Com Constant

Constants

Id_IP_MAXPACKET Constant File IdRawHeaders (

4701)

Pascal Id_IP_MAXPACKET = 65535; Description Id_IP_MAXPACKET is a Constant.

Id_IP_MF Constant File IdRawHeaders (

4701)

Pascal Id_IP_MF = $2000; Description Id_IP_MF is a Constant.

Id_IP_OFFMASK Constant File IdRawHeaders (

4701)

Pascal Id_IP_OFFMASK = $1FFF; Description Id_IP_OFFMASK is a Constant.

Id_IP_RF Constant File IdRawHeaders (

4701)

Pascal Id_IP_RF = $8000; Description Id_IP_RF is a Constant.

3332

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_8x8 Constant

Id_IPMC_3Com Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_3Com = '224.0.1.134'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_3Com_AMP3 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_3Com_AMP3 = '224.0.1.89'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_8x8 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_8x8 = '224.0.1.149'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3333

Id_IPMC_AGENTVIEW Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Administratively_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Administratively_Max = '239.255.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Administratively_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Administratively_Min = '239.000.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_AGENTVIEW Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_AGENTVIEW = '224.0.1.77';

3334

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_All_CDT_Routers Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Al_MPP_Hello Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Al_MPP_Hello = '224.0.0.27'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Alchemy Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Alchemy = '224.0.1.144'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_All_CDT_Routers Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3335

Id_IPMC_ampr_info Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_All_CDT_Routers = '224.0.0.15'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_All_Routers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_All_Routers = '224.0.0.2'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_All_Systems Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_All_Systems = '224.0.0.1'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3336

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_AUDIONEWS Constant

Id_IPMC_ampr_info Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ampr_info = '224.0.1.31'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Artificial_Horizons Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Artificial_Horizons = '224.0.1.5'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_AUDIONEWS Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_AUDIONEWS = '224.0.1.7'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3337

Id_IPMC_Border_Max Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_B1RMonitor Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_B1RMonitor = '224.0.1.88'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Base_Address Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Base_Address = '224.0.0.0'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Border_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Border_Max = '224.0.255.255';

3338

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Cal_Min Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Border_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Border_Min = '224.0.255.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Cal_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Cal_Max = '224.0.19.095'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Cal_Min Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3339

Id_IPMC_ciena Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Cal_Min = '224.0.19.064'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CDPD_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CDPD_Max = '224.0.5.127'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CDPD_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CDPD_Min = '224.0.5.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3340

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_cisco_rp_announce Constant

Id_IPMC_ciena Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ciena = '224.0.1.48'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Cisco_nhap Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Cisco_nhap = '224.0.0.101'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_cisco_rp_announce Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_cisco_rp_announce = '224.0.1.39'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3341

Id_IPMC_CNN Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_cisco_rp_discovery Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_cisco_rp_discovery = '224.0.1.40'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CN Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CN = '224.0.1.142'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CNN Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CNN = '224.0.1.128';

3342

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_compaq_peer Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CNR_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CNR_Max = '224.0.20.207'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CNR_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CNR_Min = '224.0.20.144'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_compaq_peer Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3343

Id_IPMC_Cornell_Max Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_compaq_peer = '224.0.1.64'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CoolCast_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CoolCast_Max = '224.0.2.127'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CoolCast_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CoolCast_Min = '224.0.2.096'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3344

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_CS_Multicasting Constant

Id_IPMC_Cornell_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Cornell_Max = '224.0.6.127'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Cornell_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Cornell_Min = '224.0.6.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_CS_Multicasting Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_CS_Multicasting = '224.0.1.135'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3345

Id_IPMC_dcap_servers Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_dantz Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_dantz = '224.0.1.38'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_dcap_clients Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_dcap_clients = '224.0.1.50'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_dcap_servers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_dcap_servers = '224.0.1.49';

3346

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_DHCP_Server Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_designated_sbm Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_designated_sbm = '224.0.0.16'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DHCP_All_PIM_Routers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DHCP_All_PIM_Routers = '224.0.0.13'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DHCP_Server Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3347

Id_IPMC_digistar Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DHCP_Server = '224.0.0.12'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DHCP_SERVERS Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DHCP_SERVERS = '224.0.1.141'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_dieboldmcast Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_dieboldmcast = '224.0.1.117'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3348

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_DIS_Max Constant

Id_IPMC_digistar Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_digistar = '224.0.0.32'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DirecPC_SI Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DirecPC_SI = '224.0.1.87'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DIS_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DIS_Max = '224.255.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3349

Id_IPMC_DLSw_Min Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DIS_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DIS_Min = '224.252.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DLSw_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DLSw_Max = '224.0.10.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DLSw_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DLSw_Min = '224.0.10.000';

3350

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Dow_Max Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Domain_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Domain_Max = '224.0.252.000-224.0.252.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Domain_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Domain_Min = '224.0.252.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Dow_Max Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3351

Id_IPMC_dtn_mc Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Dow_Max = '224.0.18.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Dow_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Dow_Min = '224.0.18.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DTC_Announcement Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DTC_Announcement = '224.0.0.36'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3352

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_DVMRP_Routers Constant

Id_IPMC_dtn_mc Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_dtn_mc = '224.0.1.83'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DVMRP_on_MOSPF Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DVMRP_on_MOSPF = '224.0.1.21'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DVMRP_Routers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DVMRP_Routers = '224.0.0.4'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3353

Id_IPMC_EMWIN Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_DXCLUSTER Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_DXCLUSTER = '224.0.0.35'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_EMS_InterDev Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_EMS_InterDev = '224.0.1.167'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_EMWIN Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_EMWIN = '224.0.1.143';

3354

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_ff_system_Management Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_ETC_Control Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ETC_Control = '224.0.0.28'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_extended_sys Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_extended_sys = '224.0.1.55'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_ff_system_Management Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3355

Id_IPMC_GilatSkySurfer Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ff_system_Management = '224.0.0.33'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_gatekeeper Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_gatekeeper = '224.0.1.41'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_GE_FANUC Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_GE_FANUC = '224.0.0.29'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3356

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_GLOP_Max Constant

Id_IPMC_GilatSkySurfer Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_GilatSkySurfer = '224.0.1.72'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_GLOBECAST_ID Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_GLOBECAST_ID = '224.0.0.23'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_GLOP_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_GLOP_Max = '233.255.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3357

Id_IPMC_heartbeat Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_GLOP_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_GLOP_Min = '233.000.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_HAVI_Sim Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_HAVI_Sim = '224.0.1.171'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_heartbeat Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_heartbeat = '224.0.1.53';

3358

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_host_announce Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Hewlett_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Hewlett_Max = '224.0.15.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Hewlett_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Hewlett_Min = '224.0.15.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_host_announce Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3359

Id_IPMC_HSPP Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_host_announce = '224.0.1.174'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_host_request Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_host_request = '224.0.1.173'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_hp_device_disc Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_hp_device_disc = '224.0.1.60'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3360

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_HYPERFEED_Max Constant

Id_IPMC_HSPP Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_HSPP = '224.0.0.102'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_HYPERFEED Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_HYPERFEED = '224.0.1.120'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_HYPERFEED_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_HYPERFEED_Max = '224.0.19.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3361

Id_IPMC_IAPP2 Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_HYPERFEED_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_HYPERFEED_Min = '224.0.19.240'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_iapp Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_iapp = '224.0.1.65'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IAPP2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IAPP2 = '224.0.1.76';

3362

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_IETF_1_Low_Audio Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_iberiagames Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_iberiagames = '224.0.1.42'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IETF_1_Audio Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IETF_1_Audio = '224.0.1.11'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IETF_1_Low_Audio Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3363

Id_IPMC_IETF_2_Low_Audio Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IETF_1_Low_Audio = '224.0.1.10'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IETF_1_Video Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IETF_1_Video = '224.0.1.12'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IETF_2_Audio Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IETF_2_Audio = '224.0.1.14'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3364

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_IGMP Constant

Id_IPMC_IETF_2_Low_Audio Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IETF_2_Low_Audio = '224.0.1.13'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IETF_2_Video Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IETF_2_Video = '224.0.1.15'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IGMP Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IGMP = '224.0.0.22'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3365

Id_IPMC_IIG_Min Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IGRP_Routers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IGRP_Routers = '224.0.0.10'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IIG_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IIG_Max = '224.0.19.191'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IIG_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IIG_Min = '224.0.19.128';

3366

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Infront Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_imFtmSvc Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_imFtmSvc = '224.0.1.90'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_INDIGO_VHDP Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_INDIGO_VHDP = '224.0.0.30'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Infront Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3367

Id_IPMC_Intline_10 Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Infront = '224.0.1.126'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline = '224.0.1.148'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_1 = '224.0.1.151'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3368

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Intline_12 Constant

Id_IPMC_Intline_10 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_10 = '224.0.1.160'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_11 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_11 = '224.0.1.161'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_12 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_12 = '224.0.1.162'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3369

Id_IPMC_Intline_15 Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_13 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_13 = '224.0.1.163'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_14 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_14 = '224.0.1.164'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_15 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_15 = '224.0.1.165';

3370

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Intline_4 Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_2 = '224.0.1.152'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_3 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_3 = '224.0.1.153'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_4 Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3371

Id_IPMC_Intline_7 Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_4 = '224.0.1.154'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_5 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_5 = '224.0.1.155'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_6 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_6 = '224.0.1.156'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3372

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Intline_9 Constant

Id_IPMC_Intline_7 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_7 = '224.0.1.157'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_8 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_8 = '224.0.1.158'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Intline_9 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Intline_9 = '224.0.1.159'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3373

Id_IPMC_Invisible_Max Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_INTV_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_INTV_Max = '224.0.8.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_INTV_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_INTV_Min = '224.0.8.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Invisible_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Invisible_Max = '224.0.9.255';

3374

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_IPAllL1ISs Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Invisible_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Invisible_Min = '224.0.9.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IPAllIntermediate_Systems Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IPAllIntermediate_Systems = '224.0.0.21'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IPAllL1ISs Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3375

Id_IPMC_isma_2 Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IPAllL1ISs = '224.0.0.19'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_IPAllL2ISs Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_IPAllL2ISs = '224.0.0.20'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_isma_1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_isma_1 = '224.0.1.45'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3376

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_jini_announcement Constant

Id_IPMC_isma_2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_isma_2 = '224.0.1.46'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_itb301 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_itb301 = '224.0.1.168'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_jini_announcement Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_jini_announcement = '224.0.1.84'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3377

Id_IPMC_ll_sbms Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_jini_request Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_jini_request = '224.0.1.85'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_LiebDevMgmg_DM Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_LiebDevMgmg_DM = '224.0.1.122'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_ll_sbms Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ll_sbms = '224.0.0.17';

3378

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_lmsc_calren_3 Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_lmsc_calren_1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_lmsc_calren_1 = '224.0.1.27'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_lmsc_calren_2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_lmsc_calren_2 = '224.0.1.28'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_lmsc_calren_3 Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3379

Id_IPMC_Make Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_lmsc_calren_3 = '224.0.1.29'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_lmsc_calren_4 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_lmsc_calren_4 = '224.0.1.30'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Mac Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Mac = '224.0.1.114'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3380

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_mbone_vcr_directory Constant

Id_IPMC_Make Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Make = '224.0.1.137'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_marratech_cc Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_marratech_cc = '224.0.1.166'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_mbone_vcr_directory Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_mbone_vcr_directory = '224.0.1.52'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3381

Id_IPMC_mdhcpdisover Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_mcntp_directory Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_mcntp_directory = '224.0.1.51'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_MDAP Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MDAP = '224.0.0.103'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_mdhcpdisover Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_mdhcpdisover = '224.0.1.68';

3382

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Mercantile_Min Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_mDNS Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_mDNS = '224.0.0.251'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Mercantile_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Mercantile_Max = '224.0.17.031'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Mercantile_Min Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3383

Id_IPMC_Microsoft_DS Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Mercantile_Min = '224.0.17.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Metropol_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Metropol_Max = '224.0.19.207'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Metropol_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Metropol_Min = '224.0.19.192'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3384

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Microsoft_Min Constant

Id_IPMC_Microsoft_DS Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Microsoft_DS = '224.0.1.24'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Microsoft_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Microsoft_Max = '224.0.12.063'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Microsoft_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Microsoft_Min = '224.0.12.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3385

Id_IPMC_MMP_bundle_discovery2

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_MLOADD Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MLOADD = '224.0.1.19'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_MMP_bundle_discovery1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MMP_bundle_discovery1 = '224.0.1.69'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_MMP_bundle_discovery2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MMP_bundle_discovery2 = '224.0.1.70';

3386

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_MRM Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_mmtp_poll Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_mmtp_poll = '224.0.1.63'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Mobile_Agents Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Mobile_Agents = '224.0.0.11'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_MRM Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3387

Id_IPMC_MSP Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MRM = '224.0.1.111'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_MS_IP_TV_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MS_IP_TV_Max = '224.0.20.063'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_MS_IP_TV_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MS_IP_TV_Min = '224.0.20.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3388

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_mtrace Constant

Id_IPMC_MSP Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MSP = '224.0.1.80'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_MTP_Protocol Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_MTP_Protocol = '224.0.1.9'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_mtrace Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_mtrace = '224.0.1.32'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3389

Id_IPMC_Multimedia_Min Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_multihasc_com Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_multihasc_com = '224.0.1.66'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Multimedia_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Multimedia_Max = '224.2.127.253'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Multimedia_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Multimedia_Min = '224.2.0.0';

3390

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_NBC_Pro Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Music_Service Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Music_Service = '224.0.1.16'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NBC_Pfn Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NBC_Pfn = '224.0.1.26'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NBC_Pro Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3391

Id_IPMC_NDQMD1_Max Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NBC_Pro = '224.0.1.25'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NCC_NET_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NCC_NET_Max = '224.0.11.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NCC_NET_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NCC_NET_Min = '224.0.11.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3392

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_NLANR_Max Constant

Id_IPMC_NDQMD1_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NDQMD1_Max = '224.0.17.063'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NDQMD1_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NDQMD1_Min = '224.0.17.032'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NLANR_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NLANR_Max = '224.0.14.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3393

Id_IPMC_NLVL12R Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NLANR_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NLANR_Min = '224.0.14.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NLVL12 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NLVL12 = '224.0.1.94'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NLVL12R Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NLVL12R = '224.0.1.104';

3394

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_NODSB Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NODSA Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NODSA = '224.0.1.97'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NODSAR Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NODSAR = '224.0.1.107'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NODSB Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3395

Id_IPMC_NODSCR Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NODSB = '224.0.1.98'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NODSBR Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NODSBR = '224.0.1.108'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NODSC Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NODSC = '224.0.1.99'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3396

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_NODSDR Constant

Id_IPMC_NODSCR Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NODSCR = '224.0.1.109'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NODSD Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NODSD = '224.0.1.100'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NODSDR Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NODSDR = '224.0.1.110'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3397

Id_IPMC_NQDS4 Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Nokia Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Nokia = '224.0.1.172'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NorthernData Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NorthernData = '224.0.1.74'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NQDS4 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NQDS4 = '224.0.1.91';

3398

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_NQDS5R Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NQDS4R Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NQDS4R = '224.0.1.101'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NQDS5 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NQDS5 = '224.0.1.92'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NQDS5R Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3399

Id_IPMC_NSS Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NQDS5R = '224.0.1.102'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NQDS6 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NQDS6 = '224.0.1.93'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NQDS6R Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NQDS6R = '224.0.1.103'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3400

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_NTDS1R Constant

Id_IPMC_NSS Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NSS = '224.0.1.6'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NTDS1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NTDS1 = '224.0.1.95'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NTDS1R Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NTDS1R = '224.0.1.105'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3401

Id_IPMC_NTP_Protocol Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NTDS2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NTDS2 = '224.0.1.96'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NTDS2R Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NTDS2R = '224.0.1.106'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_NTP_Protocol Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_NTP_Protocol = '224.0.1.1';

3402

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_ODN_DTV_Max Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_nwn_adaptor Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_nwn_adaptor = '224.0.1.44'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_nwn_discovery Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_nwn_discovery = '224.0.1.43'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_ODN_DTV_Max Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3403

Id_IPMC_Organization_Local_Min Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ODN_DTV_Max = '224.0.17.127'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_ODN_DTV_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ODN_DTV_Min = '224.0.17.064'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Organization_Local_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Organization_Local_Max = '239.251.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3404

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_OSPFIGP_Designated_Routers

Id_IPMC_Organization_Local_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Organization_Local_Min = '239.192.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_OSPFIGP_All_Routers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_OSPFIGP_All_Routers = '224.0.0.5'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_OSPFIGP_Designated_Routers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_OSPFIGP_Designated_Routers = '224.0.0.6'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3405

Id_IPMC_Pipesplatform Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_OTT Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_OTT = '224.0.1.81'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_pdrncs Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_pdrncs = '224.0.1.56'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Pipesplatform Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Pipesplatform = '224.0.1.121';

3406

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Private_Expiriment Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_PolyCom Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_PolyCom = '224.0.1.125'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_pq_lic_mcast Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_pq_lic_mcast = '224.0.1.119'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Private_Expiriment Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3407

Id_IPMC_Proxim Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Private_Expiriment = '224.0.1.20'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_ProCast Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ProCast = '224.0.1.133'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_proshare_mc Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_proshare_mc = '224.0.1.37'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3408

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_ptk_cluster Constant

Id_IPMC_Proxim Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Proxim = '224.0.1.176'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_pt2_discover Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_pt2_discover = '224.0.0.34'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_ptk_cluster Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ptk_cluster = '224.0.1.175'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3409

Id_IPMC_PTP_alternate3 Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_PTP_alternate1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_PTP_alternate1 = '224.0.1.130'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_PTP_alternate2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_PTP_alternate2 = '224.0.1.131'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_PTP_alternate3 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_PTP_alternate3 = '224.0.1.132';

3410

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Query_Min Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_PTP_primary Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_PTP_primary = '224.0.1.129'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Query_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Query_Max = '224.0.254.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Query_Min Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3411

Id_IPMC_Reliable_Min Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Query_Min = '224.0.254.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_rasadv Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_rasadv = '239.255.002.002'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Reliable_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Reliable_Max = '224.0.20.127'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3412

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Report_Min Constant

Id_IPMC_Reliable_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Reliable_Min = '224.0.20.064'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Report_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Report_Max = '224.0.253.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Report_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Report_Min = '224.0.253.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3413

Id_IPMC_RFE_Individual_Max Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_RFE_Generic_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_RFE_Generic_Max = '224.0.3.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_RFE_Generic_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_RFE_Generic_Min = '224.0.3.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_RFE_Individual_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_RFE_Individual_Max = '224.0.4.255';

3414

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_rln_server Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_RFE_Individual_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_RFE_Individual_Min = '224.0.4.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_RIP2_Routers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_RIP2_Routers = '224.0.0.9'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_rln_server Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3415

Id_IPMC_RSVP_encap_2 Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_rln_server = '224.0.1.36'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_router_to_switch Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_router_to_switch = '224.0.0.25'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_RSVP_encap_1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_RSVP_encap_1 = '224.0.1.33'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3416

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_rtv_audio Constant

Id_IPMC_RSVP_encap_2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_RSVP_encap_2 = '224.0.1.34'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_RSVP_ENCAPSULATION Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_RSVP_ENCAPSULATION = '224.0.0.14'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_rtv_audio Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_rtv_audio = '224.0.1.169'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3417

Id_IPMC_Rwhod Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_rtv_video Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_rtv_video = '224.0.1.170'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_rwho Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_rwho = '224.0.2.1'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Rwhod Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Rwhod = '224.0.1.3';

3418

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_SAPv0 Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SAP_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SAP_Max = '224.2.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SAP_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SAP_Min = '224.2.128.0'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SAPv0 Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3419

Id_IPMC_Satcast_2 Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SAPv0 = '224.2.127.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SAPv1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SAPv1 = '224.2.127.254'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Satcast_1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Satcast_1 = '224.0.1.145'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3420

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_sde_discovery Constant

Id_IPMC_Satcast_2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Satcast_2 = '224.0.1.146'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Satcast_3 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Satcast_3 = '224.0.1.147'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_sde_discovery Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_sde_discovery = '224.0.1.86'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3421

Id_IPMC_serv_discovery Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SEANET_IMAGE Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SEANET_IMAGE = '224.0.1.18'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SEANET_TELEMETRY Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SEANET_TELEMETRY = '224.0.1.17'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_serv_discovery Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_serv_discovery = '224.0.1.67';

3422

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_shinbroadband Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SGI_Dogfight Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SGI_Dogfight = '224.0.1.2'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SharesLive Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SharesLive = '224.0.1.73'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_shinbroadband Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3423

Id_IPMC_SIAC_Market2_Max Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_shinbroadband = '224.0.0.31'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_Market_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_Market_Max = '224.0.2.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_Market_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_Market_Min = '224.0.2.192'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3424

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_SIAC_Market3_Max Constant

Id_IPMC_SIAC_Market2_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_Market2_Max = '224.0.5.191'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_Market2_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_Market2_Min = '224.0.5.128'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_Market3_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_Market3_Max = '224.0.19.127'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3425

Id_IPMC_SIAC_Min Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_Market3_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_Market3_Min = '224.0.19.096'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_Max = '224.0.2.095'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_Min = '224.0.2.064';

3426

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Simple Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_MYSE_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_MYSE_Max = '224.0.5.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIAC_MYSE_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIAC_MYSE_Min = '224.0.5.192'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Simple Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3427

Id_IPMC_Site_Local1_Min Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Simple = '224.0.1.115'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SIP Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SIP = '224.0.1.75'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Site_Local1_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Site_Local1_Max = '239.252.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3428

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Site_Local2_Min Constant

Id_IPMC_Site_Local1_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Site_Local1_Min = '239.252.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Site_Local2_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Site_Local2_Max = '239.253.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Site_Local2_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Site_Local2_Min = '239.253.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3429

Id_IPMC_Site_Local4_Max Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Site_Local3_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Site_Local3_Max = '239.254.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Site_Local3_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Site_Local3_Min = '239.254.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Site_Local4_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Site_Local4_Max = '239.255.255.255';

3430

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Source_Min Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Site_Local4_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Site_Local4_Min = '239.255.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Source_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Source_Max = '232.255.255.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Source_Min Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3431

Id_IPMC_ST_Routers Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Source_Min = '232.000.000.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SpectraLinkGW Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SpectraLinkGW = '224.0.1.116'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_ST_Hosts Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ST_Hosts = '224.0.0.8'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3432

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_SUN Constant

Id_IPMC_ST_Routers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_ST_Routers = '224.0.0.7'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SUMAConfig Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SUMAConfig = '224.0.1.139'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SUN Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SUN = '224.0.2.2'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3433

Id_IPMC_sunscalar Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_sun_mc_grp Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_sun_mc_grp = '224.0.1.54'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SUN_NIS_Plus_Information Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SUN_NIS_Plus_Information = '224.0.1.8'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_sunscalar Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_sunscalar = '224.0.1.62';

3434

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Talarian_Max Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SVRLOC Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SVRLOC = '224.0.1.22'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_SVRLOC_DA Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_SVRLOC_DA = '224.0.1.35'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Talarian_Max Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3435

Id_IPMC_telerate Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Talarian_Max = '224.0.21.127'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Talarian_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Talarian_Min = '224.0.21.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Teleborsa Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Teleborsa = '224.0.1.138'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3436

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Tibco_2 Constant

Id_IPMC_telerate Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_telerate = '224.0.1.47'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Tibco_1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Tibco_1 = '224.0.1.78'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Tibco_2 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Tibco_2 = '224.0.1.79'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3437

Id_IPMC_tns_adv_multi Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Tivoli Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Tivoli = '224.0.1.118'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_tms_production Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_tms_production = '224.0.1.61'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_tns_adv_multi Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_tns_adv_multi = '224.0.1.57';

3438

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_TRACKTICKER_Min Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_TRACKTICKER Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_TRACKTICKER = '224.0.1.82'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_TRACKTICKER_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_TRACKTICKER_Max = '224.0.20.143'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_TRACKTICKER_Min Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3439

Id_IPMC_TVE_ANNOUNCE Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_TRACKTICKER_Min = '224.0.20.128'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_TRIBALVOICE Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_TRIBALVOICE = '224.0.1.123'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_TS_MC_1 Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_TS_MC_1 = '224.0.1.136'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3440

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_Unassigned Constant

Id_IPMC_TVE_ANNOUNCE Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_TVE_ANNOUNCE = '224.0.1.113'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_TVE_FILE Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_TVE_FILE = '224.0.1.112'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Unassigned Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Unassigned = '224.0.0.3'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3441

Id_IPMC_vcals_dmu Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_UUNET_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_UUNET_Max = '224.0.13.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_UUNET_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_UUNET_Min = '224.0.13.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_vcals_dmu Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_vcals_dmu = '224.0.1.58';

3442

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_VRRP Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_VMTP_Managers Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_VMTP_Managers = '224.0.1.0'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_VNP Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_VNP = '224.0.1.4'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_VRRP Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3443

Id_IPMC_Where_Are_You_Max Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_VRRP = '224.0.0.18'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Walt_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Walt_Max = '224.0.19.063'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Walt_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Walt_Min = '224.0.19.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3444

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_WORLD_Max Constant

Id_IPMC_Where_Are_You_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Where_Are_You_Max = '224.0.7.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Where_Are_You_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Where_Are_You_Min = '224.0.7.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_WORLD_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_WORLD_Max = '224.0.22.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3445

Id_IPMC_WOZ_Garage_Min Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_WORLD_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_WORLD_Min = '224.0.22.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_WOZ_Garage_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_WOZ_Garage_Max = '224.0.2.191'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_WOZ_Garage_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_WOZ_Garage_Min = '224.0.2.128';

3446

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_XingNet_Max Constant

Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Xenoscience_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Xenoscience_Max = '224.0.19.239'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_Xenoscience_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_Xenoscience_Min = '224.0.19.208'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_XingNet_Max Constant Internet Multicast Group Address

Internet Direct (Indy) Version 10.1.5

3447

Id_IPMC_XRX Constant

Constants

File IdAssignedNumbers (

4557)

Pascal Id_IPMC_XingNet_Max = '224.0.16.255'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_XingNet_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_XingNet_Min = '224.0.16.000'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_XINGTV Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_XINGTV = '224.0.1.23'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

3448

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPMC_zeroconfaddr_Max Constant

Id_IPMC_XRX Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_XRX = '224.0.1.127'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_XYPOINT Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_XYPOINT = '224.0.1.71'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_zeroconfaddr_Max Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_zeroconfaddr_Max = '224.0.0.68'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3449

Id_IPREL_AAP Constant

Constants

RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_zeroconfaddr_Min Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_zeroconfaddr_Min = '224.0.0.37'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPMC_zuba Constant Internet Multicast Group Address File IdAssignedNumbers (

4557)

Pascal Id_IPMC_zuba = '224.0.1.59'; Description Internet Assigned Numbering Authority (IANA ( document:

4762)) Internet Multicast Group Address, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 1112 - Host Extensions for IP Multicasting IANA Official Internet Multicast Addresses

Id_IPREL_AAP Constant Relative addresses to be used with scoped multicast addresses. File IdAssignedNumbers (

4557)

Pascal Id_IPREL_AAP = 7;

3450

Internet Direct (Indy) Version 10.1.5

Constants

Id_IPREL_MBUS Constant

Description Relative addresses to be used with scoped multicast addresses.

Id_IPREL_DHCPV4 Constant Relative addresses to be used with scoped multicast addresses. File IdAssignedNumbers (

4557)

Pascal Id_IPREL_DHCPV4 = 6; Description Relative addresses to be used with scoped multicast addresses.

Id_IPREL_DNS Constant Relative addresses to be used with scoped multicast addresses. File IdAssignedNumbers (

4557)

Pascal Id_IPREL_DNS = 4; Description Relative addresses to be used with scoped multicast addresses.

Id_IPREL_MADCAP Constant Relative addresses to be used with scoped multicast addresses. File IdAssignedNumbers (

4557)

Pascal Id_IPREL_MADCAP = 1; Description Relative addresses to be used with scoped multicast addresses.

Id_IPREL_MBUS Constant Relative addresses to be used with scoped multicast addresses. File IdAssignedNumbers (

4557)

Internet Direct (Indy) Version 10.1.5

3451

Id_IPREL_SSDP Constant

Constants

Pascal Id_IPREL_MBUS = 8; Description Relative addresses to be used with scoped multicast addresses.

Id_IPREL_MZAP Constant Relative addresses to be used with scoped multicast addresses. File IdAssignedNumbers (

4557)

Pascal Id_IPREL_MZAP = 3; Description Relative addresses to be used with scoped multicast addresses.

Id_IPREL_SAP Constant Relative addresses to be used with scoped multicast addresses. File IdAssignedNumbers (

4557)

Pascal Id_IPREL_SAP = 0; Description Relative addresses to be used with scoped multicast addresses.

Id_IPREL_SLPV2 Constant Relative addresses to be used with scoped multicast addresses. File IdAssignedNumbers (

4557)

Pascal Id_IPREL_SLPV2 = 2; Description Relative addresses to be used with scoped multicast addresses.

Id_IPREL_SSDP Constant Relative addresses to be used with scoped multicast addresses.

3452

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Alto Constant

File IdAssignedNumbers (

4557)

Pascal Id_IPREL_SSDP = 5; Description Relative addresses to be used with scoped multicast addresses.

Id_IPv6_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_IPv6_HSIZE = $28; Description Id_IPv6_HSIZE is a Constant.

Id_MAX_IPOPTLEN Constant File IdRawHeaders (

4701)

Pascal Id_MAX_IPOPTLEN = 40; Description Id_MAX_IPOPTLEN is a Constant.

Id_MN_68000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_68000 = 'MC68000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3453

Id_MN_Amdahl_V7 Constant

Constants

Id_MN_Alto Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Alto = 'ALTO'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Altos_6800 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Altos_6800 = 'ALTOS-6800'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amdahl_V7 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amdahl_V7 = 'AMDAHL-V7'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3454

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Amiga_1000_020 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1000 = 'AMIGA-1000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1000_010 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1000_010 = 'AMIGA-1000/010'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1000_020 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1000_020 = 'AMIGA-1000/020';

Internet Direct (Indy) Version 10.1.5

3455

Id_MN_Amiga_1200 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1000_030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1000_030 = 'AMIGA-1000/030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1000_EC030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1000_EC030 = 'AMIGA-1000/EC030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1200 Constant IANA (

3456

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Amiga_1200_EC030 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1200 = 'AMIGA-1200'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1200_030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1200_030 = 'AMIGA-1200/030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1200_040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1200_040 = 'AMIGA-1200/040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3457

Id_MN_Amiga_1200_LC040 Constant

Constants

Id_MN_Amiga_1200_EC030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1200_EC030 = 'AMIGA-1200/EC030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1200_EC040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1200_EC040 = 'AMIGA-1200/EC040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_1200_LC040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_1200_LC040 = 'AMIGA-1200/LC040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3458

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Amiga_2000_020 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_2000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_2000 = 'AMIGA-2000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_2000_010 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_2000_010 = 'AMIGA-2000/010'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_2000_020 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_2000_020 = 'AMIGA-2000/020';

Internet Direct (Indy) Version 10.1.5

3459

Id_MN_Amiga_2000_EC030 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_2000_030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_2000_030 = 'AMIGA-2000/030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_2000_040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_2000_040 = 'AMIGA-2000/040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_2000_EC030 Constant IANA (

3460

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Amiga_3000 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_2000_EC030 = 'AMIGA-2000/EC030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_2000_EC040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_2000_EC040 = 'AMIGA-2000/EC040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_2000_LC040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_2000_LC040 = 'AMIGA-2000/LC040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3461

Id_MN_Amiga_3000_060 Constant

Constants

Id_MN_Amiga_3000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_3000 = 'AMIGA-3000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_3000_040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_3000_040 = 'AMIGA-3000/040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_3000_060 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_3000_060 = 'AMIGA-3000/060'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3462

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Amiga_4000_030 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_3000_EC040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_3000_EC040 = 'AMIGA-3000/EC040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_3000_LC040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_3000_LC040 = 'AMIGA-3000/LC040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_4000_030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_4000_030 = 'AMIGA-4000/030';

Internet Direct (Indy) Version 10.1.5

3463

Id_MN_Amiga_4000_EC030 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_4000_040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_4000_040 = 'AMIGA-4000/040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_4000_060 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_4000_060 = 'AMIGA-4000/060'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_4000_EC030 Constant IANA (

3464

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Amiga_500_010 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_4000_EC030 = 'AMIGA-4000/EC030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_4000_LC040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_4000_LC040 = 'AMIGA-4000/LC040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_500 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_500 = 'AMIGA-500'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3465

Id_MN_Amiga_500_030 Constant

Constants

Id_MN_Amiga_500_010 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_500_010 = 'AMIGA-500/010'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_500_020 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_500_020 = 'AMIGA-500/020'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_500_030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_500_030 = 'AMIGA-500/030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3466

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Apollo Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_500_EC030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_500_EC030 = 'AMIGA-500/EC030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Amiga_600 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Amiga_600 = 'AMIGA-600'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Apollo Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Apollo = 'APOLLO';

Internet Direct (Indy) Version 10.1.5

3467

Id_MN_Atari_104ST Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Apple_Macintosh Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Apple_Macintosh = 'APPLE-MACINTOSH'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Apple_Powerbook Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Apple_Powerbook = 'APPLE-POWERBOOK'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Atari_104ST Constant IANA (

3468

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_ATT_3B20 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Atari_104ST = 'ATARI-104ST'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_ATT_3B1 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_ATT_3B1 = 'ATT-3B1'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_ATT_3B2 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_ATT_3B2 = 'ATT-3B2'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3469

Id_MN_AXP Constant

Constants

Id_MN_ATT_3B20 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_ATT_3B20 = 'ATT-3B20'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_ATT_7300 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_ATT_7300 = 'ATT-7300'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_AXP Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_AXP = 'AXP'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3470

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Burroughs_B_4800 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_BBN_C_60 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_BBN_C_60 = 'BBN-C/60'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Burroughs_B_29 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Burroughs_B_29 = 'BURROUGHS-B/29'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Burroughs_B_4800 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Burroughs_B_4800 = 'BURROUGHS-B/4800';

Internet Direct (Indy) Version 10.1.5

3471

Id_MN_C_70 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Butterfly Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Butterfly = 'BUTTERFLY'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_C_30 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_C_30 = 'C/30'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_C_70 Constant IANA (

3472

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_CD32 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_C_70 = 'C/70'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Cadlinc Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Cadlinc = 'CADLINC'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_CadR Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CadR = 'CADR'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3473

Id_MN_CDC_170_750 Constant

Constants

Id_MN_CD32 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CD32 = 'CD32'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_CDC_170 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CDC_170 = 'CDC-170'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_CDC_170_750 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CDC_170_750 = 'CDC-170/750'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3474

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_CDTV_060 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_CDC_173 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CDC_173 = 'CDC-173'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_CDTV Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CDTV = 'CDTV'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_CDTV_060 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CDTV_060 = 'CDTV/060';

Internet Direct (Indy) Version 10.1.5

3475

Id_MN_Compaq_386_20 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Celerity_1200 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Celerity_1200 = 'CELERITY-1200'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Club_386 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Club_386 = 'CLUB-386'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Compaq_386_20 Constant IANA (

3476

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Cray_1 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Compaq_386_20 = 'COMPAQ-386/20'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Comten_3690 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Comten_3690 = 'COMTEN-3690'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_CP8040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CP8040 = 'CP8040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3477

Id_MN_Cray_X_MP Constant

Constants

Id_MN_Cray_1 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Cray_1 = 'CRAY-1'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Cray_2 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Cray_2 = 'CRAY-2'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Cray_X_MP Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Cray_X_MP = 'CRAY-X/MP'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3478

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_DEC_10 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_CTIWS_117 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_CTIWS_117 = 'CTIWS-117'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Dandelion Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Dandelion = 'DANDELION'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_10 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_10 = 'DEC-10';

Internet Direct (Indy) Version 10.1.5

3479

Id_MN_DEC_1080 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_1050 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_1050 = 'DEC-1050'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_1077 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_1077 = 'DEC-1077'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_1080 Constant IANA (

3480

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_DEC_1090T Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_1080 = 'DEC-1080'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_1090 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_1090 = 'DEC-1090'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_1090B Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_1090B = 'DEC-1090B'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3481

Id_MN_DEC_2040 Constant

Constants

Id_MN_DEC_1090T Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_1090T = 'DEC-1090T'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_2020T Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_2020T = 'DEC-2020T'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_2040 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_2040 = 'DEC-2040'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3482

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_DEC_2060 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_2040T Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_2040T = 'DEC-2040T'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_2050T Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_2050T = 'DEC-2050T'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_2060 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_2060 = 'DEC-2060';

Internet Direct (Indy) Version 10.1.5

3483

Id_MN_DEC_AXP Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_2060T Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_2060T = 'DEC-2060T'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_2065 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_2065 = 'DEC-2065'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_AXP Constant IANA (

3484

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_DEC_VAX Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_AXP = 'DEC-AXP'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_Falcon Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_Falcon = 'DEC-FALCON'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_KS10 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_KS10 = 'DEC-KS10'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3485

Id_MN_DEC_VAXCluster Constant

Constants

Id_MN_DEC_VAX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_VAX = 'DEC-VAX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_VAX_11730 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_VAX_11730 = 'DEC-VAX-11730'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_VAXCluster Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_VAXCluster = 'DEC-VAXCLUSTER'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3486

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Dorado Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DEC_VAXStation Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DEC_VAXStation = 'DEC-VAXSTATION'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DECStation Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DECStation = 'DECSTATION'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Dorado Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Dorado = 'DORADO';

Internet Direct (Indy) Version 10.1.5

3487

Id_MN_Emens Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_DPS8_70M Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_DPS8_70M = 'DPS8/70M'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Elxsi_6400 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Elxsi_6400 = 'ELXSI-6400'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Emens Constant IANA (

3488

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Foonly_F3 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Emens = 'SIEMENS'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_EverEx_386 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_EverEx_386 = 'EVEREX-386'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Foonly_F2 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Foonly_F2 = 'FOONLY-F2'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3489

Id_MN_Gould Constant

Constants

Id_MN_Foonly_F3 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Foonly_F3 = 'FOONLY-F3'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Foonly_F4 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Foonly_F4 = 'FOONLY-F4'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Gould Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Gould = 'GOULD'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3490

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Gould_9050 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Gould_6050 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Gould_6050 = 'GOULD-6050'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Gould_6080 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Gould_6080 = 'GOULD-6080'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Gould_9050 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Gould_9050 = 'GOULD-9050';

Internet Direct (Indy) Version 10.1.5

3491

Id_MN_H_60_68 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Gould_9080 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Gould_9080 = 'GOULD-9080'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_H_316 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_H_316 = 'H-316'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_H_60_68 Constant IANA (

3492

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_H_89 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_H_60_68 = 'H-60/68'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_H_68 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_H_68 = 'H-68'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_H_68_80 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_H_68_80 = 'H-68/80'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3493

Id_MN_Honeywell_DPS_6 Constant

Constants

Id_MN_H_89 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_H_89 = 'H-89'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Honeywell_BPS_8_70 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Honeywell_BPS_8_70 = 'HONEYWELL-DPS-8/70'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Honeywell_DPS_6 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Honeywell_DPS_6 = 'HONEYWELL-DPS-6'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3494

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_IBM_158 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_HP3000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_HP3000 = 'HP3000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_HP3000_64 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_HP3000_64 = 'HP3000/64'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_158 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_158 = 'IBM-158';

Internet Direct (Indy) Version 10.1.5

3495

Id_MN_IBM_3101 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_3081 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_3081 = 'IBM-3081'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_3084QX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_3084QX = 'IBM-3084QX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_3101 Constant IANA (

3496

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_IBM_4331 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_3101 = 'IBM-3101'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_360_67 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_360_67 = 'IBM-360/67'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_370_3033 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_370_3033 = 'IBM-370/3033'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3497

Id_MN_IBM_4361 Constant

Constants

Id_MN_IBM_4331 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_4331 = 'IBM-4331'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_4341 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_4341 = 'IBM-4341'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_4361 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_4361 = 'IBM-4361'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3498

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_IBM_6152 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_4381 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_4381 = 'IBM-4381'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_4956 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_4956 = 'IBM-4956'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_6152 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_6152 = 'IBM-6152';

Internet Direct (Indy) Version 10.1.5

3499

Id_MN_IBM_PC_RT Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_PC Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_PC = 'IBM-PC'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_PC_AT Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_PC_AT = 'IBM-PC/AT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_PC_RT Constant IANA (

3500

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_IBM_Series_1 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_PC_RT = 'IBM-PC/RT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_PC_XT Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_PC_XT = 'IBM-PC/XT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_IBM_RS_6000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_RS_6000 = 'IBM-RS/6000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3501

Id_MN_Imagen_8_300 Constant

Constants

Id_MN_IBM_Series_1 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_IBM_Series_1 = 'IBM-SERIES/1'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Imagen Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Imagen = 'IMAGEN'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Imagen_8_300 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Imagen_8_300 = 'IMAGEN-8/300'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3502

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Integrated_Solutions_68K Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Imsai Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Imsai = 'IMSAI'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Integrated_Solutions Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Integrated_Solutions = 'INTEGRATED-SOLUTIONS'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Integrated_Solutions_68K Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Integrated_Solutions_68K = 'INTEGRATED-SOLUTIONS-68K';

Internet Direct (Indy) Version 10.1.5

3503

Id_MN_INTEL_386 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Integrated_Solutions_Creator Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Integrated_Solutions_Creator = 'INTEGRATED-SOLUTIONS-CREATOR'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Integrated_Solutions_Creator_8 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Integrated_Solutions_Creator_8 = 'INTEGRATED-SOLUTIONS-CREATOR-8'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_INTEL_386 Constant IANA (

3504

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Is_68010 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_INTEL_386 = 'INTEL-386'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_INTEL_IPSC Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_INTEL_IPSC = 'INTEL-IPSC'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Is_1 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Is_1 = 'IS-1'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3505

Id_MN_LSI_11 Constant

Constants

Id_MN_Is_68010 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Is_68010 = 'IS-68010'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_LMI Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_LMI = 'LMI'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_LSI_11 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_LSI_11 = 'LSI-11'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3506

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_LSI_11_73 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_LSI_11_2 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_LSI_11_2 = 'LSI-11/2'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_LSI_11_23 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_LSI_11_23 = 'LSI-11/23'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_LSI_11_73 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_LSI_11_73 = 'LSI-11/73';

Internet Direct (Indy) Version 10.1.5

3507

Id_MN_Mac_Powerbook Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_M68000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_M68000 = 'M68000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Mac_II Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Mac_II = 'MAC-II'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Mac_Powerbook Constant IANA (

3508

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_MC500 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Mac_Powerbook = 'MAC-POWERBOOK'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_MacIntosh Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_MacIntosh = 'MACINTOSH'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_MassComp Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_MassComp = 'MASSCOMP'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3509

Id_MN_MicroVAX Constant

Constants

Id_MN_MC500 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_MC500 = 'MC500'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Microport Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Microport = 'MICROPORT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_MicroVAX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_MicroVAX = 'MICROVAX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3510

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_NAS3_5 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_MicroVAX_I Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_MicroVAX_I = 'MICROVAX-I'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_MV_8000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_MV_8000 = 'MV/8000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_NAS3_5 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_NAS3_5 = 'NAS3-5';

Internet Direct (Indy) Version 10.1.5

3511

Id_MN_Now Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_NCR_Comten_3690 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_NCR_Comten_3690 = 'NCR-COMTEN-3690'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Next_N1000_316 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Next_N1000_316 = 'NEXT/N1000-316'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Now Constant IANA (

3512

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_PDP_11_23 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Now = 'NOW'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Onyx_Z8000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Onyx_Z8000 = 'ONYX-Z8000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11 = 'PDP-11'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3513

Id_MN_PDP_11_3 Constant

Constants

Id_MN_PDP_11_23 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_23 = 'PDP-11/23'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_24 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_24 = 'PDP-11/24'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_3 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_3 = 'PDP-11/3'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3514

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_PDP_11_44 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_34 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_34 = 'PDP-11/34'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_40 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_40 = 'PDP-11/40'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_44 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_44 = 'PDP-11/44';

Internet Direct (Indy) Version 10.1.5

3515

Id_MN_PDP_11_70 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_45 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_45 = 'PDP-11/45'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_50 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_50 = 'PDP-11/50'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_70 Constant IANA (

3516

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_PE_7_32 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_70 = 'PDP-11/70'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PDP_11_73 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PDP_11_73 = 'PDP-11/73'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PE_3205 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PE_3205 = 'PE-3205'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3517

Id_MN_Plexus_P_60 Constant

Constants

Id_MN_PE_7_32 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PE_7_32 = 'PE-7/32'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PE_Perq Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PE_Perq = 'PERQ'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Plexus_P_60 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Plexus_P_60 = 'PLEXUS-P/60'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3518

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Prime_2250 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_PLI Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_PLI = 'PLI'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Pluribus Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Pluribus = 'PLURIBUS'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_2250 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_2250 = 'PRIME-2250';

Internet Direct (Indy) Version 10.1.5

3519

Id_MN_Prime_2655 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_2350 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_2350 = 'PRIME-2350'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_2450 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_2450 = 'PRIME-2450'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_2655 Constant IANA (

3520

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Prime_750 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_2655 = 'PRIME-2655'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_2755 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_2755 = 'PRIME-2755'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_550II Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_550II = 'PRIME-550II'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3521

Id_MN_Prime_9650 Constant

Constants

Id_MN_Prime_750 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_750 = 'PRIME-750'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_850 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_850 = 'PRIME-850'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_9650 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_9650 = 'PRIME-9650'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3522

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Prime_9755 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_9655 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_9655 = 'PRIME-9655'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_9750 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_9750 = 'PRIME-9750'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_9755 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_9755 = 'PRIME-9755';

Internet Direct (Indy) Version 10.1.5

3523

Id_MN_Prime_9955II Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_9950 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_9950 = 'PRIME-9950'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_9955 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_9955 = 'PRIME-9955'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Prime_9955II Constant IANA (

3524

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Pyramid_90X Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Prime_9955II = 'PRIME-9955II'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Pyramid_90 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Pyramid_90 = 'PYRAMID-90'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Pyramid_90MX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Pyramid_90MX = 'PYRAMID-90MX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3525

Id_MN_Ridge_32 Constant

Constants

Id_MN_Pyramid_90X Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Pyramid_90X = 'PYRAMID-90X'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Ridge Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Ridge = 'RIDGE'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Ridge_32 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Ridge_32 = 'RIDGE-32'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3526

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_RS_6000 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Ridge_32C Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Ridge_32C = 'RIDGE-32C'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_ROLM_1666 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_ROLM_1666 = 'ROLM-1666'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_RS_6000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_RS_6000 = 'RS/6000';

Internet Direct (Indy) Version 10.1.5

3527

Id_MN_SGI_Iris_2400 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_S1_MKIIA Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_S1_MKIIA = 'S1-MKIIA'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sequent_Balance_8000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sequent_Balance_8000 = 'SEQUENT-BALANCE-8000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_2400 Constant IANA (

3528

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_SGI_Iris_3020 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_2400 = 'SGI-IRIS-2400'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_2500 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_2500 = 'SGI-IRIS-2500'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_3010 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_3010 = 'SGI-IRIS-3010'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3529

Id_MN_SGI_Iris_3110 Constant

Constants

Id_MN_SGI_Iris_3020 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_3020 = 'SGI-IRIS-3020'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_3030 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_3030 = 'SGI-IRIS-3030'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_3110 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_3110 = 'SGI-IRIS-3110'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3530

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_SGI_Iris_3130 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_3115 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_3115 = 'SGI-IRIS-3115'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_3120 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_3120 = 'SGI-IRIS-3120'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_3130 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_3130 = 'SGI-IRIS-3130';

Internet Direct (Indy) Version 10.1.5

3531

Id_MN_SGI_Iris_4D_20 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_120GTX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_120GTX = 'SGI-IRIS-4D/120GTX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_120S Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_120S = 'SGI-IRIS-4D/120S'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_20 Constant IANA (

3532

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_SGI_Iris_4D_210S Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_20 = 'SGI-IRIS-4D/20'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_20G Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_20G = 'SGI-IRIS-4D/20G'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_210GTX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_210GTX = 'SGI-IRIS-4D/210GTX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3533

Id_MN_SGI_Iris_4D_220S Constant

Constants

Id_MN_SGI_Iris_4D_210S Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_210S = 'SGI-IRIS-4D/210S'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_220GTX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_220GTX = 'SGI-IRIS-4D/220GTX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_220S Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_220S = 'SGI-IRIS-4D/220S'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3534

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_SGI_Iris_4D_25 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_240GTX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_240GTX = 'SGI-IRIS-4D/240GTX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_240S Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_240S = 'SGI-IRIS-4D/240S'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_25 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_25 = 'SGI-IRIS-4D/25';

Internet Direct (Indy) Version 10.1.5

3535

Id_MN_SGI_Iris_4D_280GTX Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_25G Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_25G = 'SGI-IRIS-4D/25G'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_25S Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_25S = 'SGI-IRIS-4D/25S'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_280GTX Constant IANA (

3536

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_SGI_Iris_4D_50G Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_280GTX = 'SGI-IRIS-4D/280GTX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_280S Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_280S = 'SGI-IRIS-4D/280S'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_50 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_50 = 'SGI-IRIS-4D/50'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3537

Id_MN_SGI_Iris_4D_60 Constant

Constants

Id_MN_SGI_Iris_4D_50G Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_50G = 'SGI-IRIS-4D/50G'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_50GT Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_50GT = 'SGI-IRIS-4D/50GT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_60 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_60 = 'SGI-IRIS-4D/60'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3538

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_SGI_Iris_4D_60T Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_60G Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_60G = 'SGI-IRIS-4D/60G'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_60GT Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_60GT = 'SGI-IRIS-4D/60GT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_60T Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_60T = 'SGI-IRIS-4D/60T';

Internet Direct (Indy) Version 10.1.5

3539

Id_MN_SGI_Iris_4D_70GT Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_70 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_70 = 'SGI-IRIS-4D/70'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_70G Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_70G = 'SGI-IRIS-4D/70G'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_70GT Constant IANA (

3540

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_SGI_Iris_4Server_8 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_70GT = 'SGI-IRIS-4D/70GT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_80GT Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_80GT = 'SGI-IRIS-4D/80GT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_4D_80S Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4D_80S = 'SGI-IRIS-4D/80S'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3541

Id_MN_Silicon_Graphics Constant

Constants

Id_MN_SGI_Iris_4Server_8 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_4Server_8 = 'SGI-IRIS-4SERVER-8'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SGI_Iris_CS_12 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SGI_Iris_CS_12 = 'SGI-IRIS-CS/12'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Silicon_Graphics Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Silicon_Graphics = 'SILICON-GRAPHICS'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3542

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Sperry_DCP_10 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Silicon_Graphics_Iris Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Silicon_Graphics_Iris = 'SILICON-GRAPHICS-IRIS'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_SMI Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_SMI = 'SMI'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sperry_DCP_10 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sperry_DCP_10 = 'SPERRY-DCP/10';

Internet Direct (Indy) Version 10.1.5

3543

Id_MN_Sun_120 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun = 'SUN'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_100 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_100 = 'SUN-100'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_120 Constant IANA (

3544

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Sun_170 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_120 = 'SUN-120'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_130 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_130 = 'SUN-130'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_150 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_150 = 'SUN-150'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3545

Id_MN_Sun_2_100 Constant

Constants

Id_MN_Sun_170 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_170 = 'SUN-170'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2 = 'SUN-2'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2_100 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2_100 = 'SUN-2/100'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3546

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Sun_2_140 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2_120 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2_120 = 'SUN-2/120'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2_130 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2_130 = 'SUN-2/130'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2_140 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2_140 = 'SUN-2/140';

Internet Direct (Indy) Version 10.1.5

3547

Id_MN_Sun_2_170 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2_150 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2_150 = 'SUN-2/150'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2_160 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2_160 = 'SUN-2/160'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2_170 Constant IANA (

3548

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Sun_3_140 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2_170 = 'SUN-2/170'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_2_50 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_2_50 = 'SUN-2/50'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_110 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_110 = 'SUN-3/110'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3549

Id_MN_Sun_3_160 Constant

Constants

Id_MN_Sun_3_140 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_140 = 'SUN-3/140'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_150 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_150 = 'SUN-3/150'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_160 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_160 = 'SUN-3/160'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3550

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Sun_3_260 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_180 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_180 = 'SUN-3/180'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_200 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_200 = 'SUN-3/200'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_260 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_260 = 'SUN-3/260';

Internet Direct (Indy) Version 10.1.5

3551

Id_MN_Sun_3_480 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_280 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_280 = 'SUN-3/280'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_470 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_470 = 'SUN-3/470'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_480 Constant IANA (

3552

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Sun_3_75 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_480 = 'SUN-3/480'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_50 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_50 = 'SUN-3/50'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_60 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_60 = 'SUN-3/60'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3553

Id_MN_Sun_386i_250 Constant

Constants

Id_MN_Sun_3_75 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_75 = 'SUN-3/75'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_3_80 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_3_80 = 'SUN-3/80'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_386i_250 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_386i_250 = 'SUN-386i/250'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3554

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Sun_4_200 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_4_110 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_110 = 'SUN-4/110'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_4_150 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_150 = 'SUN-4/150'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_4_200 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_200 = 'SUN-4/200';

Internet Direct (Indy) Version 10.1.5

3555

Id_MN_Sun_4_330 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_4_260 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_260 = 'SUN-4/260'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_4_280 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_280 = 'SUN-4/280'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_4_330 Constant IANA (

3556

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Sun_4_60 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_330 = 'SUN-4/330'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_4_370 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_370 = 'SUN-4/370'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_4_390 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_390 = 'SUN-4/390'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3557

Id_MN_Sun_68000 Constant

Constants

Id_MN_Sun_4_60 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_4_60 = 'SUN-4/60'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_50 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_50 = 'SUN-50'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Sun_68000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Sun_68000 = 'SUN-68000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3558

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Symmetric_375 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Symbolics_3600 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Symbolics_3600 = 'SYMBOLICS-3600'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Symbolics_3670 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Symbolics_3670 = 'SYMBOLICS-3670'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Symmetric_375 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Symmetric_375 = 'SYMMETRIC-375';

Internet Direct (Indy) Version 10.1.5

3559

Id_MN_Tandy_6000 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Symult Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Symult = 'SYMULT'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Tandem_TXP Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Tandem_TXP = 'TANDEM-TXP'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Tandy_6000 Constant IANA (

3560

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_TP_4000 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Tandy_6000 = 'TANDY-6000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Tek_6130 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Tek_6130 = 'TEK-6130'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_TI_Explorer Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_TI_Explorer = 'TI-EXPLORER'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3561

Id_MN_Univac_1100 Constant

Constants

Id_MN_TP_4000 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_TP_4000 = 'TP-4000'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_TRS_80 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_TRS_80 = 'TRS-80'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Univac_1100 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Univac_1100 = 'UNIVAC-1100'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3562

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Univac_1100_63 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Univac_1100_60 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Univac_1100_60 = 'UNIVAC-1100/60'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Univac_1100_62 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Univac_1100_62 = 'UNIVAC-1100/62'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Univac_1100_63 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Univac_1100_63 = 'UNIVAC-1100/63';

Internet Direct (Indy) Version 10.1.5

3563

Id_MN_Univac_1160 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Univac_1100_64 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Univac_1100_64 = 'UNIVAC-1100/64'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Univac_1100_70 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Univac_1100_70 = 'UNIVAC-1100/70'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Univac_1160 Constant IANA (

3564

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_VAX_11_725 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Univac_1160 = 'UNIVAC-1160'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Unknown Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Unknown = 'UNKNOWN'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAX Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX = 'VAX'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3565

Id_MN_VAX_11_750 Constant

Constants

Id_MN_VAX_11_725 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX_11_725 = 'VAX-11/725'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAX_11_730 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX_11_730 = 'VAX-11/730'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAX_11_750 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX_11_750 = 'VAX-11/750'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3566

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_VAX_11_790 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAX_11_780 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX_11_780 = 'VAX-11/780'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAX_11_785 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX_11_785 = 'VAX-11/785'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAX_11_790 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX_11_790 = 'VAX-11/790';

Internet Direct (Indy) Version 10.1.5

3567

Id_MN_VAXCluster Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAX_11_8600 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX_11_8600 = 'VAX-11/8600'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAX_8600 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAX_8600 = 'VAX-8600'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAXCluster Constant IANA (

3568

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Wang_VS100 Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAXCluster = 'VAXCLUSTER'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_VAXStation Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_VAXStation = 'VAXSTATION'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wang_PC002 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wang_PC002 = 'WANG-PC002'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3569

Id_MN_Wyse_386 Constant

Constants

Id_MN_Wang_VS100 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wang_VS100 = 'WANG-VS100'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wang_VS400 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wang_VS400 = 'WANG-VS400'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_386 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_386 = 'WYSE-386'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3570

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Wyse_WN5104 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WN5004 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WN5004 = 'WYSE-WN5004'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WN5008 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WN5008 = 'WYSE-WN5008'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WN5104 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WN5104 = 'WYSE-WN5104';

Internet Direct (Indy) Version 10.1.5

3571

Id_MN_Wyse_WX17C Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WN5108 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WN5108 = 'WYSE-WN5108'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WX15C Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WX15C = 'WYSE-WX15C'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WX17C Constant IANA (

3572

4762) Machine Names for DNS HINFO records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Wyse_WX19M Constant

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WX17C = 'WYSE-WX17C'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WX17M Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WX17M = 'WYSE-WX17M'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WX19C Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WX19C = 'WYSE-WX19C'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Internet Direct (Indy) Version 10.1.5

3573

Id_MN_Wyse_WYX5 Constant

Constants

Id_MN_Wyse_WX19M Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WX19M = 'WYSE-WX19M'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WYX14M Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WYX14M = 'WYSE-WYX14M'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Wyse_WYX5 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Wyse_WYX5 = 'WYSE-WYX5'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers 3574

Internet Direct (Indy) Version 10.1.5

Constants

Id_MN_Zenith_148 Constant

RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Xerox_1108 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Xerox_1108 = 'XEROX-1108'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Xerox_8010 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Xerox_8010 = 'XEROX-8010'; Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

Id_MN_Zenith_148 Constant IANA (

4762) Machine Names for DNS HINFO records.

File IdAssignedNumbers (

4557)

Pascal Id_MN_Zenith_148 = 'ZENITH-148';

Internet Direct (Indy) Version 10.1.5

3575

ID_NC_MASK_LENGTH Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( Standards documents:

4762)) Machine Names for DNS HINFO records, as specified in the Internet

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification Internet Assigned Numbering Authority (IANA) Official Machine Names

ID_MSG_NODECODE Constant Default value for the TIdMessage.NoDecode (

1549) property.

File IdMessage (

4682)

Pascal ID_MSG_NODECODE = False; Description ID_MSG_NODECODE is the default value for the TIdMessage.NoDecode (

1549) property.

ID_MSG_NODECODE is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.

ID_MSG_PRIORITY Constant Default value for the TIdMessage.Priority (

1550) property.

File IdMessage (

4682)

Pascal ID_MSG_PRIORITY = mpNormal; Description ID_MSG_PRIORITY is the default value for the TIdMessage.Priority (

1550) property.

ID_MSG_PRIORITY is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.

ID_MSG_USESNOWFORDATE Constant File IdMessage (

4682)

Pascal ID_MSG_USESNOWFORDATE = True;

3576

Internet Direct (Indy) Version 10.1.5

Constants

Id_NET_BSD_1_1 Constant

ID_NC_MASK_LENGTH Constant Default length of network masks used in TIdNetworkCalculator (

1685).

File IdNetworkCalculator (

4691)

Pascal ID_NC_MASK_LENGTH = 32; Description ID_NC_MASK_LENGTH is a constant Cardinal value that represents the length of the network mask used in calculating IP addresses for TIdNetworkCalculator ( 1685). ID_NC_MASK_LENGTH is assigned to the NetworkMaskLength property in TIdNetworkCalculator ( the component.

1685) during initialization of

See Also TIdNetworkCalculator.NetworkMaskLength (

1691)

Id_NET_BSD_1_0 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_1_0 = 'NETBSD-1.0'; Description Internet Assigned Numbering Authority (IANA ( in the Internet Standards documents:

4762)) Official System Names for DNS HINFO and NIC Host records, as specified

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification

Id_NET_BSD_1_1 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_1_1 = 'NETBSD-1.1'; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official System Names Machine Names for DNS HINFO and NIC Host records, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers Internet Direct (Indy) Version 10.1.5

3577

Id_NET_BSD_3_11 Constant

Constants

RFC 952 - DOD Internet Host Table Specification

Id_NET_BSD_1_2 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_1_2 = 'NETBSD-1.2'; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official System Names Machine Names for DNS HINFO and NIC Host records, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification

Id_NET_BSD_1_3 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_1_3 = 'NETBSD-1.3'; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official System Names Machine Names for DNS HINFO and NIC Host records, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification

Id_NET_BSD_3_0 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_3_0 = 'NETWARE-3'; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official System Names Machine Names for DNS HINFO and NIC Host records, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification 3578

Internet Direct (Indy) Version 10.1.5

Constants

Id_NET_BSD_5_0 Constant

Id_NET_BSD_3_11 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_3_11 = 'NETWARE-3.11'; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official System Names Machine Names for DNS HINFO and NIC Host records, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification

Id_NET_BSD_4_0 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_4_0 = 'NETWARE-4.0'; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official System Names Machine Names for DNS HINFO and NIC Host records, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification

Id_NET_BSD_4_1 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_4_1 = 'NETWARE-4.1'; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official System Names Machine Names for DNS HINFO and NIC Host records, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification

Internet Direct (Indy) Version 10.1.5

3579

Id_OS_Aegis Constant

Constants

Id_NET_BSD_5_0 Constant IANA (

4762) Official System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_NET_BSD_5_0 = 'NETWARE-5.0'; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official System Names Machine Names for DNS HINFO and NIC Host records, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification

ID_NETWORKCLASS Constant Default network class for IP addresses in TIdNetworkCalculator (

1685).

File IdNetworkCalculator (

4691)

Pascal ID_NETWORKCLASS = ID_NET_CLASS_A; Description ID_NETWORKCLASS is a constant value that represents the default TNetworkClass ( TIdNetworkCalculator ( 1685).

2985) value assigned for IP addresses in

ID_NETWORKCLASS is assigned to the NetworkClass property in TIdNetworkCalculator ( component.

1685) during initialization of the

See Also TIdNetworkCalculator.NetworkClass (

1690)

Id_OS_Aegis Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Aegis = 'AEGIS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3580

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Amiga_1_2 Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_AIX_370 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_AIX_370 = 'AIX/370'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_AIX_PS2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_AIX_PS2 = 'AIX-PS/2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Amiga_1_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Amiga_1_2 = 'AMIGA-OS-1.2';

Internet Direct (Indy) Version 10.1.5

3581

Id_OS_Amiga_2_1 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Amiga_1_3 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Amiga_1_3 = 'AMIGA-OS-1.3'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Amiga_2_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Amiga_2_0 = 'AMIGA-OS-2.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Amiga_2_1 Constant IANA (

3582

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Amiga_3_5 Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_Amiga_2_1 = 'AMIGA-OS-2.1'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Amiga_3_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Amiga_3_0 = 'AMIGA-OS-3.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Amiga_3_1 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Amiga_3_1 = 'AMIGA-OS-3.1'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3583

Id_OS_Apollo Constant

Constants

Id_OS_Amiga_3_5 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Amiga_3_5 = 'AMIGA-OS-3.5'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Amiga_3_9 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Amiga_3_9 = 'AMIGA-OS-3.9'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Apollo Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Apollo = 'APOLLO'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3584

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_BS_2000 Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_BEOS_4_5_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_BEOS_4_5_2 = 'BEOS-4.5.2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_BEOS_5_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_BEOS_5_0 = 'BEOS-5.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_BS_2000 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_BS_2000 = 'BS-2000';

Internet Direct (Indy) Version 10.1.5

3585

Id_OS_CHORUS Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Cedar Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Cedar = 'CEDAR'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_CGW Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_CGW = 'CGW'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_CHORUS Constant IANA (

3586

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_CMS Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_CHORUS = 'CHORUS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Chrysalis Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Chrysalis = 'CHRYSALIS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_CMOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_CMOS = 'CMOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3587

Id_OS_CPIX Constant

Constants

Id_OS_CMS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_CMS = 'CMS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_COS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_COS = 'COS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_CPIX Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_CPIX = 'CPIX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3588

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_DCN Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_CTOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_CTOS = 'CTOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_CTSS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_CTSS = 'CTSS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_DCN Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_DCN = 'DCN';

Internet Direct (Indy) Version 10.1.5

3589

Id_OS_DOS Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_DDNOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_DDNOS = 'DDNOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_DOMAIN Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_DOMAIN = 'DOMAIN'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_DOS Constant IANA (

3590

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_EMBOS Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_DOS = 'DOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_EDX Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_EDX = 'EDX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_ELF Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_ELF = 'ELF'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3591

Id_OS_EPOS Constant

Constants

Id_OS_EMBOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_EMBOS = 'EMBOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_EMMOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_EMMOS = 'EMMOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_EPOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_EPOS = 'EPOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3592

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_FUZZ Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_FOONEX Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_FOONEX = 'FOONEX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_FORTH Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_FORTH = 'FORTH'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_FUZZ Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_FUZZ = 'FUZZ';

Internet Direct (Indy) Version 10.1.5

3593

Id_OS_HDOS Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_GCOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_GCOS = 'GCOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_GPOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_GPOS = 'GPOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_HDOS Constant IANA (

3594

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Instant_Internet Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_HDOS = 'HDOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Imagen Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Imagen = 'IMAGEN'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Impress Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Impress = 'IMPRESS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3595

Id_OS_Interlisp Constant

Constants

Id_OS_Instant_Internet Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Instant_Internet = 'INSTANT-INTERNET'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Intercom Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Intercom = 'INTERCOM'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Interlisp Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Interlisp = 'INTERLISP'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3596

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_ISI Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_IOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_IOS = 'IOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_IRIX Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_IRIX = 'IRIX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_ISI Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_ISI = 'ISI-68020';

Internet Direct (Indy) Version 10.1.5

3597

Id_OS_Linux Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_ITS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_ITS = 'ITS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_KOSOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_KOSOS = 'KOSOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Linux Constant IANA (

3598

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Linux_2_0 Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_Linux = 'LINUX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Linux_1_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Linux_1_0 = 'LINUX-1.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Linux_1_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Linux_1_2 = 'LINUX-1.2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3599

Id_OS_LISP Constant

Constants

Id_OS_Linux_2_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Linux_2_0 = 'LINUX-2.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Linux_2_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Linux_2_2 = 'LINUX-2.2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_LISP Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_LISP = 'LISP'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3600

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_MACOS Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_LISPM Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_LISPM = 'LISPM'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_LOCUS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_LOCUS = 'LOCUS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MACOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MACOS = 'MACOS';

Internet Direct (Indy) Version 10.1.5

3601

Id_OS_MPE5 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MINOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MINOS = 'MINOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MOS = 'MOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MPE5 Constant IANA (

3602

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_MSDOS Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_MPE5 = 'MPE5'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MPEIX Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MPEIX = 'MPE/IX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MPEV Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MPEV = 'MPE/V'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3603

Id_OS_MUSIC Constant

Constants

Id_OS_MSDOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MSDOS = 'MSDOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MULTICS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MULTICS = 'MULTICS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MUSIC Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MUSIC = 'MUSIC'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3604

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_MVSSP Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MUSICSP Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MUSICSP = 'MUSIC/SP'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MVS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MVS = 'MVS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_MVSSP Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_MVSSP = 'MVS/SP';

Internet Direct (Indy) Version 10.1.5

3605

Id_OS_NONSTOP Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_NEXUS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_NEXUS = 'NEXUS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_NMS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_NMS = 'NMS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_NONSTOP Constant IANA (

3606

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_OpenBSD Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_NONSTOP = 'NONSTOP'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_NOS_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_NOS_2 = 'NOS-2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_NTOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_NTOS = 'NTOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3607

Id_OS_OS_2 Constant

Constants

Id_OS_OpenBSD Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_OpenBSD = 'OPENBSD'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_OpenVMS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_OpenVMS = 'OPENVMS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_OS_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_OS_2 = 'OS/2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3608

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_OSDDP Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_OS_4 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_OS_4 = 'OS4'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_OS_6 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_OS_6 = 'OS86'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_OSDDP Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_OSDDP = 'OS/DDP';

Internet Direct (Indy) Version 10.1.5

3609

Id_OS_PERQOS Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_OSX Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_OSX = 'OSX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_PCDOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_PCDOS = 'PCDOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_PERQOS Constant IANA (

3610

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_PSDDOSMIT Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_PERQOS = 'PERQ/OS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_PLI Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_PLI = 'PLI'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Primos Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Primos = 'PRIMOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3611

Id_OS_RISC_OS_3_10 Constant

Constants

Id_OS_PSDDOSMIT Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_PSDDOSMIT = 'PSDOS/MIT'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RISC_OS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RISC_OS = 'RISC-OS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RISC_OS_3_10 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RISC_OS_3_10 = 'RISC-OS-3.10'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3612

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_RISC_OS_3_70 Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RISC_OS_3_50 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RISC_OS_3_50 = 'RISC-OS-3.50'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RISC_OS_3_60 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RISC_OS_3_60 = 'RISC-OS-3.60'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RISC_OS_3_70 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RISC_OS_3_70 = 'RISC-OS-3.70';

Internet Direct (Indy) Version 10.1.5

3613

Id_OS_ROS Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RISC_OS_4_00 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RISC_OS_4_00 = 'RISC-OS-4.00'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RMXRDOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RMXRDOS = 'RMX/RDOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_ROS Constant IANA (

3614

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Satops Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_ROS = 'ROS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RSX11M Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RSX11M = 'RSX11M'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_RTE_A Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_RTE_A = 'RTE-A'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3615

Id_OS_SCO_Open_Desktop_1_1 Constant

Constants

Id_OS_Satops Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Satops = 'SATOPS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Open_Desktop_1_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Open_Desktop_1_0 = 'SCO-OPEN-DESKTOP-1.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Open_Desktop_1_1 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Open_Desktop_1_1 = 'SCO-OPEN-DESKTOP-1.1'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3616

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_SCO_Open_Desktop_Lite_3_0

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Open_Desktop_2_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Open_Desktop_2_0 = 'SCO-OPEN-DESKTOP-2.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Open_Desktop_3_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Open_Desktop_3_0 = 'SCO-OPEN-DESKTOP-3.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Open_Desktop_Lite_3_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Open_Desktop_Lite_3_0 = 'SCO-OPEN-DESKTOP-LITE-3.0';

Internet Direct (Indy) Version 10.1.5

3617

Id_OS_SCO_Unix_3_2V1_0 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Open_Server_3_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Open_Server_3_0 = 'SCO-OPEN-SERVER-3.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Unix_3_2_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Unix_3_2_0 = 'SCO-UNIX-3.2.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Unix_3_2V1_0 Constant IANA (

3618

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_SCO_Unix_3_2V4_2 Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Unix_3_2V1_0 = 'SCO-UNIX-3.2V2.1'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Unix_3_2V2_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Unix_3_2V2_0 = 'SCO-UNIX-3.2V2.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Unix_3_2V4_1 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Unix_3_2V4_1 = 'SCO-UNIX-3.2V4.1'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3619

Id_OS_SCO_Xenix_386_2_3_2 Constant

Constants

Id_OS_SCO_Unix_3_2V4_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Unix_3_2V4_2 = 'SCO-UNIX-3.2V4.2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Unix_S_2V4_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Unix_S_2V4_0 = 'SCO-UNIX-3.2V4.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Xenix_386_2_3_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Xenix_386_2_3_2 = 'SCO-XENIX-386-2.3.2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3620

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_SCS Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Xenix_386_2_3_3 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Xenix_386_2_3_3 = 'SCO-XENIX-386-2.3.3'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCO_Xenix_386_2_3_4 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCO_Xenix_386_2_3_4 = 'SCO-XENIX-386-2.3.4'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SCS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SCS = 'SCS';

Internet Direct (Indy) Version 10.1.5

3621

Id_OS_SUN Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SIMP Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SIMP = 'SIMP'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Sinix Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Sinix = 'SINIX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SUN Constant IANA (

3622

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Swift Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_SUN = 'SUN'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SUN_OS_3_5 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SUN_OS_3_5 = 'SUN-OS-3.5'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_SUN_OS_4_0 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_SUN_OS_4_0 = 'SUN-OS-4.0'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3623

Id_OS_Tandem Constant

Constants

Id_OS_Swift Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Swift = 'SWIFT'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Tac Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Tac = 'TAC'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Tandem Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Tandem = 'TANDEM'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3624

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Tops10 Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Tenex Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Tenex = 'TENEX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_The_Major_BBS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_The_Major_BBS = 'THE-MAJOR-BBS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Tops10 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Tops10 = 'TOPS10';

Internet Direct (Indy) Version 10.1.5

3625

Id_OS_TP3010 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Tops20 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Tops20 = 'TOPS20'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_TOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_TOS = 'TOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_TP3010 Constant IANA (

3626

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Unix Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_TP3010 = 'TP3010'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_TRSDOS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_TRSDOS = 'TRSDOS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Ultrix Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Ultrix = 'ULTRIX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3627

Id_OS_Unix_PC Constant

Constants

Id_OS_Unix Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix = 'UNIX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Unix_BSD Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix_BSD = 'UNIX-BSD'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Unix_PC Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix_PC = 'UNIX-PC'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3628

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Unix_V_1 Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Unix_Unknown Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix_Unknown = 'UNKNOWN'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Unix_V Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix_V = 'UNIX-V'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Unix_V_1 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix_V_1 = 'UNIX-V.1';

Internet Direct (Indy) Version 10.1.5

3629

Id_OS_Unix_V1AT Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Unix_V_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix_V_2 = 'UNIX-V.2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Unix_V_3 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix_V_3 = 'UNIX-V.3'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Unix_V1AT Constant IANA (

3630

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_VM Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_Unix_V1AT = 'UNIX-V1AT'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_UT2D Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_UT2D = 'UT2D'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_V Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_V = 'V'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3631

Id_OS_VM_CMS Constant

Constants

Id_OS_VM Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_VM = 'VM'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_VM_370 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_VM_370 = 'VM/370'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_VM_CMS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_VM_CMS = 'VM/CMS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3632

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_VMS_Eunice Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_VM_SP Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_VM_SP = 'VM/SP'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_VMS Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_VMS = 'VMS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_VMS_Eunice Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_VMS_Eunice = 'VMS/EUNICE';

Internet Direct (Indy) Version 10.1.5

3633

Id_OS_Wang Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_VRTX Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_VRTX = 'VRTX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Waits Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Waits = 'WAITS'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Wang Constant IANA (

3634

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Windows_95OSR1 Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_Wang = 'WANG'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Win32 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Win32 = 'WIN32'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_95 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_95 = 'WINDOWS-95'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3635

Id_OS_Windows_98 Constant

Constants

Id_OS_Windows_95OSR1 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_95OSR1 = 'WINDOWS-95-OSR1'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_95OSR2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_95OSR2 = 'WINDOWS-95-OSR2'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_98 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_98 = 'WINDOWS-98'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3636

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_Windows_NT_2 Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_CE Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_CE = 'WINDOWS-CE'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_NT Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_NT = 'WINDOWS-NT'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_NT_2 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_NT_2 = 'WINDOWS-NT-2';

Internet Direct (Indy) Version 10.1.5

3637

Id_OS_Windows_NT_3_51 Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_NT_3 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_NT_3 = 'WINDOWS-NT-3'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_NT_3_5 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_NT_3_5 = 'WINDOWS-NT-3.5'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_NT_3_51 Constant IANA (

3638

4762) Official Operating System Names for DNS HINFO and NIC Host records.

Internet Direct (Indy) Version 10.1.5

Constants

Id_OS_WorldGroup Constant

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_NT_3_51 = 'WINDOWS-NT-3.51'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_NT_4 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_NT_4 = 'WINDOWS-NT-4'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Windows_NT_5 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Windows_NT_5 = 'WINDOWS-NT-5'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Internet Direct (Indy) Version 10.1.5

3639

Id_OS_X11R3 Constant

Constants

Id_OS_WorldGroup Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_WorldGroup = 'WORLDGROUP'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Wyse_Wyxware Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Wyse_Wyxware = 'WYSE-WYXWARE'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_X11R3 Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_X11R3 = 'X11R3'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers 3640

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_3com_amp3 Constant

RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_XDE Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_XDE = 'XDE'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_OS_Xenix Constant IANA (

4762) Official Operating System Names for DNS HINFO and NIC Host records.

File IdAssignedNumbers (

4557)

Pascal Id_OS_Xenix = 'XENIX'; Description Internet Assigned Numbering Authority (IANA ( documents:

4762)) Official Operating System Names, as specified in the Internet Standards

RFC 1770 - Assigned Numbers RFC 952 - DOD Internet Host Table Specification IANA Official Operating System Names

Id_PORT_3com_amp3 Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_3com_amp3 = 629;

Internet Direct (Indy) Version 10.1.5

3641

Id_PORT_acap Constant

Constants

Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_acap Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_acap = 674; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: 3642

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_accessnetwork Constant

RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_accessnetwork Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_accessnetwork = 699; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification Internet Direct (Indy) Version 10.1.5

3643

Id_PORT_acp Constant

Constants

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_acp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_acp = 599; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. 3644

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_afpovertcp Constant

The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_afpovertcp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_afpovertcp = 548; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port Internet Direct (Indy) Version 10.1.5

3645

Id_PORT_agentx Constant

Constants

used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_agentx Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_agentx = 705; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA ( 3646

4762) is 0-1023. Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_aminet Constant

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_aminet Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_aminet = 649; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( Internet Direct (Indy) Version 10.1.5

4762) and on most systems can be used by ordinary user processes or programs 3647

Id_PORT_aodv Constant

Constants

executed by ordinary users. Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_aodv Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_aodv = 654; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. 3648

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_asa_appl_proto Constant

The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_asa_appl_proto Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_asa_appl_proto = 502; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151. Internet Direct (Indy) Version 10.1.5

3649

Id_PORT_asipregistry Constant

Constants

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Id_PORT_asia Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_asia = 626; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535. 3650

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_aurora_cmgr Constant

Id_PORT_asipregistry Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_asipregistry = 687; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3651

Id_PORT_aux_bus_shunt Constant

Constants

Id_PORT_aurora_cmgr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_aurora_cmgr = 364; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3652

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_bdp Constant

Id_PORT_aux_bus_shunt Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_aux_bus_shunt = 623; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3653

Id_PORT_bh611 Constant

Constants

Id_PORT_bdp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_bdp = 581; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3654

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_bhevent Constant

Id_PORT_bh611 Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_bh611 = 354; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3655

Id_PORT_biff Constant

Constants

Id_PORT_bhevent Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_bhevent = 357; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3656

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_bmpp Constant

Id_PORT_biff Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_biff = 512; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3657

Id_PORT_borland_dsj Constant

Constants

Id_PORT_bmpp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_bmpp = 632; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3658

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_cab_protocol Constant

Id_PORT_borland_dsj Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_borland_dsj = 707; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3659

Id_PORT_cal Constant

Constants

Id_PORT_cab_protocol Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_cab_protocol = 595; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3660

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_cimplex Constant

Id_PORT_cal Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_cal = 588; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3661

Id_PORT_cisco_tdp Constant

Constants

Id_PORT_cimplex Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_cimplex = 673; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3662

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_citadel Constant

Id_PORT_cisco_tdp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_cisco_tdp = 711; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3663

Id_PORT_cloanto_net_1 Constant

Constants

Id_PORT_citadel Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_citadel = 504; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3664

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_codaauth2 Constant

Id_PORT_cloanto_net_1 Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_cloanto_net_1 = 356; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3665

Id_PORT_collaborator Constant

Constants

Id_PORT_codaauth2 Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_codaauth2 = 370; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3666

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_compaq_evm Constant

Id_PORT_collaborator Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_collaborator = 622; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3667

Id_PORT_connendp Constant

Constants

Id_PORT_compaq_evm Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_compaq_evm = 619; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3668

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_corba_iiop Constant

Id_PORT_connendp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_connendp = 693; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3669

Id_PORT_corba_iiop_ssl Constant

Constants

Id_PORT_corba_iiop Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_corba_iiop = 683; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3670

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_crs Constant

Id_PORT_corba_iiop_ssl Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_corba_iiop_ssl = 684; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3671

Id_PORT_cryptoadmin Constant

Constants

Id_PORT_crs Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_crs = 507; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3672

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_dantz Constant

Id_PORT_cryptoadmin Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_cryptoadmin = 624; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3673

Id_PORT_datex_asn Constant

Constants

Id_PORT_dantz Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dantz = 497; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3674

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_dctp Constant

Id_PORT_datex_asn Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_datex_asn = 355; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3675

Id_PORT_dec_dlm Constant

Constants

Id_PORT_dctp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dctp = 675; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3676

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_decbsrv Constant

Id_PORT_dec_dlm Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dec_dlm = 625; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3677

Id_PORT_dei_icda Constant

Constants

Id_PORT_decbsrv Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_decbsrv = 579; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3678

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_dhcp_failover Constant

Id_PORT_dei_icda Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dei_icda = 618; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3679

Id_PORT_dhcp_failover2 Constant

Constants

Id_PORT_dhcp_failover Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dhcp_failover = 647; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3680

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_direct Constant

Id_PORT_dhcp_failover2 Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dhcp_failover2 = 847; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3681

Id_PORT_disclose Constant

Constants

Id_PORT_direct Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_direct = 242; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3682

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_dtag_ste_sb Constant

Id_PORT_disclose Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_disclose = 667; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3683

Id_PORT_dtk Constant

Constants

Id_PORT_dtag_ste_sb Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dtag_ste_sb = 352; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3684

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_dwr Constant

Id_PORT_dtk Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dtk = 365; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3685

Id_PORT_entrust_aaas Constant

Constants

Id_PORT_dwr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_dwr = 644; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3686

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_entrust_aams Constant

Id_PORT_entrust_aaas Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_entrust_aaas = 680; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3687

Id_PORT_entrust_ash Constant

Constants

Id_PORT_entrust_aams Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_entrust_aams = 681; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3688

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_entrust_sps Constant

Id_PORT_entrust_ash Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_entrust_ash = 710; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3689

Id_PORT_escp_ip Constant

Constants

Id_PORT_entrust_sps Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_entrust_sps = 640; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3690

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_esro_emsdp Constant

Id_PORT_escp_ip Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_escp_ip = 621; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3691

Id_PORT_eudora_set Constant

Constants

Id_PORT_esro_emsdp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_esro_emsdp = 642; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3692

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_exec Constant

Id_PORT_eudora_set Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_eudora_set = 592; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3693

Id_PORT_eyelink Constant

Constants

Id_PORT_exec Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_exec = 512; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3694

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_fcp Constant

Id_PORT_eyelink Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_eyelink = 589; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3695

Id_PORT_FirstClass Constant

Constants

Id_PORT_fcp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_fcp = 810; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3696

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_gnf_ncp Constant

Id_PORT_FirstClass Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_FirstClass = 510; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3697

Id_PORT_ha_cluster Constant

Constants

Id_PORT_gnf_ncp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_gnf_ncp = 678; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3698

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_hap Constant

Id_PORT_ha_cluster Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ha_cluster = 694; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3699

Id_PORT_hcp_wismar Constant

Constants

Id_PORT_hap Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_hap = 661; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3700

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_hello_port Constant

Id_PORT_hcp_wismar Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_hcp_wismar = 686; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3701

Id_PORT_hmmp_ind Constant

Constants

Id_PORT_hello_port Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_hello_port = 652; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3702

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_hmmp_op Constant

Id_PORT_hmmp_ind Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_hmmp_ind = 612; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3703

Id_PORT_http_alt Constant

Constants

Id_PORT_hmmp_op Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_hmmp_op = 613; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3704

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_http_rpc_epmap Constant

Id_PORT_http_alt Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_http_alt = 591; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3705

Id_PORT_hyperwave_isp Constant

Constants

Id_PORT_http_rpc_epmap Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_http_rpc_epmap = 593; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3706

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_iclcnet_locate Constant

Id_PORT_hyperwave_isp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_hyperwave_isp = 692; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3707

Id_PORT_iclcnet_svinfo Constant

Constants

Id_PORT_iclcnet_locate Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_iclcnet_locate = 886; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3708

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_ideafarm_catch Constant

Id_PORT_iclcnet_svinfo Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_iclcnet_svinfo = 887; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3709

Id_PORT_ideafarm_chat Constant

Constants

Id_PORT_ideafarm_catch Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ideafarm_catch = 903; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3710

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_idfp Constant

Id_PORT_ideafarm_chat Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ideafarm_chat = 902; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3711

Id_PORT_ieee_mms Constant

Constants

Id_PORT_idfp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_idfp = 549; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3712

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_ieee_mms_ssl Constant

Id_PORT_ieee_mms Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ieee_mms = 651; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3713

Id_PORT_imap4_ssl_dp Constant

Constants

Id_PORT_ieee_mms_ssl Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ieee_mms_ssl = 695; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3714

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_inbusiness Constant

Id_PORT_imap4_ssl_dp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_imap4_ssl_dp = 585; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3715

Id_PORT_intrinsa Constant

Constants

Id_PORT_inbusiness Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_inbusiness = 244; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3716

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_ipcd Constant

Id_PORT_intrinsa Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_intrinsa = 503; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3717

Id_PORT_ipdd Constant

Constants

Id_PORT_ipcd Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ipcd = 576; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3718

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_ipp Constant

Id_PORT_ipdd Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ipdd = 578; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3719

Id_PORT_isakmp Constant

Constants

Id_PORT_ipp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ipp = 631; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3720

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_ISO_ILL Constant

Id_PORT_isakmp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_isakmp = 500; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3721

Id_PORT_itm_mcell_s Constant

Constants

Id_PORT_ISO_ILL Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ISO_ILL = 499; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3722

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_keyserver Constant

Id_PORT_itm_mcell_s Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_itm_mcell_s = 828; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3723

Id_PORT_lanserver Constant

Constants

Id_PORT_keyserver Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_keyserver = 584; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3724

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_ldaps Constant

Id_PORT_lanserver Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_lanserver = 637; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3725

Id_PORT_ldp Constant

Constants

Id_PORT_ldaps Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ldaps = 636; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3726

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_login Constant

Id_PORT_ldp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ldp = 646; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3727

Id_PORT_mac_srvr_admin Constant

Constants

Id_PORT_login Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_login = 513; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3728

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_mailbox_lm Constant

Id_PORT_mac_srvr_admin Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_mac_srvr_admin = 660; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3729

Id_PORT_masqdialer Constant

Constants

Id_PORT_mailbox_lm Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_mailbox_lm = 505; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3730

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_matip_type_a Constant

Id_PORT_masqdialer Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_masqdialer = 224; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3731

Id_PORT_matip_type_b Constant

Constants

Id_PORT_matip_type_a Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_matip_type_a = 350; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3732

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_mcns_sec Constant

Id_PORT_matip_type_b Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_matip_type_b = 351; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3733

Id_PORT_mdc_portmapper Constant

Constants

Id_PORT_mcns_sec Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_mcns_sec = 638; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3734

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_mecomm Constant

Id_PORT_mdc_portmapper Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_mdc_portmapper = 685; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3735

Id_PORT_meregister Constant

Constants

Id_PORT_mecomm Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_mecomm = 668; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3736

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_mftp Constant

Id_PORT_meregister Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_meregister = 669; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3737

Id_PORT_mortgageware Constant

Constants

Id_PORT_mftp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_mftp = 349; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3738

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_mrm Constant

Id_PORT_mortgageware Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_mortgageware = 367; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3739

Id_PORT_msdp Constant

Constants

Id_PORT_mrm Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_mrm = 679; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3740

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_msexch_routing Constant

Id_PORT_msdp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_msdp = 639; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3741

Id_PORT_ndsauth Constant

Constants

Id_PORT_msexch_routing Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_msexch_routing = 691; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3742

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_nmap Constant

Id_PORT_ndsauth Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ndsauth = 353; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3743

Id_PORT_nsrmp Constant

Constants

Id_PORT_nmap Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_nmap = 689; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3744

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_obex Constant

Id_PORT_nsrmp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_nsrmp = 359; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3745

Id_PORT_odmr Constant

Constants

Id_PORT_obex Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_obex = 650; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3746

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_ohimsrv Constant

Id_PORT_odmr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_odmr = 366; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3747

Id_PORT_olsr Constant

Constants

Id_PORT_ohimsrv Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ohimsrv = 506; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3748

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_omginitialrefs Constant

Id_PORT_olsr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_olsr = 698; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3749

Id_PORT_passgo Constant

Constants

Id_PORT_omginitialrefs Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_omginitialrefs = 900; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3750

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_passgo_tivoli Constant

Id_PORT_passgo Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_passgo = 511; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3751

Id_PORT_password_chg Constant

Constants

Id_PORT_passgo_tivoli Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_passgo_tivoli = 627; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3752

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_pftp Constant

Id_PORT_password_chg Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_password_chg = 586; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3753

Id_PORT_philips_vc Constant

Constants

Id_PORT_pftp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_pftp = 662; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3754

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_pim_rp_disc Constant

Id_PORT_philips_vc Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_philips_vc = 583; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3755

Id_PORT_pkix_3_ca_ra Constant

Constants

Id_PORT_pim_rp_disc Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_pim_rp_disc = 496; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3756

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_pssc Constant

Id_PORT_pkix_3_ca_ra Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_pkix_3_ca_ra = 829; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3757

Id_PORT_ptcnameservice Constant

Constants

Id_PORT_pssc Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_pssc = 645; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3758

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_purenoise Constant

Id_PORT_ptcnameservice Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_ptcnameservice = 597; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3759

Id_PORT_qbikgdp Constant

Constants

Id_PORT_purenoise Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_purenoise = 663; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3760

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_qmqp Constant

Id_PORT_qbikgdp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_qbikgdp = 368; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3761

Id_PORT_rda Constant

Constants

Id_PORT_qmqp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_qmqp = 628; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3762

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_realm_rusd Constant

Id_PORT_rda Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_rda = 630; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3763

Id_PORT_repcmd Constant

Constants

Id_PORT_realm_rusd Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_realm_rusd = 688; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3764

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_repscmd Constant

Id_PORT_repcmd Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_repcmd = 641; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3765

Id_PORT_rlzdbase Constant

Constants

Id_PORT_repscmd Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_repscmd = 653; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3766

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_rmc Constant

Id_PORT_rlzdbase Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_rlzdbase = 635; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3767

Id_PORT_rpc2portmap Constant

Constants

Id_PORT_rmc Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_rmc = 657; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3768

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_rrp Constant

Id_PORT_rpc2portmap Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_rpc2portmap = 369; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3769

Id_PORT_rsvp_tunnel Constant

Constants

Id_PORT_rrp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_rrp = 648; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3770

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_rsync Constant

Id_PORT_rsvp_tunnel Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_rsvp_tunnel = 363; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3771

Id_PORT_rushd Constant

Constants

Id_PORT_rsync Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_rsync = 873; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3772

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_sanity Constant

Id_PORT_rushd Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_rushd = 696; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3773

Id_PORT_scc_security Constant

Constants

Id_PORT_sanity Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sanity = 643; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3774

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_sco_dtmgr Constant

Id_PORT_scc_security Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_scc_security = 582; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3775

Id_PORT_sco_inetmgr Constant

Constants

Id_PORT_sco_dtmgr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sco_dtmgr = 617; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3776

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_sco_sysmgr Constant

Id_PORT_sco_inetmgr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sco_inetmgr = 615; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3777

Id_PORT_sco_websrvrmg3 Constant

Constants

Id_PORT_sco_sysmgr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sco_sysmgr = 616; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3778

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_sco_websrvrmgr Constant

Id_PORT_sco_websrvrmg3 Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sco_websrvrmg3 = 598; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3779

Id_PORT_scoi2odialog Constant

Constants

Id_PORT_sco_websrvrmgr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sco_websrvrmgr = 620; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3780

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_secure_aux_bus Constant

Id_PORT_scoi2odialog Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_scoi2odialog = 360; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3781

Id_PORT_semantix Constant

Constants

Id_PORT_secure_aux_bus Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_secure_aux_bus = 664; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3782

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_shrinkwrap Constant

Id_PORT_semantix Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_semantix = 361; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3783

Id_PORT_siam Constant

Constants

Id_PORT_shrinkwrap Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_shrinkwrap = 358; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3784

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_silc Constant

Id_PORT_siam Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_siam = 498; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3785

Id_PORT_smpnameres Constant

Constants

Id_PORT_silc Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_silc = 706; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3786

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_smsd Constant

Id_PORT_smpnameres Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_smpnameres = 901; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3787

Id_PORT_snare Constant

Constants

Id_PORT_smsd Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_smsd = 596; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3788

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_sntp_heartbeat Constant

Id_PORT_snare Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_snare = 509; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3789

Id_PORT_spmp Constant

Constants

Id_PORT_sntp_heartbeat Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sntp_heartbeat = 580; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3790

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_srssend Constant

Id_PORT_spmp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_spmp = 656; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3791

Id_PORT_sshell Constant

Constants

Id_PORT_srssend Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_srssend = 362; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3792

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_stmf Constant

Id_PORT_sshell Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sshell = 614; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3793

Id_PORT_submission Constant

Constants

Id_PORT_stmf Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_stmf = 501; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3794

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_sun_dr Constant

Id_PORT_submission Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_submission = 587; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3795

ID_PORT_surf Constant

Constants

Id_PORT_sun_dr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_sun_dr = 665; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3796

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_syslog_conn Constant

ID_PORT_surf Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal ID_PORT_surf = 1010; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3797

Id_PORT_tenfold Constant

Constants

Id_PORT_syslog_conn Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_syslog_conn = 601; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3798

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_tinc Constant

Id_PORT_tenfold Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_tenfold = 658; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3799

Id_PORT_tns_cml Constant

Constants

Id_PORT_tinc Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_tinc = 655; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3800

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_tpip Constant

Id_PORT_tns_cml Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_tns_cml = 590; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3801

Id_PORT_uuidgen Constant

Constants

Id_PORT_tpip Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_tpip = 594; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3802

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_vacdsm_app Constant

Id_PORT_uuidgen Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_uuidgen = 697; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3803

Id_PORT_vacdsm_sws Constant

Constants

Id_PORT_vacdsm_app Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_vacdsm_app = 671; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3804

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_vatp Constant

Id_PORT_vacdsm_sws Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_vacdsm_sws = 670; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3805

Id_PORT_vnas Constant

Constants

Id_PORT_vatp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_vatp = 690; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3806

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_vpp Constant

Id_PORT_vnas Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_vnas = 577; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3807

Id_PORT_vpps_qua Constant

Constants

Id_PORT_vpp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_vpp = 677; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3808

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_vpps_via Constant

Id_PORT_vpps_qua Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_vpps_qua = 672; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3809

Id_PORT_xfr Constant

Constants

Id_PORT_vpps_via Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_vpps_via = 676; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3810

Internet Direct (Indy) Version 10.1.5

Constants

Id_PORT_xvttp Constant

Id_PORT_xfr Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_xfr = 682; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

Internet Direct (Indy) Version 10.1.5

3811

Id_RIP_HSIZE Constant

Constants

Id_PORT_xvttp Constant IANA (

4762) Official Port numbers.

File IdAssignedNumbers (

4557)

Pascal Id_PORT_xvttp = 508; Description Internet Assigned Numbering Authority (IANA ( 4762)) Official Port numbers for Well Know, Registered, and Dynamic and/or Private Ports, as specified in the Internet Standards documents: RFC 1770 - Assigned Numbers IANA Official Port Numbers RFC 952 - DOD Internet Host Table Specification

Well Known Port Numbers The Well Known Ports are those from 0 through 1023. The Well Known Ports are assigned by the IANA ( by programs executed by privileged users.

4762) and on most systems can only be used by system (or root) processes or

Ports are used in the TCP (Transmission Control Program) [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The contact port is sometimes called the "well-known port". To the extent possible, these same port assignments are used with the UDP (User Datagram Protocol) [RFC768]. The range for assigned ports managed by the IANA (

4762) is 0-1023.

Registered Port Numbers The Registered Ports are listed by the IANA ( executed by ordinary users.

4762) and on most systems can be used by ordinary user processes or programs

Ports are used in the TCP [RFC793] to name the ends of logical connections which carry long term conversations. For the purpose of providing services to unknown callers, a service contact port is defined. This list specifies the port used by the server process as its contact port. The IANA (

4762) registers uses of these ports as a convenience to the community.

To the extent possible, these same port assignments are used with the UDP [RFC768]. The Registered Ports are in the range 1024-49151.

Dynamic and/or Private Ports The Dynamic and/or Private Ports are those from 49152 through 65535.

3812

Internet Direct (Indy) Version 10.1.5

Constants

Id_RIPCMD_REQUEST Constant

Id_RIP_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_RIP_HSIZE = $18; Description Id_RIP_HSIZE is a Constant.

Id_RIPCMD_MAX Constant File IdRawHeaders (

4701)

Pascal Id_RIPCMD_MAX = 7; Description Id_RIPCMD_MAX is a Constant.

Id_RIPCMD_POLL Constant File IdRawHeaders (

4701)

Pascal Id_RIPCMD_POLL = 5; Description Id_RIPCMD_POLL is a Constant.

Id_RIPCMD_POLLENTRY Constant File IdRawHeaders (

4701)

Pascal Id_RIPCMD_POLLENTRY = 6; Description Id_RIPCMD_POLLENTRY is a Constant.

Internet Direct (Indy) Version 10.1.5

3813

Id_RIPVER_0 Constant

Constants

Id_RIPCMD_REQUEST Constant File IdRawHeaders (

4701)

Pascal Id_RIPCMD_REQUEST = 1; Description Id_RIPCMD_REQUEST is a Constant.

Id_RIPCMD_RESPONSE Constant File IdRawHeaders (

4701)

Pascal Id_RIPCMD_RESPONSE = 2; Description Id_RIPCMD_RESPONSE is a Constant.

Id_RIPCMD_TRACEOFF Constant File IdRawHeaders (

4701)

Pascal Id_RIPCMD_TRACEOFF = 4; Description Id_RIPCMD_TRACEOFF is a Constant.

Id_RIPCMD_TRACEON Constant File IdRawHeaders (

4701)

Pascal Id_RIPCMD_TRACEON = 3; Description Id_RIPCMD_TRACEON is a Constant.

3814

Internet Direct (Indy) Version 10.1.5

Constants

ID_SOCKS_AUTH Constant

Id_RIPVER_0 Constant File IdRawHeaders (

4701)

Pascal Id_RIPVER_0 = 0; Description Id_RIPVER_0 is a Constant.

Id_RIPVER_1 Constant File IdRawHeaders (

4701)

Pascal Id_RIPVER_1 = 1; Description Id_RIPVER_1 is a Constant.

Id_RIPVER_2 Constant File IdRawHeaders (

4701)

Pascal Id_RIPVER_2 = 2; Description Id_RIPVER_2 is a Constant.

ID_SOCKS_AUTH Constant Default Socks Authentication for TIdSocksInfo (

2118) instances.

File IdSocks (

4724)

Pascal ID_SOCKS_AUTH = saNoAuthentication; Description ID_SOCKS_AUTH is a constant value that represents the default TSocksAuthentication ( TIdSocksInfo.Authentication ( 2122) property in the constructor for the object instance.

Internet Direct (Indy) Version 10.1.5

2988) value assigned to the

3815

Id_TCP_HSIZE Constant

Constants

See Also TSocksAuthentication (

2988)

TIdSocksInfo.Authentication (

2122)

ID_SOCKS_VER Constant Default Socks version for TSocksInfo instances. File IdSocks (

4724)

Pascal ID_SOCKS_VER = svNoSocks; Description ID_SOCKS_VER is a constant value that represents the default TIdSocksVersion assigned to the TIdSocksInfo.Version ( property in the constructor for the object instance.

2124)

See Also TIdSocksInfo.Version (

2124)

Id_TCP_ACK Constant File IdRawHeaders (

4701)

Pascal Id_TCP_ACK = $10; Description Id_TCP_ACK is a Constant.

Id_TCP_FIN Constant File IdRawHeaders (

4701)

Pascal Id_TCP_FIN = $01; Description Id_TCP_FIN is a Constant.

Id_TCP_HSIZE Constant File IdRawHeaders ( 3816

4701) Internet Direct (Indy) Version 10.1.5

Constants

Id_TCP_URG Constant

Pascal Id_TCP_HSIZE = $14; Description Id_TCP_HSIZE is a Constant.

Id_TCP_PUSH Constant File IdRawHeaders (

4701)

Pascal Id_TCP_PUSH = $08; Description Id_TCP_PUSH is a Constant.

Id_TCP_RST Constant File IdRawHeaders (

4701)

Pascal Id_TCP_RST = $04; Description Id_TCP_RST is a Constant.

Id_TCP_SYN Constant File IdRawHeaders (

4701)

Pascal Id_TCP_SYN = $02; Description Id_TCP_SYN is a Constant.

Id_TCP_URG Constant File IdRawHeaders (

4701)

Pascal Id_TCP_URG = $20;

Internet Direct (Indy) Version 10.1.5

3817

Id_TId_HTTPServer_KeepAlive Constant

Constants

Description Id_TCP_URG is a Constant.

Id_TId_HTTPAutoStartSession Constant Default value for the TIdHTTPServer.AutoStartSession property. File IdCustomHTTPServer (

4608)

Pascal Id_TId_HTTPAutoStartSession = False; Description Id_TId_HTTPAutoStartSession is a Boolean constant that represents the default value for the TIdHTTPServer.AutoStartSession property. Id_TId_HTTPAutoStartSession is used during initialization of the component. See Also TIdHTTPServer.AutoStartSession

Id_TId_HTTPMaximumHeaderLineCount Constant Default value for the TIdCustomHTTPServer.MaximumHeaderLineCount (

439) property.

File IdCustomHTTPServer (

4608)

Pascal Id_TId_HTTPMaximumHeaderLineCount = 1024; Description Id_TId_HTTPMaximumHeaderLineCount is an Integer constant that indicates the maximum number of headers lines permitted when processing HTTP requests from a client connection. Id_TId_HTTPMaximumHeaderLineCount is the default value used for the TIdCustomHTTPServer.MaximumHeaderLineCount ( 439) property during initialization of the component. See Also TIdCustomHTTPServer.MaximumHeaderLineCount (

439)

Id_TId_HTTPServer_KeepAlive Constant Default value for the TIdHTTPServer.KeepAlive property. File IdCustomHTTPServer (

4608)

Pascal Id_TId_HTTPServer_KeepAlive = false;

3818

Internet Direct (Indy) Version 10.1.5

Constants

Id_TId_HTTPSessionTimeOut Constant

Description Id_TId_HTTPServer_KeepAlive is Boolean constant that represents the default value for TIdCustomHTTPServer.KeepAlive ( property in both he Delphi streaming architecture and during initialization of the component.

439)

See Also TIdCustomHTTPServer.KeepAlive (

439)

Id_TId_HTTPServer_ParseParams Constant Default value for the TIdHTTPServer.ParseParams property. File IdCustomHTTPServer (

4608)

Pascal Id_TId_HTTPServer_ParseParams = True; Description Id_TId_HTTPServer_ParseParams is a Boolean TIdCustomHTTPServer.ParseParams ( 440) property.

constant

that

represents

Id_TId_HTTPServer_ParseParams is used during initialization of the TIdCustomHTTPServer (

the

default

value

for

the

value

for

the

434) component.

See Also TIdCustomHTTPServer.ParseParams (

440)

Id_TId_HTTPServer_SessionState Constant Default value for the TIdCustomHTTPServer.SessionState (

442) property.

File IdCustomHTTPServer (

4608)

Pascal Id_TId_HTTPServer_SessionState = False; Description Id_TId_HTTPServer_SessionState is a Boolean TIdCustomHTTPServer.SessionState ( 442) property.

constant

that

represents

the

default

Id_TId_HTTPServer_SessionState is assigned to the property during initialization of the TIdCustomHTTPServer (

434) component.

See Also TIdCustomHTTPServer.SessionState (

442)

Id_TId_HTTPSessionTimeOut Constant Default value for the TIdCustomHTTPServer.SessionTimeOut (

442) property.

File IdCustomHTTPServer (

4608)

Internet Direct (Indy) Version 10.1.5

3819

Id_TIdFTP_Passive Constant

Constants

Pascal Id_TId_HTTPSessionTimeOut = 0; Description Id_TId_HTTPSessionTimeOut is an Integer constant TIdCustomHTTPServer.SessionTimeOut ( 442) property.

that

represents

the

default

Id_TId_HTTPSessionTimeOut is assigned to the property during initialization of the TIdCustomHTTPServer (

value

for

the

434) component.

See Also TIdCustomHTTPServer.SessionTimeOut (

442)

Id_TIdFTP_DataConAssurance Constant File IdFTP (

4629)

Pascal Id_TIdFTP_DataConAssurance = False; Description Id_TIdFTP_DataConAssurance is a Constant.

Id_TIdFTP_DataPortProtection Constant File IdFTP (

4629)

Pascal Id_TIdFTP_DataPortProtection = ftpdpsClear; Description Id_TIdFTP_DataPortProtection is a Constant.

Id_TIdFTP_HostPortDelimiter Constant File IdFTP (

4629)

Pascal Id_TIdFTP_HostPortDelimiter = ':'; Description Id_TIdFTP_HostPortDelimiter is a Constant.

3820

Internet Direct (Indy) Version 10.1.5

Constants

Id_TIdHTTP_MaxAuthRetries Constant

Id_TIdFTP_Passive Constant File IdFTP (

4629)

Pascal Id_TIdFTP_Passive = False; Description Id_TIdFTP_Passive is a Constant.

Id_TIdFTP_TransferType Constant File IdFTP (

4629)

Pascal Id_TIdFTP_TransferType = ftBinary; Description Id_TIdFTP_TransferType is a Constant.

Id_TIdFTP_UseNATFastTrack Constant File IdFTP (

4629)

Pascal Id_TIdFTP_UseNATFastTrack = False; Description Id_TIdFTP_UseNATFastTrack is a Constant.

Id_TIdHTTP_HandleRedirects Constant Default value for the TIdHTTP.HandleRedirects (

1046) property.

File IdHTTP (

4662)

Pascal Id_TIdHTTP_HandleRedirects = False; Description Id_TIdHTTP_HandleRedirects a constant used as the default value for the TIdHTTP.HandleRedirects (

1046) property.

Id_TIdHTTP_HandleRedirects is used during initialization of the component. Changing this value will change the default value assigned for the property during initialization of the component. Internet Direct (Indy) Version 10.1.5

3821

Id_TIdHTTP_RedirectMax Constant

Constants

Id_TIdHTTP_MaxAuthRetries Constant Default value for the MaxAuthRetries property. File IdHTTP (

4662)

Pascal Id_TIdHTTP_MaxAuthRetries = 3; Description Id_TIdHTTP_MaxAuthRetries is an Integer constant that represents the default value assigned for the TIdHTTP.MaxAuthRetries ( 1047) property. Id_TIdHTTP_MaxAuthRetries is used during initialization of the component. See Also TIdCustomHTTP.MaxAuthRetries TIdHTTP.AuthRetries

(

424)

TIdHTTP.MaxAuthRetries

(

1047)

TIdCustomHTTP.AuthRetries

(

422)

Id_TIdHTTP_MaxHeaderLines Constant Default value for the TIdHTTP.MaxHeaderLines property. File IdHTTP (

4662)

Pascal Id_TIdHTTP_MaxHeaderLines = 255; Description Id_TIdHTTP_MaxHeaderLines is an Integer constant that represents the default value for the TIdHTTP.MaxHeaderLines property. Id_TIdHTTP_MaxHeaderLines is used during initialization of the component. See Also TIdCustomHTTP.MaxHeaderLines (

425) TIdHTTP.MaxHeaderLines

Id_TIdHTTP_ProtocolVersion Constant Default value for the TIdHTTP.ProtocolVersion (

1047) property.

File IdHTTP (

4662)

Pascal Id_TIdHTTP_ProtocolVersion = pv1_1; Description Id_TIdHTTP_ProtocolVersion is a constant used as the default value for the TIdHTTP.ProtocolVersion (

1047) property.

Id_TIdHTTP_ProtocolVersion is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property. 3822

Internet Direct (Indy) Version 10.1.5

Constants

Id_TIdRawBase_Port Constant

Id_TIdHTTP_RedirectMax Constant Default value for the TIdHTTP.RedirectMax property. File IdHTTP (

4662)

Pascal Id_TIdHTTP_RedirectMax = 15; Description Id_TIdHTTP_RedirectMax is a constant used as the default value for the TIdHTTP.RedirectMax property. Id_TIdHTTP_RedirectMax is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property.

Id_TIDICMP_ReceiveTimeout Constant Default value for the TIdIcmpClient.ReceiveTimeout (

1127) property.

File IdIcmpClient (

4665)

Pascal Id_TIDICMP_ReceiveTimeout = 5000; Description Id_TIDICMP_ReceiveTimeout is the default value for the TIdIcmpClient.ReceiveTimeout ( 1127) property. This is used in the class definition and the constructor. This is done to prevent problems with Delphi's form streaming mechanism. Changing this value will change the default value for that property. See Also TIdICMPClient

Id_TIdRawBase_BufferSize Constant Default buffer size for TIdRawBase (

1809) object instances.

File IdRawBase (

4699)

Pascal Id_TIdRawBase_BufferSize = 8192; Description Id_TIdRawBase_BufferSize is a constant Integer value that represents the TIdRawBase.BufferSize ( 3137) property in the constructor for the object instance.

default

buffer

size

assigned

to

the

See Also TIdRawBase.BufferSize (

3137)

Internet Direct (Indy) Version 10.1.5

3823

IdBeatsInDay Constant

Constants

Id_TIdRawBase_Port Constant Default port number for TIdRawBase (

1809) object instances.

File IdRawBase (

4699)

Pascal Id_TIdRawBase_Port = 0; Description Id_TIdRawBase_Port is a constant Integer value that represents the default port number assigned to the TIdRawBase.Port property in the constructor for the object instance. See Also TIdRawBase.Port

ID_UDP_BUFFERSIZE Constant The default UDP buffer size. File IdUDPBase (

4750)

Pascal ID_UDP_BUFFERSIZE = 8192; Description ID_UDP_BUFFERSIZE is a constant Integer value that represents the default value for the TIdUDPBase.BufferSize ( property.

2508)

See Also TIdUDPBase.BufferSize (

2508)

Id_UDP_HSIZE Constant File IdRawHeaders (

4701)

Pascal Id_UDP_HSIZE = $08; Description Id_UDP_HSIZE is a Constant.

IdBeatsInDay Constant Beats per day in Swatch Internet Time. 3824

Internet Direct (Indy) Version 10.1.5

Constants

IdCharsetNames Constant

File IdDateTimeStamp (

4610)

Pascal IdBeatsInDay = 1000; Description IdBeatsInDay is a constant value that represents the number of Beats in a 24 hour period. Beat time is Swatch's "Internet Time" as described in the reference documents at: Swatch Internet Time

IdBoundPortDefault Constant Default port number to use when binding scoket handles. File IdIOHandlerSocket (

4671)

Pascal IdBoundPortDefault = 0; Description IdBoundPortDefault is an Integer constant that represents the default port number to use when binding socket decriptors for local connections.

IdCharsetNames Constant Array of IANA (

4762) offical character set names.

File IdCharsets (

4590)

Pascal IdCharsetNames: array[Low(TIdCharSet)..High(TIdCharSet)] of string = ( '', 'US-ASCII', 'ANSI_X3.4-1968', 'iso-ir-6', 'ANSI_X3.4-1986', 'ISO_646.irv:1991', 'ASCII', 'ISO646-US', 'us', 'IBM367', 'cp367', 'csASCII', 'ISO-10646-UTF-1', 'csISO10646UTF1', 'ISO_646.basic:1983', 'ref', 'csISO646basic1983', 'INVARIANT', 'csINVARIANT', 'ISO_646.irv:1983', 'iso-ir-2', 'irv', 'csISO2IntlRefVersion', 'BS_4730', 'iso-ir-4', 'ISO646-GB', 'gb', 'uk', 'csISO4UnitedKingdom', 'NATS-SEFI', 'iso-ir-8-1', 'csNATSSEFI', 'NATS-SEFI-ADD', 'iso-ir-8-2', 'csNATSSEFIADD', 'NATS-DANO', 'iso-ir-9-1', 'csNATSDANO', 'NATS-DANO-ADD', 'iso-ir-9-2', 'csNATSDANOADD', 'SEN_850200_B', 'iso-ir-10', 'FI', 'ISO646-FI', 'ISO646-SE', 'se', 'csISO10Swedish', 'SEN_850200_C', 'iso-ir-11', 'ISO646-SE2', 'se2', 'csISO11SwedishForNames', 'KS_C_5601-1987', 'iso-ir-149', 'KS_C_5601-1989', 'KSC_5601', 'korean', 'csKSC56011987', 'csISO2022KR', 'ISO-2022-KR', 'csEUCKR', 'EUC-KR', 'csISO2022JP', 'ISO-2022-JP', 'csISO2022JP2', 'ISO-2022-JP-2', 'ISO-2022-CN', 'ISO-2022-CN-EXT', 'JIS_C6220-1969-jp', 'JIS_C6220-1969', 'iso-ir-13', 'katakana', 'x0201-7', 'csISO13JISC6220jp', 'JIS_C6220-1969-ro', 'iso-ir-14', 'jp', 'ISO646-JP', 'csISO14JISC6220ro', 'IT', 'iso-ir-15', 'ISO646-IT', 'csISO15Italian', 'PT', 'iso-ir-16', 'ISO646-PT', 'csISO16Portuguese', 'ES', 'iso-ir-17', 'ISO646-ES', 'csISO17Spanish', 'greek7-old', 'iso-ir-18', 'csISO18Greek7Old', 'latin-greek', 'iso-ir-19', 'csISO19LatinGreek', 'DIN_66003', 'iso-ir-21', 'de', 'ISO646-DE', 'csISO21German', 'csISO25French', 'NF_Z_62-010_', 'iso-ir-25', 'ISO646-FR1', 'Latin-greek-1', 'iso-ir-27', 'csISO27LatinGreek1', 'ISO_5427', 'iso-ir-37', 'csISO5427Cyrillic', 'JIS_C6226-1978', 'iso-ir-42', 'csISO42JISC62261978', 'BS_viewdata', 'iso-ir-47', 'csISO47BSViewdata', 'INIS', 'iso-ir-49', 'csISO49INIS', 'INIS-8', 'iso-ir-50', 'csISO50INIS8', 'INIS-cyrillic', 'iso-ir-51', 'csISO51INISCyrillic', 'ISO_5427:1981', 'iso-ir-54', 'ISO5427Cyrillic1981', 'ISO_5428:1980', 'iso-ir-55', 'csISO5428Greek', 'GB_1988-80', 'iso-ir-57', 'cn', 'ISO646-CN', 'csISO57GB1988', 'GB_2312-80', 'iso-ir-58', 'chinese', 'csISO58GB231280', 'NS_4551-1', 'iso-ir-60', 'ISO646-NO', 'no', 'csISO60DanishNorwegian', 'csISO60Norwegian1', 'NS_4551-2', 'ISO646-NO2', 'iso-ir-61', 'no2', Internet Direct (Indy) Version 10.1.5

3825

IdCharsetNames Constant

Constants

'csISO61Norwegian2', 'NF_Z_62-010', 'iso-ir-69', 'ISO646-FR', 'fr', 'csISO69French', 'videotex-suppl', 'iso-ir-70', 'csISO70VideotexSupp1', 'PT2', 'iso-ir-84', 'ISO646-PT2', 'csISO84Portuguese2', 'ES2', 'iso-ir-85', 'ISO646-ES2', 'csISO85Spanish2', 'MSZ_7795.3', 'iso-ir-86', 'ISO646-HU', 'hu', 'csISO86Hungarian', 'JIS_C6226-1983', 'iso-ir-87', 'x0208', 'JIS_X0208-1983', 'csISO87JISX0208', 'greek7', 'iso-ir-88', 'csISO88Greek7', 'ASMO_449', 'ISO_9036', 'arabic7', 'iso-ir-89', 'csISO89ASMO449', 'iso-ir-90', 'csISO90', 'JIS_C6229-1984-a', 'iso-ir-91', 'jp-ocr-a', 'csISO91JISC62291984a', 'JIS_C6229-1984-b', 'iso-ir-92', 'ISO646-JP-OCR-B', 'jp-ocr-b', 'csISO92JISC62991984b', 'JIS_C6229-1984-b-add', 'iso-ir-93', 'jp-ocr-b-add', 'csISO93JIS62291984badd', 'JIS_C6229-1984-hand', 'iso-ir-94', 'jp-ocr-hand', 'csISO94JIS62291984hand', 'JIS_C6229-1984-hand-add', 'iso-ir-95', 'jp-ocr-hand-add', 'csISO95JIS62291984handadd', 'JIS_C6229-1984-kana', 'iso-ir-96', 'csISO96JISC62291984kana', 'ISO_2033-1983', 'iso-ir-98', 'e13b', 'csISO2033', 'ANSI_X3.110-1983', 'iso-ir-99', 'CSA_T500-1983', 'NAPLPS', 'csISO99NAPLPS', 'ISO-8859-1', 'ISO_8859-1:1987', 'iso-ir-100', 'ISO_8859-1', 'latin1', 'l1', 'IBM819', 'CP819', 'csISOLatin1', 'ISO-8859-2', 'ISO_8859-2:1987', 'iso-ir-101', 'ISO_8859-2', 'latin2', 'l2', 'csISOLatin2', 'T.61-7bit', 'iso-ir-102', 'csISO102T617bit', 'T.61-8bit', 'T.61', 'iso-ir-103', 'csISO103T618bit', 'ISO-8859-3', 'ISO_8859-3:1988', 'iso-ir-109', 'ISO_8859-3', 'latin3', 'l3', 'csISOLatin3', 'ISO-8859-4', 'ISO_8859-4:1988', 'iso-ir-110', 'ISO_8859-4', 'latin4', 'l4', 'csISOLatin4', 'ECMA-cyrillic', 'iso-ir-111', 'csISO111ECMACyrillic', 'CSA_Z243.4-1985-1', 'iso-ir-121', 'ISO646-CA', 'csa7-1', 'ca', 'csISO121Canadian1', 'CSA_Z243.4-1985-2', 'iso-ir-122', 'ISO646-CA2', 'csa7-2', 'csISO122Canadian2', 'CSA_Z243.4-1985-gr', 'iso-ir-123', 'csISO123CSAZ24341985gr', 'ISO-8859-6', 'ISO_8859-6:1987', 'iso-ir-127', 'ISO_8859-6', 'ECMA-114', 'ASMO-708', 'arabic', 'csISOLatinArabic', 'ISO-8859-6-E', 'ISO_8859-6-E', 'csISO88596E', 'ISO-8859-6-I', 'ISO_8859-6-I', 'csISO88596I', 'ISO-8859-7', 'ISO_8859-7:1987', 'iso-ir-126', 'ISO_8859-7', 'ELOT_928', 'ECMA-118', 'greek', 'greek8', 'csISOLatinGreek', 'T.101-G2', 'iso-ir-128', 'csISO128T101G2', 'ISO-8859-8', 'ISO_8859-8:1988', 'iso-ir-138', 'ISO_8859-8', 'hebrew', 'csISOLatinHebrew', 'ISO-8859-8-E', 'ISO_8859-8-E', 'csISO88598E', 'ISO-8859-8-I', 'ISO_8859-8-I', 'csISO88598I', 'CSN_369103', 'iso-ir-139', 'csISO139CSN369103', 'JUS_I.B1.002', 'iso-ir-141', 'ISO646-YU', 'js', 'yu', 'csISO141JUSIB1002', 'ISO_6937-2-add', 'iso-ir-142', 'csISOTextComm', 'IEC_P27-1', 'iso-ir-143', 'csISO143IECP271', 'ISO-8859-5', 'ISO_8859-5:1988', 'iso-ir-144', 'ISO_8859-5', 'cyrillic', 'csISOLatinCyrillic', 'JUS_I.B1.003-serb', 'iso-ir-146', 'serbian', 'csISO146Serbian', 'JUS_I.B1.003-mac', 'macedonian', 'iso-ir-147', 'csISO147Macedonian', 'ISO-8859-9', 'ISO_8859-9:1989', 'iso-ir-148', 'ISO_8859-9', 'latin5', 'l5', 'csISOLatin5', 'greek-ccitt', 'iso-ir-150', 'csISO150', 'csISO150GreekCCITT', 'NC_NC00-10:81', 'cuba', 'iso-ir-151', 'ISO646-CU', 'csISO151Cuba', 'ISO_6937-2-25', 'iso-ir-152', 'csISO6937Add', 'GOST_19768-74', 'ST_SEV_358-88', 'iso-ir-153', 'csISO153GOST1976874', 'ISO_8859-supp', 'iso-ir-154', 'latin1-2-5', 'csISO8859Supp', 'ISO_10367-box', 'iso-ir-155', 'csISO10367Box', 'latin6', 'ISO-8859-10', 'iso-ir-157', 'l6', 'ISO_8859-10:1992', 'csISOLatin6', 'latin-lap', 'lap', 'iso-ir-158', 'csISO158Lap', 'JIS_X0212-1990', 'x0212', 'iso-ir-159', 'csISO159JISX02121990', 'DS_2089', 'DS2089', 'ISO646-DK', 'dk', 'csISO646Danish', 'us-dk', 'csUSDK', 'dk-us', 'csDKUS', 'JIS_X0201', 'X0201', 'csHalfWidthKatakana', 'KSC5636', 'ISO646-KR', 'csKSC5636', 'ISO-10646-UCS-2', 'csUnicode', 'ISO-10646-UCS-4', 'csUCS4', 'DEC-MCS', 'dec', 'csDECMCS', 'hp-roman8', 'roman8', 'r8', 'csHPRoman8', 'macintosh', 'mac', 'csMacintosh', 'IBM037', 'cp037', 'ebcdic-cp-us', 'ebcdic-cp-ca', 'ebcdic-cp-wt', 'ebcdic-cp-nl', 'csIBM037', 'IBM038', 'EBCDIC-INT', 'cp038', 'csIBM038', 'IBM273', 'CP273', 'csIBM273', 'IBM274', 'EBCDIC-BE', 'CP274', 'csIBM274', 'IBM275', 'EBCDIC-BR', 'cp275', 'csIBM275', 'IBM277', 'EBCDIC-CP-DK', 'EBCDIC-CP-NO', 'csIBM277', 'IBM278', 'CP278', 'ebcdic-cp-fi', 'ebcdic-cp-se', 'csIBM278', 'IBM280', 'CP280', 'ebcdic-cp-it', 'csIBM280', 'IBM281', 'EBCDIC-JP-E', 'cp281', 'csIBM281', 'IBM284', 'CP284', 'ebcdic-cp-es', 'csIBM284', 'IBM285', 'CP285', 'ebcdic-cp-gb', 'csIBM285', 'IBM290', 'cp290', 'EBCDIC-JP-kana', 'csIBM290', 'IBM297', 'cp297', 'ebcdic-cp-fr', 'csIBM297', 'IBM420', 'cp420', 'ebcdic-cp-ar1', 'csIBM420', 'IBM423', 'cp423', 'ebcdic-cp-gr', 'csIBM423', 'IBM424', 'cp424', 'ebcdic-cp-he', 'csIBM424', 'IBM437', 'cp437', '437', 'csPC8CodePage437', 'IBM500', 'CP500', 'ebcdic-cp-be', 'ebcdic-cp-ch', 'csIBM500', 'IBM775', 'cp775', 'csPC775Baltic', 'IBM850', 'cp850', '850', 'csPC850Multilingual', 'IBM851', 'cp851', '851', 'csIBM851', 'IBM852', 'cp852', '852', 'csPCp852', 'IBM855', 'cp855', '855', 'csIBM855', 'IBM857', 'cp857', '857', 'csIBM857', 'IBM860', 'cp860', '860', 'csIBM860', 'IBM861', 'cp861', '861', 'cp-is', 'csIBM861', 'IBM862', 'cp862', '862', 'csPC862LatinHebrew', 'IBM863', 'cp863', '863', 'csIBM863', 'IBM864', 'cp864', 'csIBM864', 'IBM865', 'cp865', '865', 'csIBM865', 'IBM866', 'cp866', '866', 'csIBM866', 'IBM868', 'CP868', 'cp-ar', 'csIBM868', 'IBM869', 'cp869', '869', 'cp-gr', 'csIBM869', 'IBM870', 'CP870', 'ebcdic-cp-roece', 'ebcdic-cp-yu', 'csIBM870', 'IBM871', 'CP871', 'ebcdic-cp-is', 'csIBM871', 'IBM880', 'cp880', 'EBCDIC-Cyrillic', 'csIBM880', 'IBM891', 'cp891', 'csIBM891', 'IBM903', 'cp903', 'csIBM903', 'IBM904', 'cp904', '904', 'csIBBM904', 'IBM905', 'CP905', 'ebcdic-cp-tr', 'csIBM905', 'IBM918', 'CP918', 'ebcdic-cp-ar2', 'csIBM918', 'IBM1026', 'CP1026', 'csIBM1026', 'EBCDIC-AT-DE', 'csIBMEBCDICATDE', 'EBCDIC-AT-DE-A', 'csEBCDICATDEA', 'EBCDIC-CA-FR', 'csEBCDICCAFR', 'EBCDIC-DK-NO', 'csEBCDICDKNO', 'EBCDIC-DK-NO-A', 'csEBCDICDKNOA', 'EBCDIC-FI-SE', 'csEBCDICFISE', 'EBCDIC-FI-SE-A', 'csEBCDICFISEA', 'EBCDIC-FR', 'csEBCDICFR', 'EBCDIC-IT', 'csEBCDICIT', 'EBCDIC-PT', 'csEBCDICPT', 'EBCDIC-ES', 'csEBCDICES', 'EBCDIC-ES-A', 'csEBCDICESA', 'EBCDIC-ES-S', 'csEBCDICESS', 'EBCDIC-UK', 'csEBCDICUK', 'EBCDIC-US', 'csEBCDICUS', 'UNKNOWN-8BIT', 'csUnknown8BiT', 'MNEMONIC', 'csMnemonic', 'MNEM', 'csMnem', 'VISCII', 'csVISCII', 'VIQR', 'csVIQR', 'csKOI8R', 'KOI8-R', 'KOI8-U', 'IBM00858', 'CCSID00858', 'CP00858', 'PC-Multilingual-850+euro', 'IBM00924', 'CCSID00924', 'CP00924', 'ebcdic-Latin9--euro', 'IBM01140', 'CCSID01140', 'CP01140', 'ebcdic-us-37+euro', 'IBM01141', 3826

Internet Direct (Indy) Version 10.1.5

Constants

IdDayShortNames Constant

'CCSID01141', 'CP01141', 'ebcdic-de-273+euro', 'IBM01142', 'CCSID01142', 'CP01142', 'ebcdic-dk-277+euro', 'ebcdic-no-277+euro', 'IBM01143', 'CCSID01143', 'CP01143', 'ebcdic-fi-278+euro', 'ebcdic-se-278+euro', 'IBM01144', 'CCSID01144', 'CP01144', 'ebcdic-it-280+euro', 'IBM01145', 'CCSID01145', 'CP01145', 'ebcdic-es-284+euro', 'IBM01146', 'CCSID01146', 'CP01146', 'ebcdic-gb-285+euro', 'IBM01147', 'CCSID01147', 'CP01147', 'ebcdic-fr-297+euro', 'IBM01148', 'CCSID01148', 'CP01148', 'ebcdic-international-500+euro', 'IBM01149', 'CCSID01149', 'CP01149', 'ebcdic-is-871+euro', 'Big5-HKSCS', 'UNICODE-1-1', 'csUnicode11', 'SCSU', 'UTF-7', 'UTF-16BE', 'UTF-16LE', 'UTF-16', 'CESU-8', 'csCESU-8', 'UTF-32', 'UTF-32BE', 'UTF-32LE', 'UNICODE-1-1-UTF-7', 'csUnicode11UTF7', 'UTF-8', 'ISO-8859-13', 'ISO-8859-14', 'iso-ir-199', 'ISO_8859-14:1998', 'ISO_8859-14', 'latin8', 'iso-celtic', 'l8', 'ISO-8859-15', 'ISO_8859-15', 'ISO-8859-16', 'GBK', 'CP936', 'MS936', 'windows-936', 'GB18030', 'JIS_Encoding', 'csJISEncoding', 'csShiftJIS', 'Shift_JIS', 'MS_Kanji', 'EUC-JP', 'Extended_UNIX_Code_Packed_Format_for_Japanese', 'csEUCPkdFmtJapanese', 'Extended_UNIX_Code_Fixed_Width_for_Japanese', 'csEUCFixWidJapanese', 'ISO-10646-UCS-Basic', 'csUnicodeASCII', 'ISO-10646-Unicode-Latin1', 'csUnicodeLatin1', 'ISO-10646', 'ISO-10646-J-1', 'ISO-Unicode-IBM-1261', 'csUnicodeIBM1261', 'ISO-Unicode-IBM-1268', 'csUnicodeIBM1268', 'ISO-Unicode-IBM-1276', 'csUnicodeIBM1276', 'ISO-Unicode-IBM-1264', 'csUnicodeIBM1264', 'ISO-Unicode-IBM-1265', 'csUnicodeIBM1265', 'ISO-8859-1-Windows-3.0-Latin-1', 'csWindows30Latin1', 'ISO-8859-1-Windows-3.1-Latin-1', 'csWindows31Latin1', 'ISO-8859-2-Windows-Latin-2', 'csWindows31Latin2', 'ISO-8859-9-Windows-Latin-5', 'csWindows31Latin5', 'Adobe-Standard-Encoding', 'csAdobeStandardEncoding', 'Ventura-US', 'csVenturaUS', 'Ventura-International', 'csVenturaInternational', 'PC8-Danish-Norwegian', 'csPC8DanishNorwegian', 'PC8-Turkish', 'csPC8Turkish', 'IBM-Symbols', 'csIBMSymbols', 'IBM-Thai', 'csIBMThai', 'HP-Legal', 'csHPLegal', 'HP-Pi-font', 'csHPPiFont', 'HP-Math8', 'csHPMath8', 'Adobe-Symbol-Encoding', 'csHPPSMath', 'HP-DeskTop', 'csHPDesktop', 'Ventura-Math', 'csVenturaMath', 'Microsoft-Publishing', 'csMicrosoftPublishing', 'Windows-31J', 'csWindows31J', 'csGB2312', 'GB2312', 'csBig5', 'Big5', 'windows-1250', 'windows-1251', 'windows-1252', 'windows-1253', 'windows-1254', 'windows-1255', 'windows-1256', 'windows-1257', 'windows-1258', 'TIS-620', 'HZ-GB-2312' ); Description IdCharsetNames is an array of String values representing the IANA ( a MIME type parameter. TIdCharSet (

4762) official name for a character set, as it might be used in

2946) enumeration values can be used to access the corresponding official name for the character set.

IdDayNames Constant Array containing names of the days of the week. File IdDateTimeStamp (

4610)

Pascal IdDayNames: array[0..IdDaysInWeek] of string = ( '', SLongDayNameSun, SLongDayNameMon, SLongDayNameTue, SLongDayNameWed, SLongDayNameThu, SLongDayNameFri, SLongDayNameSat ); Description IdDayNames is an constant array that contains strings representing the names for the days of the week. IdDayNames[0] is an empty string. IdDayNames[1] contains 'Sunday', IdDayNames[2] contains 'Monday', etc.

IdDayShortNames Constant Short (

2995) version of the names for the days of the week.

File IdDateTimeStamp (

4610)

Pascal IdDayShortNames: array[0..IdDaysInWeek] of string = ( '', SShortDayNameSun, SShortDayNameMon, Internet Direct (Indy) Version 10.1.5

3827

IdDaysInLeapYear Constant

Constants

SShortDayNameTue, SShortDayNameWed, SShortDayNameThu, SShortDayNameFri, SShortDayNameSat ); Description IdDayShortNames is a constant array that contains strings representing the shortened version of the names for the days of the week. See Also TIdDateTimeStamp (

489)

IdDaysInCentury Constant Average number of days in a century. File IdDateTimeStamp (

4610)

Pascal IdDaysInCentury = (25 * IdDaysInFourYears) - 1; Description IdDaysInCentury is a constant that represents the average number of days in a century. See Also TIdDateTimeStamp (

489)

IdDaysInFourYears Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInFourYears = IdDaysInShortLeapYearCycle; Description IdDaysInFourYears is a Constant.

IdDaysInLeapCentury Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInLeapCentury = IdDaysInCentury + 1; Description IdDaysInLeapCentury is a Constant.

3828

Internet Direct (Indy) Version 10.1.5

Constants

IdDaysInShortNonLeapYearCycle Constant

IdDaysInLeapYear Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInLeapYear = 366; Description IdDaysInLeapYear is a Constant.

IdDaysInLeapYearCycle Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInLeapYearCycle = IdDaysInCentury * 4 + 1; Description IdDaysInLeapYearCycle is a Constant.

IdDaysInMonth Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInMonth: array[1..IdMonthsInYear] of byte = ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ); Description IdDaysInMonth is a Constant.

IdDaysInShortLeapYearCycle Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInShortLeapYearCycle = IdDaysInLeapYear + (IdDaysInYear * 3); Description IdDaysInShortLeapYearCycle is a Constant.

Internet Direct (Indy) Version 10.1.5

3829

IdDefIdentQueryTimeOut Constant

Constants

IdDaysInShortNonLeapYearCycle Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInShortNonLeapYearCycle = IdDaysInYear * IdYearsInShortLeapYearCycle; Description IdDaysInShortNonLeapYearCycle is a Constant.

IdDaysInWeek Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInWeek = 7; Description IdDaysInWeek is a Constant.

IdDaysInYear Constant File IdDateTimeStamp (

4610)

Pascal IdDaysInYear = 365; Description IdDaysInYear is a Constant.

IdDEF_UseEhlo Constant Default value for the TIdSMTPBase.UseEHLO property. File IdSMTPBase (

4720)

Pascal IdDEF_UseEhlo = TRUE; Description IdDEF_UseEhlo is a Boolean constant that represents the default value for the TIdSMTPBase.UseEHLO property. See Also TIdSMTPBase.UseEHLO 3830

Internet Direct (Indy) Version 10.1.5

Constants

iddupAccept Constant

IdDefIdentQueryTimeOut Constant Default value for the TIdIdentServer (

1143) query timeout property.

File IdIdentServer (

4666)

Pascal IdDefIdentQueryTimeOut = 60000; Description IdDefIdentQueryTimeOut is an Integer constant that represents the default value for the TIdIdentServer.QueryTimeOut ( property.

1147)

See Also TIdIdentServer.QueryTimeOut (

1147)

IdDefTimeout Constant Default timeout value when establishing socket-based connections. File IdIOHandlerSocket (

4671)

Pascal IdDefTimeout = 0; Description IdDefTimeout is an Integer constant that represents the value to use as the default timeout value for socket-based connection operations.

IdDNSServerVersion Constant File IdDNSCommon (

4617)

Pascal IdDNSServerVersion = 'Indy DNSServer 20040121301'; Description IdDNSServerVersion is a Constant.

iddupAccept Constant File IdObjs (

4694)

Internet Direct (Indy) Version 10.1.5

3831

iDEFAULTREPLYBUFSIZE Constant

Constants

Pascal iddupAccept = dupAccept; Description iddupAccept

iddupError Constant File IdObjs (

4694)

Pascal iddupError = dupError; Description iddupError

iddupIgnore Constant File IdObjs (

4694)

Pascal iddupIgnore = dupIgnore; Description iddupIgnore

iDEFAULTPACKETSIZE Constant Specifies the default packet size for ICMP data buffers. File IdIcmpClient (

4665)

Pascal iDEFAULTPACKETSIZE = 128; Description iDEFAULTPACKETSIZE is a constant values that specifies the default packet size for ICMP data buffers, like TICMPDataBuffer. See Also TICMPDataBuffer

iDEFAULTREPLYBUFSIZE Constant Specifies the default size for ICMP reply buffers.

3832

Internet Direct (Indy) Version 10.1.5

Constants

IdFetchCaseSensitiveDefault Constant

File IdIcmpClient (

4665)

Pascal iDEFAULTREPLYBUFSIZE = 1024; Description iDEFAULTREPLYBUFSIZE is a constant value that specifies the default number of bytes to use as the size for ICMP reply buffers. See Also TIdIcmpClient (

1123)

IdEnabledDefault Constant Default value for the Enabled property in TIdCommandHandler (

341).

File IdCommandHandlers (

4602)

Pascal IdEnabledDefault = True; Description IdEnabledDefault is a constant that represents the default value for the Enabled property in TIdCommandHandler (

341).

See Also TIdCommandHandler.Enabled (

346)

IDF_DEFAULT_MS_TO_WAIT_TO_CLEAR_BUFFER Constant File IdIMAP4 (

4666)

Pascal IDF_DEFAULT_MS_TO_WAIT_TO_CLEAR_BUFFER = 10; Description IDF_DEFAULT_MS_TO_WAIT_TO_CLEAR_BUFFER is a Constant.

IdFetchCaseSensitiveDefault Constant Default value for case-sensitive comparisons in Fetch (

2781).

File IdGlobal (

4650)

Pascal IdFetchCaseSensitiveDefault = True; Description IdFetchCaseSensitiveDefault is a Boolean constant that represents the default value used as an arguments to the Fetch ( Internet Direct (Indy) Version 10.1.5

2781) 3833

IdFILE_ATTRIBUTE_ARCHIVE Constant

Constants

function. IdFetchCaseSensitiveDefault indicates that case-sensitive comparisions should be used when processing tokens in Fetch ( 2781). Otherwise, Fetch ( 2781) calls the FetchCaseInsensitive ( 2782) function in its implementation. See Also Fetch (

2781)

FetchCaseInsensitive (

2782)

IdFetchDeleteDefault Constant Default value for the delete delimiter argument in Fetch (

2781) and FetchCaseSensitive.

File IdGlobal (

4650)

Pascal IdFetchDeleteDefault = True; Description IdFetchDeleteDefault is a Boolean constant that represents the default value for the argument in Fetch ( 2781) and FetchCaseSensitive that controls deleting the delimiter character(s) from tokens. IdFetchDeleteDefault indicates that the token and delimiter character(s) should be deleted from the beginning of the input value. When the value False is used, deliters characters will remain in any token retrieved using Fetch ( 2781) or FetchCaseSensitive for subsequent processing. See Also Fetch (

2781)

FetchCaseInsensitive (

2782)

IdFetchDelimDefault Constant Default delimiter(s) for Fetch (

2781) and FetchCaseSenstive.

File IdGlobal (

4650)

Pascal IdFetchDelimDefault = ' '; Description IdFetchDelimDefault is a String constant that represents the default delimiter character(s) used when extracting tokens from a string in Fetch ( 2781) and FetchCaseInsenstive. See Also Fetch (

2781)

FetchCaseInsensitive (

2782)

IdFILE_ATTRIBUTE_ARCHIVE Constant File IdFTPListTypes ( 3834

4646) Internet Direct (Indy) Version 10.1.5

Constants

IdFILE_ATTRIBUTE_ENCRYPTED

Pascal IdFILE_ATTRIBUTE_ARCHIVE = $00000020; Description IdFILE_ATTRIBUTE_ARCHIVE is a Constant.

IdFILE_ATTRIBUTE_COMPRESSED Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_COMPRESSED = $00000800; Description IdFILE_ATTRIBUTE_COMPRESSED is a Constant.

IdFILE_ATTRIBUTE_DEVICE Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_DEVICE = $00000040; Description IdFILE_ATTRIBUTE_DEVICE is a Constant.

IdFILE_ATTRIBUTE_DIRECTORY Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_DIRECTORY = $00000010; Description IdFILE_ATTRIBUTE_DIRECTORY is a Constant.

IdFILE_ATTRIBUTE_ENCRYPTED Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_ENCRYPTED = $00004000;

Internet Direct (Indy) Version 10.1.5

3835

IdFILE_ATTRIBUTE_READONLY Constant

Constants

Description IdFILE_ATTRIBUTE_ENCRYPTED is a Constant.

IdFILE_ATTRIBUTE_HIDDEN Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_HIDDEN = $00000002; Description IdFILE_ATTRIBUTE_HIDDEN is a Constant.

IdFILE_ATTRIBUTE_NORMAL Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_NORMAL = $00000080; Description IdFILE_ATTRIBUTE_NORMAL is a Constant.

IdFILE_ATTRIBUTE_NOT_CONTENT_INDEXED Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_NOT_CONTENT_INDEXED = $00002000; Description IdFILE_ATTRIBUTE_NOT_CONTENT_INDEXED is a Constant.

IdFILE_ATTRIBUTE_OFFLINE Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_OFFLINE = $00001000; Description IdFILE_ATTRIBUTE_OFFLINE is a Constant.

3836

Internet Direct (Indy) Version 10.1.5

Constants

IdFILE_ATTRIBUTE_TEMPORARY

IdFILE_ATTRIBUTE_READONLY Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_READONLY = $00000001; Description IdFILE_ATTRIBUTE_READONLY is a Constant.

IdFILE_ATTRIBUTE_REPARSE_POINT Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_REPARSE_POINT = $00000400; Description IdFILE_ATTRIBUTE_REPARSE_POINT is a Constant.

IdFILE_ATTRIBUTE_SPARSE_FILE Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_SPARSE_FILE = $00000200; Description IdFILE_ATTRIBUTE_SPARSE_FILE is a Constant.

IdFILE_ATTRIBUTE_SYSTEM Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_SYSTEM = $00000004; Description IdFILE_ATTRIBUTE_SYSTEM is a Constant.

Internet Direct (Indy) Version 10.1.5

3837

IdGopherItem_Binary Constant

Constants

IdFILE_ATTRIBUTE_TEMPORARY Constant File IdFTPListTypes (

4646)

Pascal IdFILE_ATTRIBUTE_TEMPORARY = $00000100; Description IdFILE_ATTRIBUTE_TEMPORARY is a Constant.

IdFromBeginning Constant File IdObjs (

4694)

Pascal IdFromBeginning = TIdSeekOrigin(soBeginning); Description IdFromBeginning

IdFromCurrent Constant File IdObjs (

4694)

Pascal IdFromCurrent = TIdSeekOrigin(soCurrent); Description IdFromCurrent

IdFromEnd Constant File IdObjs (

4694)

Pascal IdFromEnd = TIdSeekOrigin(soEnd); Description IdFromEnd

3838

Internet Direct (Indy) Version 10.1.5

Constants

IdGopherItem_CSO Constant

IdGopherItem_Binary Constant Item is a binary file. File IdGopherConsts (

4657)

Pascal IdGopherItem_Binary = '9'; Description Item is a binary file. The client must read until the TCP connection closes. Beware.

IdGopherItem_BinDOS Constant Item is a binary file. File IdGopherConsts (

4657)

Pascal IdGopherItem_BinDOS = '5'; Description Item is a binary file. The client must read until the TCP connection closes. Beware.

IdGopherItem_BinHex Constant Item is a BinHex Macintosh file. File IdGopherConsts (

4657)

Pascal IdGopherItem_BinHex = '4'; Description Item is a BinHex Macintosh file.

IdGopherItem_CSO Constant Item is a CSO phone-book server. File IdGopherConsts (

4657)

Pascal IdGopherItem_CSO = '2';

Internet Direct (Indy) Version 10.1.5

3839

IdGopherItem_GIF Constant

Constants

Description Item is a CSO phone-book server.

IdGopherItem_Directory Constant Item is a directory or Gopher menu. File IdGopherConsts (

4657)

Pascal IdGopherItem_Directory = '1'; Description Item is a directory or Gopher menu.

IdGopherItem_Document Constant Item is a text-file. File IdGopherConsts (

4657)

Pascal IdGopherItem_Document = '0'; Description Item is a text-file.

IdGopherItem_Error Constant The item is an error message. File IdGopherConsts (

4657)

Pascal IdGopherItem_Error = '3'; Description The item is an error message.

IdGopherItem_GIF Constant Item is a GIF format graphics file. File IdGopherConsts ( 3840

4657) Internet Direct (Indy) Version 10.1.5

Constants

IdGopherItem_Information Constant

Pascal IdGopherItem_GIF = 'g'; Description Item is a GIF format graphics file.

IdGopherItem_HTML Constant The item is an HTML file. File IdGopherConsts (

4657)

Pascal IdGopherItem_HTML = 'h'; Description The item is an HTML file.

IdGopherItem_Image Constant The item is a graphic image file. File IdGopherConsts (

4657)

Pascal IdGopherItem_Image = ':'; Description The item is a graphic image file. The client will decide how to display the item.

IdGopherItem_Image2 Constant The item is a graphic image file. File IdGopherConsts (

4657)

Pascal IdGopherItem_Image2 = 'I'; Description The item is a graphic image file. IdGopherItem_Image2 is depreciated so it should only be used in Gopher clients.

IdGopherItem_Information Constant Information to be displayed to the user.

Internet Direct (Indy) Version 10.1.5

3841

IdGopherItem_Search Constant

Constants

File IdGopherConsts (

4657)

Pascal IdGopherItem_Information = 'i'; Description Information to be displayed to the user.

IdGopherItem_MIME Constant The item is MIME-encoded. File IdGopherConsts (

4657)

Pascal IdGopherItem_MIME = 'M'; Description This is a MIME encoded item or occasionally a movie (a server should use this only for MIME encoded files and a client should not always assume it is a movie.

IdGopherItem_Movie Constant The item is MIME-encoded. File IdGopherConsts (

4657)

Pascal IdGopherItem_Movie = ';'; Description This is a MIME encoded item or occasionally a movie (a server should use this only for MIME encoded files and a client should not always assume it is a movie.

IdGopherItem_Redundant Constant File IdGopherConsts (

4657)

Pascal IdGopherItem_Redundant = '+'; Description IdGopherItem_Redundant is a Constant.

3842

Internet Direct (Indy) Version 10.1.5

Constants

IdGopherItem_Telnet Constant

IdGopherItem_Search Constant This is a gopher search item. File IdGopherConsts (

4657)

Pascal IdGopherItem_Search = '7'; Description This is a gopher search item.

IdGopherItem_Sound Constant This is some type of sound such as a .WAV or .AU file. File IdGopherConsts (

4657)

Pascal IdGopherItem_Sound = '