11 #define kLibraryVersion "@(#) LibNcFTP 3.0.6 (April 14, 2001)" 13 #if defined(WIN32) || defined(_WINDOWS) 14 # define longest_int LONGLONG 15 # define longest_uint ULONGLONG 16 # ifndef HAVE_LONG_LONG 17 # define HAVE_LONG_LONG 1 19 # ifndef SCANF_LONG_LONG 20 # define SCANF_LONG_LONG "%I64d" 22 # ifndef PRINTF_LONG_LONG 23 # define PRINTF_LONG_LONG "%I64d" 25 # ifndef PRINTF_LONG_LONG_I64D 26 # define PRINTF_LONG_LONG_I64D 1 28 # ifndef SCANF_LONG_LONG_I64D 29 # define SCANF_LONG_LONG_I64D 1 40 # if !defined(__ultrix) || !defined(XTI) 41 # include <sys/socket.h> 43 # include <netinet/in.h> 65 #define kLibraryMagic "LibNcFTP 3.0.6" 68 #define longest_int long long 69 #define longest_uint unsigned long long 73 # define forever for ( ; ; ) 98 #if USE_SIO && !defined(_SReadlineInfo_) 99 #define _SReadlineInfo_ 1 291 #define kPrUpdateMsg 2 295 #define kSendPortMode 0 296 #define kPassiveMode 1 297 #define kFallBackToSendPortMode 2 300 #define kAcceptForWriting 00100 301 #define kAcceptForReading 00101 302 #define kNetWriting kAcceptForWriting 303 #define kNetReading kAcceptForReading 308 #define kResponseNoPrint 00001 309 #define kResponseNoSave 00002 310 #define kResponseNoProc 00002 312 #define kDefaultFTPPort 21 314 #define kDefaultFTPBufSize 32768 320 #define kDefaultXferTimeout 600 321 #define kDefaultConnTimeout 30 322 #define kDefaultCtrlTimeout 135 323 #define kDefaultAbortTimeout 10 328 #define kDefaultXferTimeout (0) 329 #define kDefaultConnTimeout (0) 330 #define kDefaultCtrlTimeout (0) 331 #define kDefaultAbortTimeout 10 336 #define kSuggestedDefaultXferTimeout (0) 337 #define kSuggestedDefaultConnTimeout 30 338 #define kSuggestedDefaultCtrlTimeout 135 339 #define kSuggestedAbortTimeout 10 341 #define kDefaultMaxDials 3 342 #define kDefaultRedialDelay 20 344 #define kDefaultDataPortMode kSendPortMode 346 #define kRedialStatusDialing 0 347 #define kRedialStatusSleeping 1 350 # define INADDR_NONE (0xffffffff) 353 #define kTypeAscii 'A' 354 #define kTypeBinary 'I' 355 #define kTypeEbcdic 'E' 357 #define kGlobChars "[*?" 358 #define GLOBCHARSINSTR(a) (strpbrk(a, kGlobChars) != NULL) 362 #define kRecursiveYes 1 363 #define kRecursiveNo 0 373 #define UNIMPLEMENTED_CMD(a) ((a == 500) || (a == 502) || (a == 504)) 376 #define kSizeUnknown ((longest_int) (-1)) 377 #define kModTimeUnknown ((time_t) (-1)) 379 #define kCommandAvailabilityUnknown (-1) 380 #define kCommandAvailable 1 381 #define kCommandNotAvailable 0 385 #define kMalformedURL (-2) 388 #define kFirewallNotInUse 0 389 #define kFirewallUserAtSite 1 390 #define kFirewallLoginThenUserAtSite 2 391 #define kFirewallSiteSite 3 392 #define kFirewallOpenSite 4 393 #define kFirewallUserAtUserPassAtPass 5 394 #define kFirewallFwuAtSiteFwpUserPass 6 395 #define kFirewallUserAtSiteFwuPassFwp 7 396 #define kFirewallLastType kFirewallUserAtSiteFwuPassFwp 399 #define kPreferredMlsOpts (kMlsOptType | kMlsOptSize | kMlsOptModify | kMlsOptUNIXmode | kMlsOptUNIXowner | kMlsOptUNIXgroup | kMlsOptUNIXuid | kMlsOptUNIXgid | kMlsOptPerm) 401 #define kMlsOptType 00001 402 #define kMlsOptSize 00002 403 #define kMlsOptModify 00004 404 #define kMlsOptUNIXmode 00010 405 #define kMlsOptUNIXowner 00020 406 #define kMlsOptUNIXgroup 00040 407 #define kMlsOptPerm 00100 408 #define kMlsOptUNIXuid 00200 409 #define kMlsOptUNIXgid 00400 410 #define kMlsOptUnique 01000 417 #define kChdirOnly 00000 418 #define kChdirAndMkdir 00001 419 #define kChdirAndGetCWD 00002 420 #define kChdirOneSubdirAtATime 00004 423 #define kConfirmResumeProcNotUsed 0 424 #define kConfirmResumeProcSaidSkip 1 425 #define kConfirmResumeProcSaidResume 2 426 #define kConfirmResumeProcSaidOverwrite 3 427 #define kConfirmResumeProcSaidAppend 4 428 #define kConfirmResumeProcSaidBestGuess 5 429 #define kConfirmResumeProcSaidCancel 6 432 const char *
volatile *localpath,
434 volatile time_t localmtime,
435 const char *
volatile remotepath,
437 volatile time_t remotetime,
442 const char *
volatile localpath,
444 volatile time_t localmtime,
445 const char *
volatile *remotepath,
447 volatile time_t remotetime,
451 #define NoConfirmResumeDownloadProc ((ConfirmResumeDownloadProc) 0) 452 #define NoConfirmResumeUploadProc ((ConfirmResumeUploadProc) 0) 453 #define NoGetPassphraseProc ((FTPGetPassphraseProc) 0) 461 #define kServerTypeUnknown 0 462 #define kServerTypeWuFTPd 1 463 #define kServerTypeNcFTPd 2 464 #define kServerTypeProFTPD 3 465 #define kServerTypeMicrosoftFTP 4 466 #define kServerTypeWarFTPd 5 467 #define kServerTypeServ_U 6 468 #define kServerTypeWFTPD 7 469 #define kServerTypeVFTPD 8 470 #define kServerTypeFTP_Max 9 471 #define kServerTypeRoxen 10 472 #define kServerTypeNetWareFTP 11 473 #define kServerTypeWS_FTP 12 476 #if !defined(WIN32) && !defined(_WINDOWS) && !defined(closesocket) 477 # define closesocket close 480 #if !defined(WIN32) && !defined(_WINDOWS) && !defined(ioctlsocket) 481 # define ioctlsocket ioctl 484 #if defined(WIN32) || defined(_WINDOWS) 485 # define LOCAL_PATH_DELIM '\\' 486 # define LOCAL_PATH_DELIM_STR "\\" 487 # define LOCAL_PATH_ALTDELIM '/' 488 # define IsLocalPathDelim(c) ((c == LOCAL_PATH_DELIM) || (c == LOCAL_PATH_ALTDELIM)) 489 # define UNC_PATH_PREFIX "\\\\" 490 # define IsUNCPrefixed(s) (IsLocalPathDelim(s[0]) && IsLocalPathDelim(s[1])) 492 # define LOCAL_PATH_DELIM '/' 493 # define LOCAL_PATH_DELIM_STR "/" 494 # define StrFindLocalPathDelim(a) strchr(a, LOCAL_PATH_DELIM) 495 # define StrRFindLocalPathDelim(a) strrchr(a, LOCAL_PATH_DELIM) 496 # define StrRemoveTrailingLocalPathDelim StrRemoveTrailingSlashes 497 # define IsLocalPathDelim(c) (c == LOCAL_PATH_DELIM) 498 # define TVFSPathToLocalPath(s) 499 # define LocalPathToTVFSPath(s) 507 #ifndef _libncftp_ftp_c_ 511 #ifndef _libncftp_errno_c_ 515 #if (defined(__GNUC__)) && (__GNUC__ >= 2) 517 # define UNUSED(a) a __attribute__ ((unused)) 519 # define LIBNCFTP_USE_VAR(a) 521 # define LIBNCFTP_USE_VAR(a) gLibNcFTP_Uses_Me_To_Quiet_Variable_Unused_Warnings = (a == 0) 531 int FTPChdir3(
FTPCIPtr cip,
const char *
const cdCwd,
char *
const newCwd,
const size_t newCwdSize,
int flags);
535 #if (defined(__GNUC__)) && (__GNUC__ >= 2) 547 int FTPGetFiles3(
const FTPCIPtr cip,
const char *
pattern,
const char *
const dstdir,
const int recurse,
int doGlob,
const int xtype,
const int resumeflag,
int appendflag,
const int deleteflag,
const int tarflag,
const ConfirmResumeDownloadProc resumeProc,
int reserved);
553 int FTPList(
const FTPCIPtr cip,
const int outfd,
const int longMode,
const char *
const lsflag);
557 int FTPMkdir(
const FTPCIPtr cip,
const char *
const newDir,
const int recurse);
558 int FTPMkdir2(
const FTPCIPtr cip,
const char *
const newDir,
const int recurse,
const char *
const curDir);
562 int FTPPutOneFile3(
const FTPCIPtr cip,
const char *
const file,
const char *
const dstfile,
const int xtype,
const int fdtouse,
const int appendflag,
const char *
const tmppfx,
const char *
const tmpsfx,
const int resumeflag,
const int deleteflag,
const ConfirmResumeUploadProc resumeProc,
int reserved);
563 int FTPPutFiles3(
const FTPCIPtr cip,
const char *
const pattern,
const char *
const dstdir,
const int recurse,
const int doGlob,
const int xtype,
int appendflag,
const char *
const tmppfx,
const char *
const tmpsfx,
const int resumeflag,
const int deleteflag,
const ConfirmResumeUploadProc resumeProc,
int reserved);
565 int FTPRename(
const FTPCIPtr cip,
const char *
const oldname,
const char *
const newname);
581 char *
StrDup(
const char *);
587 int MkDirs(
const char *
const,
int mode1);
588 char *
GetPass(
const char *
const prompt);
591 #if defined(WIN32) || defined(_WINDOWS) 598 void WinSleep(
unsigned int seconds);
601 #ifdef HAVE_SIGACTION 603 #elif !defined(NcSignal) 604 # define NcSignal signal 609 int FTPGetOneFile2(
const FTPCIPtr cip,
const char *
const file,
const char *
const dstfile,
const int xtype,
const int fdtouse,
const int resumeflag,
const int appendflag);
610 int FTPGetFiles(
const FTPCIPtr cip,
const char *
const pattern,
const char *
const dstdir,
const int recurse,
const int doGlob);
611 int FTPGetFiles2(
const FTPCIPtr cip,
const char *
const pattern,
const char *
const dstdir,
const int recurse,
const int doGlob,
const int xtype,
const int resumeflag,
const int appendflag);
615 int FTPPutOneFile2(
const FTPCIPtr cip,
const char *
const file,
const char *
const dstfile,
const int xtype,
const int fdtouse,
const int appendflag,
const char *
const tmppfx,
const char *
const tmpsfx);
616 int FTPPutFiles(
const FTPCIPtr cip,
const char *
const pattern,
const char *
const dstdir,
const int recurse,
const int doGlob);
617 int FTPPutFiles2(
const FTPCIPtr cip,
const char *
const pattern,
const char *
const dstdir,
const int recurse,
const int doGlob,
const int xtype,
const int appendflag,
const char *
const tmppfx,
const char *
const tmpsfx);
630 #if (defined(__GNUC__)) && (__GNUC__ >= 2) 641 #if (defined(__GNUC__)) && (__GNUC__ >= 2) 653 int FTPFileExists2(
const FTPCIPtr cip,
const char *
const file,
const int tryMDTM,
const int trySIZE,
const int tryMLST,
const int trySTAT,
const int tryNLST);
655 int BufferGets(
char *,
size_t,
int,
char *,
char **,
char **,
size_t);
670 void URLCopyToken(
char *,
size_t,
const char *,
size_t);
682 #if (defined(__GNUC__)) && (__GNUC__ >= 2)
FileInfoPtr RemoveFileInfo(FileInfoListPtr, FileInfoPtr)
LineList lastFTPCmdResultLL
void SortFileInfoList(FileInfoListPtr, int, int)
void ReInitResponse(const FTPCIPtr, ResponsePtr)
int FTPGetFilesAscii(const FTPCIPtr cip, const char *const pattern, const char *const dstdir, const int recurse, const int doGlob)
void FTPAbortDataTransfer(const FTPCIPtr cip)
void FTPPerror(const FTPCIPtr cip, const int err, const int eerr, const char *const s1, const char *const s2)
void FTPInitIOTimer(const FTPCIPtr)
int FTPLocalGlob(FTPCIPtr cip, LineListPtr fileList, const char *pattern, int doGlob)
int FTPFtw(const FTPCIPtr cip, const char *const dir, FTPFtwProc proc, int maxdepth)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
const char * asciiFilenameExtensions
int RCmd(const FTPCIPtr, ResponsePtr, const char *,...)
int FTPRemoteRecursiveFileList(FTPCIPtr, LineListPtr, FileInfoListPtr)
#define LocalPathToTVFSPath(s)
static GLenum _GLUfuncptr fn
int FTPChdir3(FTPCIPtr cip, const char *const cdCwd, char *const newCwd, const size_t newCwdSize, int flags)
int FTPLocalRecursiveFileList(FTPCIPtr, LineListPtr, FileInfoListPtr)
int WaitResponse(const FTPCIPtr, unsigned int)
int FTPInitLibrary(const FTPLIPtr lip)
void FTPStartIOTimer(const FTPCIPtr)
void(* FTPPrintResponseProc)(const FTPCIPtr, ResponsePtr)
FTPLoginMessageProc onLoginMsgProc
int FTPEndDataCmd(const FTPCIPtr, int)
int FTPRebuildConnectionInfo(const FTPLIPtr lip, const FTPCIPtr cip)
int FTPRemoteGlob(FTPCIPtr cip, LineListPtr fileList, const char *pattern, int doGlob)
void DoneWithResponse(const FTPCIPtr, ResponsePtr)
time_t UnMDTMDate(char *)
int BufferGets(char *, size_t, int, char *, char **, char **, size_t)
int FTPPutOneFile2(const FTPCIPtr cip, const char *const file, const char *const dstfile, const int xtype, const int fdtouse, const int appendflag, const char *const tmppfx, const char *const tmpsfx)
int FTPPutFilesAscii(const FTPCIPtr cip, const char *const pattern, const char *const dstdir, const int recurse, const int doGlob)
LinePtr AddLine(LineListPtr, const char *)
struct FileInfo ** FileInfoVec
int doNotGetStartingWorkingDirectory
int FTPLoginHost(const FTPCIPtr cip)
int FTPMkdir2(const FTPCIPtr cip, const char *const newDir, const int recurse, const char *const curDir)
int FTPGetFiles3(const FTPCIPtr cip, const char *pattern, const char *const dstdir, const int recurse, int doGlob, const int xtype, const int resumeflag, int appendflag, const int deleteflag, const int tarflag, const ConfirmResumeDownloadProc resumeProc, int reserved)
int UnMlsD(FileInfoListPtr, LineListPtr)
FTPProgressMeterProc progress
int FTPPutFiles2(const FTPCIPtr cip, const char *const pattern, const char *const dstdir, const int recurse, const int doGlob, const int xtype, const int appendflag, const char *const tmppfx, const char *const tmpsfx)
const char * FTPStrError(int e)
GLenum GLuint GLsizei bufsize
int FTPIsRegularFile(const FTPCIPtr cip, const char *const file)
void InitFileInfo(FileInfoPtr)
int FTPGetOneFileAscii(const FTPCIPtr cip, const char *const file, const char *const dstfile)
struct sockaddr_in ourCtlAddr
int FTPCmdNoResponse(const FTPCIPtr, const char *const cmdspec,...)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
struct MLstItem * MLstItemPtr
int(* ConfirmResumeDownloadProc)(const char *volatile *localpath, volatile longest_int localsize, volatile time_t localmtime, const char *volatile remotepath, volatile longest_int remotesize, volatile time_t remotetime, volatile longest_int *volatile startPoint)
void InitFileInfoList(FileInfoListPtr)
void FTPInitializeAnonPassword(const FTPLIPtr)
int FTPGetCWD(const FTPCIPtr cip, char *const newCwd, const size_t newCwdSize)
int FTPFileSize(const FTPCIPtr cip, const char *const file, longest_int *const size, const int type)
int FTPCmd(const FTPCIPtr cip, const char *const cmdspec,...)
size_t dataSocketSBufSize
GLenum GLuint GLenum GLsizei const GLchar * buf
#define gettimeofday(tv, tz)
void FTPInitializeOurHostName(const FTPLIPtr)
void modtime(int argc, const char *argv[])
struct FileInfo * FileInfoPtr
FTPRedialStatusProc redialStatusProc
int FTPPutOneFileAscii(const FTPCIPtr cip, const char *const file, const char *const dstfile)
#define StrRemoveTrailingLocalPathDelim
int LineListToFileInfoList(LineListPtr, FileInfoListPtr)
int FTPPutOneFile3(const FTPCIPtr cip, const char *const file, const char *const dstfile, const int xtype, const int fdtouse, const int appendflag, const char *const tmppfx, const char *const tmpsfx, const int resumeflag, const int deleteflag, const ConfirmResumeUploadProc resumeProc, int reserved)
int FTPGetOneFile3(const FTPCIPtr cip, const char *const file, const char *const dstfile, const int xtype, const int fdtouse, const int resumeflag, const int appendflag, const int deleteflag, const ConfirmResumeDownloadProc resumeProc, int reserved)
int FTPPutOneFile(const FTPCIPtr cip, const char *const file, const char *const dstfile)
int FTPChmod(const FTPCIPtr cip, const char *const pattern, const char *const mode, const int doGlob)
FTPConnectMessageProc onConnectMsgProc
LinePtr RemoveLine(LineListPtr, LinePtr)
FileInfoPtr AddFileInfo(FileInfoListPtr, FileInfoPtr)
int FTPStartDataCmd(const FTPCIPtr, int, int, longest_int, const char *,...)
int FTPRename(const FTPCIPtr cip, const char *const oldname, const char *const newname)
size_t ctrlSocketSBufSize
int ConcatFileInfoList(FileInfoListPtr, FileInfoListPtr)
struct FileInfoList FileInfoList
void(* FTPRedialStatusProc)(const FTPCIPtr, int, int)
struct FTPConnectionInfo FTPConnectionInfo
int FTPListToMemory2(const FTPCIPtr cip, const char *const pattern, const LineListPtr llines, const char *const lsflags, const int blanklines, int *const tryMLSD)
int FTPPutFiles(const FTPCIPtr cip, const char *const pattern, const char *const dstdir, const int recurse, const int doGlob)
int FTPList(const FTPCIPtr cip, const int outfd, const int longMode, const char *const lsflag)
int FTPListToMemory(const FTPCIPtr cip, const char *const pattern, const LineListPtr llines, const char *const lsflags)
int GetTelnetString(const FTPCIPtr, char *, size_t, FILE *, FILE *)
_In_ uint64_t _In_ uint64_t _In_ uint64_t _In_opt_ traverse_ptr * tp
int UnMlsT(const char *const, const MLstItemPtr)
int FTPRmdir(const FTPCIPtr cip, const char *const pattern, const int recurse, const int doGlob)
char * startingWorkingDirectory
char * FGets(char *, size_t, FILE *)
int gLibNcFTP_Uses_Me_To_Quiet_Variable_Unused_Warnings
int FTPFileModificationTime(const FTPCIPtr cip, const char *const file, time_t *const mdtm)
int FTPRemoteRecursiveFileList1(FTPCIPtr, char *const, FileInfoListPtr)
void(* FTPProgressMeterProc)(const FTPCIPtr, int)
void TraceResponse(const FTPCIPtr, ResponsePtr)
int FTPFileExistsStat(const FTPCIPtr cip, const char *const file)
struct FTPLibraryInfo * FTPLIPtr
int ComputeLNames(FileInfoListPtr, const char *, const char *, int)
int MkDirs(const char *const, int mode1)
int FTPIsDir(const FTPCIPtr cip, const char *const dir)
void URLCopyToken(char *, size_t, const char *, size_t)
int ConcatFileToFileInfoList(FileInfoListPtr, char *)
int(* ConfirmResumeUploadProc)(const char *volatile localpath, volatile longest_int localsize, volatile time_t localmtime, const char *volatile *remotepath, volatile longest_int remotesize, volatile time_t remotetime, volatile longest_int *volatile startPoint)
int FTPLocalRecursiveFileList2(FTPCIPtr cip, LineListPtr fileList, FileInfoListPtr files, int erelative)
char defaultAnonPassword[80]
int FTPUmask(const FTPCIPtr cip, const char *const umsk)
int UnLslR(FileInfoListPtr, LineListPtr, int)
struct SReadlineInfo SReadlineInfo
longest_int bytesTransferred
int FTPOpenHostNoLogin(const FTPCIPtr cip)
int FTPDelete(const FTPCIPtr cip, const char *const pattern, const int recurse, const int doGlob)
int FTPUtime(const FTPCIPtr cip, const char *const file, time_t actime, time_t modtime, time_t crtime)
struct Response * ResponsePtr
int FTPRemoteHelp(const FTPCIPtr, const char *const, const LineListPtr)
void(* FTPLogProc)(const FTPCIPtr, char *)
void VectorizeFileInfoList(FileInfoListPtr)
int FTPCloseHost(const FTPCIPtr cip)
void FTPUpdateIOTimer(const FTPCIPtr)
void(* FTPLoginMessageProc)(const FTPCIPtr, ResponsePtr)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
char lastFTPCmdResultStr[128]
int FTPChdir(const FTPCIPtr cip, const char *const cdCwd)
time_t nextProgressUpdate
int FTPChdirAndGetCWD(const FTPCIPtr cip, const char *const cdCwd, char *const newCwd, const size_t newCwdSize)
void(* FTPConnectMessageProc)(const FTPCIPtr, ResponsePtr)
size_t dataSocketRBufSize
struct FileInfoList * FileInfoListPtr
int GetResponse(const FTPCIPtr, ResponsePtr)
void UnvectorizeFileInfoList(FileInfoListPtr)
char * GetPass(const char *const prompt)
struct sockaddr_in servDataAddr
int FTPGetOneFile2(const FTPCIPtr cip, const char *const file, const char *const dstfile, const int xtype, const int fdtouse, const int resumeflag, const int appendflag)
struct FTPConnectionInfo * FTPCIPtr
struct sockaddr_in ourDataAddr
FTPPrintResponseProc printResponseProc
size_t ctrlSocketRBufSize
struct sockaddr_in servCtlAddr
int FTPDecodeURL(const FTPCIPtr cip, char *const url, LineListPtr cdlist, char *const fn, const size_t fnsize, int *const xtype, int *const wantnlst)
void PrintResponse(const FTPCIPtr, LineListPtr)
int CopyLineList(LineListPtr, LineListPtr)
unsigned int firewallPort
int FTPFileExists(const FTPCIPtr cip, const char *const file)
char gLibNcFTPVersion[64]
void StrRemoveTrailingSlashes(char *dst)
int LineToFileInfoList(LinePtr, FileInfoListPtr)
void GetUsrName(char *, size_t)
int FTPGetOneFile(const FTPCIPtr cip, const char *const file, const char *const dstfile)
int FTPQueryFeatures(const FTPCIPtr)
void GetHomeDir(char *, size_t)
int FTPOpenHost(const FTPCIPtr cip)
void Scramble(unsigned char *dst, size_t dsize, unsigned char *src, char *key)
void(* FTPGetPassphraseProc)(const FTPCIPtr, LineListPtr pwPrompt, char *pass, size_t dsize)
#define StrRFindLocalPathDelim(a)
#define TVFSPathToLocalPath(s)
void DisposeFileInfoListContents(FileInfoListPtr)
unsigned int abortTimeout
int FTPMkdir(const FTPCIPtr cip, const char *const newDir, const int recurse)
int(* FTPFtwProc)(const FTPCIPtr cip, const char *fn, int flag)
GLuint GLuint GLsizei GLenum type
int FTPFileExistsNlst(const FTPCIPtr cip, const char *const file)
UINT(* handler)(MSIPACKAGE *)
int FTPFileSizeAndModificationTime(const FTPCIPtr cip, const char *const file, longest_int *const size, const int type, time_t *const mdtm)
void InitLineList(LineListPtr)
int FTPFileExists2(const FTPCIPtr cip, const char *const file, const int tryMDTM, const int trySIZE, const int tryMLST, const int trySTAT, const int tryNLST)
void FTPStopIOTimer(const FTPCIPtr)
int FTPPutFiles3(const FTPCIPtr cip, const char *const pattern, const char *const dstdir, const int recurse, const int doGlob, const int xtype, int appendflag, const char *const tmppfx, const char *const tmpsfx, const int resumeflag, const int deleteflag, const ConfirmResumeUploadProc resumeProc, int reserved)
ResponsePtr InitResponse(void)
char * StrDup(const char *)
struct LineList * LineListPtr
#define StrFindLocalPathDelim(a)
int FTPGetFiles2(const FTPCIPtr cip, const char *const pattern, const char *const dstdir, const int recurse, const int doGlob, const int xtype, const int resumeflag, const int appendflag)
int FTPSetTransferType(const FTPCIPtr, int)
int ComputeRNames(FileInfoListPtr, const char *, int, int)
struct FTPLibraryInfo FTPLibraryInfo
int FTPInitConnectionInfo(const FTPLIPtr lip, const FTPCIPtr cip, size_t bufsize)
int FTPGetFiles(const FTPCIPtr cip, const char *const pattern, const char *const dstdir, const int recurse, const int doGlob)
void DisposeLineListContents(LineListPtr)
void FTPShutdownHost(const FTPCIPtr cip)
int FilenameExtensionIndicatesASCII(const char *const pathName, const char *const extnList)
int FTPFileType(const FTPCIPtr cip, const char *const file, int *const ftype)
char * FTPGetLocalCWD(char *buf, size_t size)
FTPGetPassphraseProc passphraseProc
int FTPMListOneFile(const FTPCIPtr cip, const char *const file, const MLstItemPtr mlip)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
int FTPSymlink(const FTPCIPtr cip, const char *const lfrom, const char *const lto)