// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Idftpcommon.pas' rev: 10.00

#ifndef IdftpcommonHPP
#define IdftpcommonHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Idobjs.hpp>	// Pascal unit
#include <Idglobal.hpp>	// Pascal unit
#include <Idglobalprotocols.hpp>	// Pascal unit
#include <Idsys.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Idftpcommon
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TIdFTPTransferType { ftASCII, ftBinary };
#pragma option pop

#pragma option push -b-
enum TIdFTPDataStructure { dsFile, dsRecord, dsPage };
#pragma option pop

#pragma option push -b-
enum TIdFTPTransferMode { dmStream, dmDeflate };
#pragma option pop

#pragma option push -b-
enum TIdFTPDataPortSecurity { ftpdpsClear, ftpdpsPrivate };
#pragma option pop

typedef AnsiString IdFTPCommon__1[4];

#pragma option push -b-
enum TIdVSEPQDisposition { IdPQAppendable, IdPQProcessAndDelete, IdPQHoldUntilReleased, IdPQProcessAndKeep, IdPQLeaveUntilReleased, IdPQErrorHoldUntilDK, IdPQGetOrErrorHoldUntilDK, IdPQJobProcessing, IdPQSpoolOutputToInputD, IdPQSurpressOutputSpooling, IdPQSpoolOutputToTape };
#pragma option pop

typedef AnsiString IdFTPCommon__2[6];

typedef AnsiString IdFTPCommon__3[4];

typedef AnsiString IdFTPCommon__4[2];

