#ifndef _FVSDK_Funcs_HEADER
#define _FVSDK_Funcs_HEADER
#include "FVSDK_ErrorCodes.h"
#include "FVSDK_Session.h"
#include "FVSDK_FileInfo.h"
#include "FVSDK_TransferStatus.h"
*/
#define FVSDK_SYNCOPT_SYNCREMOTE 0x0000
#define FVSDK_SYNCOPT_SYNCLOCAL 0x0001
#define FVSDK_SYNCOPT_IGNORECASE 0x0002
#define FVSDK_SYNCOPT_COMPARESIZE 0x0004
#define FVSDK_SYNCOPT_COMPARETIME 0x0008
#define FVSDK_SYNCOPT_INCLUDEDIRS 0x0010
#define FVSDK_SYNCOPT_DONTDELETE 0x0020
#define FVSDK_SYNCOPT_OVERWRITECONFIRMATIONS 0x0040
#define FVSDK_SYNCOPT_DELETECONFIRMATIONS 0x0080
#define FVSDK_SYNCOPT_REMOTEIGNORENEWER 0x0100
#define FVSDK_SYNCOPT_REMOTEIGNOREOLDER 0x0200
#define FVSDK_SYNCOPT_LOCALIGNORENEWER 0x0400
#define FVSDK_SYNCOPT_LOCALIGNOREOLDER 0x0800
#define FVSDK_SYNCOPT_MINIMIZESTATUSDIALOGS 0x1000
#define FVSDK_SYNCOPT_QUEUEERRORMESSAGES 0x2000
#define FVSDK_SYNCOPT_IGNORESYMBOLICLINKS 0x4000
#define FVSDK_SYNCOPT_USEDIALOG 0x8000
*/
STDAPI_(FVSDK_ERROR_CODE) FVSDK_BuildDate(FVSDK_TIME* ptmTime);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Version(char* pszBuffer, int nBufferSize);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_FtpTreeBuildDate(FVSDK_Session* pSession, FVSDK_TIME* ptmTime);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_FtpTreeVersion(FVSDK_Session* pSession, char* pszBuffer, int nBufferSize);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_SetRegistrationID(char* pszRegistrationID);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_ValidSession(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_InitSession(FVSDK_Session* pSession, BOOL bDynamic);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_CloseSession(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_NewSession(FVSDK_Session** ppNewSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_FreeSession(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_ApplySessionChange(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Connect(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Disconnect(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Connected(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Working(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Stop(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_LastOperationStopped(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_GetLastResponse(FVSDK_Session* pSession, UINT nIndex, char* pszBuffer, int nBufferSize);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_GetWelcomeMessage(FVSDK_Session* pSession, UINT nIndex, char* pszBuffer, int nBufferSize);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_SendCommand(FVSDK_Session* pSession, LPCTSTR pszCommand, int* pnResp);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_GetCurrentDirectory(FVSDK_Session* pSession, LPSTR pszBuffer, int nBufferSize);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_SetCurrentDirectory(FVSDK_Session* pSession, LPCTSTR pszPathName);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_UpOneDirectory(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_CreateDirectory(FVSDK_Session* pSession, LPCTSTR pszPathName);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_RemoveDirectory(FVSDK_Session* pSession, LPCTSTR pszPathName);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_RemoveFile(FVSDK_Session* pSession, LPCTSTR pszPathName);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Rename(FVSDK_Session* pSession, LPCTSTR pszOldPathName, LPCTSTR pszNewPathName);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Size(FVSDK_Session* pSession, LPCTSTR pszPathName, FVSDK_FILE_SIZE* pFileSize);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_OpenFile(FVSDK_Session* pSession, LPCTSTR pszFileName, BOOL bBinary, FVSDK_FILE_SIZE fsResumeLoc);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_CreateFile(FVSDK_Session* pSession, LPCTSTR pszFileName, BOOL bBinary, FVSDK_FILE_SIZE fsResumeLoc);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_OpenFileRW(FVSDK_Session* pSession, LPCTSTR pszFileName, BOOL bRead, BOOL bBinary, FVSDK_FILE_SIZE fsResumeLoc);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_ReadFile(FVSDK_Session* pSession, PBYTE pBuffer, int* pnBufferSize);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_WriteFile(FVSDK_Session* pSession, PBYTE pBuffer, int* pnBufferSize, BOOL bEnd);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_CloseFile(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_SetFileDateAndTime(FVSDK_Session* pSession, LPCTSTR pszFileName, FVSDK_TIME* ptmLocalDate);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_ValidFileInfo(FVSDK_FileInfo* pFileInfo);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_FindFile(FVSDK_Session* pSession, LPCTSTR pszFileName);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_FindNextFile(FVSDK_Session* pSession, FVSDK_FileInfo* pFileInfo);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_FindFileClose(FVSDK_Session* pSession);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Download(FVSDK_Session* pSession, LPCTSTR pszSourcePath, LPCTSTR pszDestPath);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_Upload(FVSDK_Session* pSession, LPCTSTR pszSourcePath, LPCTSTR pszDestPath);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_MoveDown(FVSDK_Session* pSession, LPCTSTR pszSourcePath, LPCTSTR pszDestPath);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_MoveUp(FVSDK_Session* pSession, LPCTSTR pszSourcePath, LPCTSTR pszDestPath);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_RemoteEdit(FVSDK_Session* pSession, LPCTSTR pszFilePath);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_RemoteView(FVSDK_Session* pSession, LPCTSTR pszFilePath);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_TransferMessage(FVSDK_Session* pSession, DWORD dwTransferStatusHandle, DWORD dwMessage, DWORD dwParams);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_FindFilesDialog(FVSDK_Session* pSession, LPCTSTR pszDirectoryPath);
STDAPI_(FVSDK_ERROR_CODE) FVSDK_SyncFolders(FVSDK_Session* pSession, LPCTSTR pszRemotePath, LPCTSTR pszLocalPath, DWORD dwSyncOptions, LPCTSTR pszIgnoreStartingWith, long nMaxThreads);
#endif