//-- var, const, procedure ---------------------------------------------------
extern PACKAGE AnsiString TLS_AUTH_NAMES[4];
#define SCCN_FEAT "SSCN"
#define SSCN_ON "SSCN ON"
#define SSCN_OFF "SSCN OFF"
static const Byte SSCN_OK_REPLY = 0xc8;
static const Word SSCN_ERR_NEGOTIATION_REPLY = 0x1a5;
static const char PATH_FILENAME_SEP_UNIX = '\x2f';
static const char PATH_FILENAME_SEP_DOS = '\x5c';
static const char PATH_FILENAME_SEP_VMS = '\x5d';
static const char PATH_SUBDIR_SEP_UNIX = '\x2f';
static const char PATH_SUBDIR_SEP_DOS = '\x5c';
static const char PATH_SUBDIR_SEP_VMS = '\x2e';
#define PATH_DEVICE_SEP_UNIX ""
static const char PATH_DEVICE_SEP_DOS = '\x3a';
#define PATH_DEVICE_SEP_VMS ":["
static const char UNIX_ALL_FILES = '\x2a';
#define MS_DOS_ALL_FILES "*.*"
#define VMS_ALL_FILES "*.*;*"
static const char CUR_DIR = '\x2e';
#define PARENT_DIR ".."
#define VMS_RELPATH_PREFIX "[."
#define MS_DOS_CURDIR ".\\"
#define UNIX_CURDIR "./"
static const Word UNIX_DIR_SIZE = 0x200;
static const Word VMS_BLOCK_SIZE = 0x200;
static const Word EPLF_BASE_DATE = 0x63e1;
static const Shortint DEF_ZLIB_COMP_LEVEL = 0x7;
static const Shortint DEF_ZLIB_WINDOW_BITS = 0xf;
static const Shortint DEF_ZLIB_MEM_LEVEL = 0x8;
static const Shortint DEF_ZLIB_STRATAGY = 0x0;
static const Shortint DEF_ZLIB_METHOD = 0x8;
extern PACKAGE AnsiString VSERootDirItemTypes[6];
extern PACKAGE AnsiString MVS_JES_Status[4];
extern PACKAGE char VSE_PowerQueue_Dispositions[11];
extern PACKAGE AnsiString UnitreeStoreTypes[2];
#define UNIX_LINKTO_SYM " -> "
#define CDATE_PART_SEP "/-"
static const Word Id__S_ISUID = 0x800;
static const Word Id__S_ISGID = 0x400;
static const Word Id__S_ISVTX = 0x200;
static const Word Id__S_IREAD = 0x100;
static const Byte Id__S_IWRITE = 0x80;
static const Shortint Id__S_IEXEC = 0x40;
static const Word IdS_ISUID = 0x800;
static const Word IdS_ISGID = 0x400;
static const Word IdS_ISVTX = 0x200;
static const Word IdS_IRUSR = 0x100;
static const Byte IdS_IWUSR = 0x80;
static const Shortint IdS_IXUSR = 0x40;
static const Word IdS_IRWXU = 0x1c0;
static const Word IdS_IREAD = 0x100;
static const Byte IdS_IWRITE = 0x80;
static const Shortint IdS_IEXEC = 0x40;
static const Shortint IdS_IRGRP = 0x20;
static const Shortint IdS_IWGRP = 0x10;
static const Shortint IdS_IXGRP = 0x8;
static const Shortint IdS_IRWXG = 0x38;
static const Shortint IdS_IROTH = 0x4;
static const Shortint IdS_IWOTH = 0x2;
static const Shortint IdS_IXOTH = 0x1;
static const Shortint IdS_IRWXO = 0x7;
extern PACKAGE AnsiString __fastcall StripSpaces(const AnsiString AString, const unsigned ASpaces);
extern PACKAGE AnsiString __fastcall StripPath(const AnsiString AFileName, const AnsiString PathDelin = "/");
extern PACKAGE int __fastcall CharsInStr(const char ASearchChar, const AnsiString AString);
extern PACKAGE int __fastcall PatternsInStr(const AnsiString ASearchPattern, const AnsiString AString);
extern PACKAGE AnsiString __fastcall UnfoldLines(const AnsiString AData, int ALine, Classes::TStrings* AStrings);
extern PACKAGE AnsiString __fastcall StrPart(AnsiString &AInput, const int AMaxLength, const bool ADelete = true);
extern PACKAGE AnsiString __fastcall FetchLength(AnsiString &AInput, const int AMaxLength, const AnsiString ADelim = " ", const bool ADelete = true, const bool ACaseSensitive = true);
extern PACKAGE bool __fastcall IsLineStr(const AnsiString AData);
extern PACKAGE AnsiString __fastcall PadSpaces(const AnsiString AString, const int ALen);
extern PACKAGE AnsiString __fastcall FindDelimInNumbers(const AnsiString AData);
extern PACKAGE int __fastcall ExtractNumber(const AnsiString AData, const bool ARetZero = true);
extern PACKAGE AnsiString __fastcall StripNo(const AnsiString AData);
extern PACKAGE AnsiString __fastcall IndyGetFilePath(const AnsiString AFileName);
extern PACKAGE AnsiString __fastcall IndyGetFileName(const AnsiString AFileName);
extern PACKAGE bool __fastcall IndyIsRelativePath(const AnsiString APathName);
extern PACKAGE AnsiString __fastcall IndyGetFileExt(const AnsiString AFileName);
extern PACKAGE AnsiString __fastcall StripInitPathDelin(const AnsiString AStr);
extern PACKAGE bool __fastcall IsNavPath(const AnsiString APath);
extern PACKAGE AnsiString __fastcall RemoveDuplicatePathSyms(AnsiString APath);
extern PACKAGE AnsiString __fastcall UnixPathToDOSPath(const AnsiString APath);
extern PACKAGE AnsiString __fastcall DOSPathToUnixPath(const AnsiString APath);
extern PACKAGE bool __fastcall IsSubDirContentsBanner(const AnsiString AData);
extern PACKAGE bool __fastcall IsTotalLine(const AnsiString AData);
extern PACKAGE AnsiString __fastcall UnquotedStr(const AnsiString AStr);
extern PACKAGE void __fastcall ParseQuotedArgs(const AnsiString AParams, Classes::TStrings* AStrings);
extern PACKAGE System::TDateTime __fastcall EPLFDateToLocalDateTime(const AnsiString AData);
extern PACKAGE System::TDateTime __fastcall EPLFDateToGMTDateTime(const AnsiString AData);
extern PACKAGE AnsiString __fastcall GMTDateTimeToEPLFDate(const System::TDateTime ADateTime);
extern PACKAGE AnsiString __fastcall LocalDateTimeToEPLFDate(const System::TDateTime ADateTime);
extern PACKAGE bool __fastcall IsValidTimeStamp(const AnsiString AString);
extern PACKAGE bool __fastcall IsMDTMDate(const AnsiString ADate);
extern PACKAGE System::TDateTime __fastcall MDTMOffset(const AnsiString AOffs);
extern PACKAGE int __fastcall MinutesFromGMT(void);
extern PACKAGE AnsiString __fastcall FTPDateTimeToMDTMD(const System::TDateTime ATimeStamp, const bool AIncludeMSecs = true, const bool AIncludeGMTOffset = true);
extern PACKAGE System::TDateTime __fastcall FTPMDTMToGMTDateTime(const AnsiString ATimeStamp);
extern PACKAGE bool __fastcall IsYYYYMMDD(const AnsiString AData);
extern PACKAGE bool __fastcall IsDDMonthYY(const AnsiString AData, const AnsiString ADelin);
extern PACKAGE bool __fastcall IsMMDDYY(const AnsiString AData, const AnsiString ADelin);
extern PACKAGE int __fastcall Y2Year(const int AYear);
extern PACKAGE System::TDateTime __fastcall DateYYMMDD(const AnsiString AData);
extern PACKAGE System::TDateTime __fastcall DateYYStrMonthDD(const AnsiString AData, const AnsiString ADelin = "-");
extern PACKAGE System::TDateTime __fastcall DateStrMonthDDYY(const AnsiString AData, const AnsiString ADelin = "-", const bool AAddMissingYear = false);
extern PACKAGE System::TDateTime __fastcall DateDDStrMonthYY(const AnsiString AData, const AnsiString ADelin = "-");
extern PACKAGE System::TDateTime __fastcall DateMMDDYY(const AnsiString AData);
extern PACKAGE System::TDateTime __fastcall TimeHHMMSS(const AnsiString AData);
extern PACKAGE bool __fastcall IsIn6MonthWindow(const System::TDateTime AMDate);
extern PACKAGE unsigned __fastcall AddMissingYear(const unsigned ADay, const unsigned AMonth);
extern PACKAGE bool __fastcall IsHHMMSS(const AnsiString AData, const AnsiString ADelin);
extern PACKAGE System::TDateTime __fastcall MVSDate(const AnsiString AData);
extern PACKAGE System::TDateTime __fastcall AS400Date(const AnsiString AData);
extern PACKAGE bool __fastcall IsValidUnixPerms(AnsiString AData, const bool AStrict = false);
extern PACKAGE bool __fastcall IsUnixLsErr(const AnsiString AData);
extern PACKAGE bool __fastcall IsUnixHiddenFile(const AnsiString AFileName);
extern PACKAGE bool __fastcall IsUnixExec(const AnsiString LUPer, const AnsiString LGPer, const AnsiString LOPer);
extern PACKAGE unsigned __fastcall PermStringToModeBits(const AnsiString APerms);
extern PACKAGE AnsiString __fastcall ModeBitsToPermString(const unsigned AMode);
extern PACKAGE int __fastcall ModeBitsToChmodNo(const unsigned AMode);
extern PACKAGE unsigned __fastcall ChmodNoToModeBits(const unsigned AModVal);
extern PACKAGE void __fastcall ChmodNoToPerms(const int AChmodNo, AnsiString &VPermissions)/* overload */;
extern PACKAGE void __fastcall ChmodNoToPerms(const int AChmodNo, AnsiString &VUser, AnsiString &VGroup, AnsiString &VOther)/* overload */;
extern PACKAGE int __fastcall PermsToChmodNo(const AnsiString AUser, const AnsiString AGroup, const AnsiString AOther);
extern PACKAGE bool __fastcall IsNovelPSPattern(const AnsiString AStr);
extern PACKAGE bool __fastcall IsValidNovellPermissionStr(const AnsiString AStr);
extern PACKAGE AnsiString __fastcall ExtractNovellPerms(const AnsiString AData);
extern PACKAGE bool __fastcall ExcludeQVNET(const AnsiString AData);
extern PACKAGE AnsiString __fastcall ExtractQVNETFileName(const AnsiString AData);
extern PACKAGE AnsiString __fastcall ExtractRecFormat(const AnsiString ARecFM);
extern PACKAGE TIdVSEPQDisposition __fastcall DispositionCodeToTIdVSEPQDisposition(const char ADisp);
extern PACKAGE char __fastcall TIdVSEPQDispositionDispositionCode(const TIdVSEPQDisposition ADisp);
extern PACKAGE bool __fastcall IsVMBFS(AnsiString AData);
extern PACKAGE AnsiString __fastcall ParseFacts(AnsiString AData, Classes::TStrings* AResults, const AnsiString AFactDelin = ";", const AnsiString ANameDelin = " ");
extern PACKAGE bool __fastcall IsValidSterCommFlags(const AnsiString AString);
extern PACKAGE bool __fastcall IsValidSterCommProt(const AnsiString AString);
extern PACKAGE bool __fastcall IsValidSterCommData(const AnsiString AString);

}	/* namespace Idftpcommon */
using namespace Idftpcommon;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Idftpcommon
