55 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
58 "Expected ERROR_INTERNET_NOT_INITIALIZED or ERROR_INVALID_HANDLE (win98), got %d\n",
GetLastError());
77 skip(
"No ftp connection could be made to ftp.winehq.org %u\n",
GetLastError());
86 ok ( hFtp ==
NULL,
"Expected InternetConnect to fail\n");
88 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
93 ok(!hFtp,
"Expected InternetConnect to fail\n");
95 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
126 "Expected ERROR_INTERNET_LOGIN_FAILURE, got %d\n",
GetLastError());
144 ok ( bRet ==
FALSE,
"Expected FtpCreateDirectoryA to fail\n");
146 "Expected ERROR_INVALID_HANDLE, got %d\n",
GetLastError());
151 ok ( bRet ==
FALSE,
"Expected FtpCreateDirectoryA to fail\n");
153 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
158 ok ( bRet ==
FALSE,
"Expected FtpCreateDirectoryA to fail\n");
160 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError());
165 ok ( bRet ==
FALSE,
"Expected FtpCreateDirectoryA to fail\n");
167 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
171 ok ( bRet ==
FALSE,
"Expected FtpCreateDirectoryA to fail\n");
173 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
183 ok ( bRet ==
FALSE,
"Expected FtpDeleteFileA to fail\n");
185 "Expected ERROR_INVALID_HANDLE, got %d\n",
GetLastError());
190 ok ( bRet ==
FALSE,
"Expected FtpDeleteFileA to fail\n");
192 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
197 ok ( bRet ==
FALSE,
"Expected FtpDeleteFileA to fail\n");
199 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError());
204 ok ( bRet ==
FALSE,
"Expected FtpDeleteFileA to fail\n");
206 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
210 ok ( bRet ==
FALSE,
"Expected FtpCreateDirectoryA to fail\n");
212 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
231 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
234 "Expected ERROR_INVALID_HANDLE (win98) or ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
239 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
241 "Expected ERROR_INVALID_HANDLE, got %d\n",
GetLastError());
246 DeleteFileA(
"should_also_be_non_existing_deadbeef");
251 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
253 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
255 "Local file should not have been created\n");
261 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
263 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
267 ok ( bRet ==
TRUE,
"Expected FtpGetFileA to succeed\n");
269 "Local file should have been created\n");
275 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
277 "Expected ERROR_INTERNET_EXTENDED_ERROR or ERROR_INVALID_PARAMETER (win98), got %d\n",
GetLastError());
279 "Local file should not have been created\n");
285 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
287 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError());
290 "Local file should not have been created\n");
292 DeleteFileA(
"should_also_be_non_existing_deadbeef");
305 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
307 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError());
310 "Local file should not have been created\n");
312 DeleteFileA(
"should_also_be_non_existing_deadbeef");
317 ok ( bRet ==
TRUE,
"Expected FtpGetFileA to fail\n");
325 ok ( bRet ==
TRUE,
"Expected FtpGetFileA to succeed\n");
332 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
334 "Expected ERROR_FILE_EXISTS, got %d\n",
GetLastError());
339 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
341 "Expected ERROR_FILE_EXISTS, got %d\n",
GetLastError());
349 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
352 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE (win98) or ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
357 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
359 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
363 ok ( bRet ==
FALSE,
"Expected FtpGetFileA to fail\n");
365 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
389 ok ( !hOpenFile,
"Expected FtpOpenFileA to fail\n");
391 "Expected ERROR_INVALID_HANDLE, got %d\n",
GetLastError());
397 ok ( !hOpenFile,
"Expected FtpOpenFileA to fail\n");
399 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
405 ok ( !hOpenFile,
"Expected FtpOpenFileA to fail\n");
407 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
413 ok ( !hOpenFile,
"Expected FtpOpenFileA to fail\n");
415 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
421 ok ( !hOpenFile,
"Expected FtpOpenFileA to fail\n");
423 "Expected ERROR_INTERNET_EXTENDED_ERROR or ERROR_INVALID_PARAMETER (win98), got %d\n",
GetLastError());
428 ok ( hOpenFile !=
NULL,
"Expected FtpOpenFileA to succeed\n");
444 ok ( bRet ==
FALSE,
"Expected FtpCreateDirectoryA to fail\n");
446 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
error);
452 ok ( bRet ==
FALSE,
"Expected FtpDeleteFileA to fail\n");
454 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
error);
462 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
error);
470 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
error);
481 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
483 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
error);
489 ok ( bRet ==
FALSE,
"Expected FtpRemoveDirectoryA to fail\n");
491 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
error);
494 bRet =
FtpRenameFileA(hFtp ,
"should_be_non_existing_deadbeef",
"new");
496 ok ( bRet ==
FALSE,
"Expected FtpRenameFileA to fail\n");
498 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
error);
506 ok ( !hOpenFile,
"Expected FtpOpenFileA to fail\n");
508 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
513 ok ( hOpenFile ==
NULL,
"Expected FtpOpenFileA to fail\n");
515 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
536 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
539 "Expected ERROR_INVALID_HANDLE (win98) or ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
543 bRet =
FtpPutFileA(
NULL,
"non_existing_local",
"non_existing_remote", 5, 0);
544 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
546 "Expected ERROR_INVALID_HANDLE, got %d\n",
GetLastError());
554 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
556 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
561 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
563 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
567 bRet =
FtpPutFileA(hFtp,
"non_existing_local",
"non_existing_remote", 5, 0);
568 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
570 "Expected ERROR_FILE_NOT_FOUND or ERROR_INVALID_PARAMETER (win98), got %d\n",
GetLastError());
575 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
577 "Expected ERROR_FILE_NOT_FOUND, got %d\n",
GetLastError());
588 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
590 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError());
597 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
600 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE (win98) or ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
604 bRet =
FtpPutFileA(hConnect,
"non_existing_local",
"non_existing_remote", 5, 0);
605 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
607 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
611 ok ( bRet ==
FALSE,
"Expected FtpPutFileA to fail\n");
613 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
623 ok ( bRet ==
FALSE,
"Expected FtpRemoveDirectoryA to fail\n");
625 "Expected ERROR_INVALID_HANDLE, got %d\n",
GetLastError());
630 ok ( bRet ==
FALSE,
"Expected FtpRemoveDirectoryA to fail\n");
632 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
637 ok ( bRet ==
FALSE,
"Expected FtpRemoveDirectoryA to fail\n");
639 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError());
644 ok ( bRet ==
FALSE,
"Expected FtpRemoveDirectoryA to fail\n");
646 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError());
651 ok ( bRet ==
FALSE,
"Expected FtpRemoveDirectoryA to fail\n");
653 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
657 ok ( bRet ==
FALSE,
"Expected FtpRemoveDirectoryA to fail\n");
659 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
669 ok ( bRet ==
FALSE,
"Expected FtpRenameFileA to fail\n");
671 "Expected ERROR_INVALID_HANDLE, got %d\n",
GetLastError());
676 ok ( bRet ==
FALSE,
"Expected FtpRenameFileA to fail\n");
678 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
683 ok ( bRet ==
FALSE,
"Expected FtpRenameFileA to fail\n");
685 "Expected ERROR_INVALID_PARAMETER, got %d\n",
GetLastError());
689 bRet =
FtpRenameFileA(hFtp ,
"should_be_non_existing_deadbeef",
"new");
690 ok ( bRet ==
FALSE,
"Expected FtpRenameFileA to fail\n");
692 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError());
697 ok ( bRet ==
FALSE,
"Expected FtpRenameFileA to fail\n");
699 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
702 bRet =
FtpRenameFileA(hConnect ,
"should_be_non_existing_deadbeef",
"new");
703 ok ( bRet ==
FALSE,
"Expected FtpRenameFileA to fail\n");
705 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError());
739 win_skip(
"FtpCommandA() is not available. Skipping the Ftp command tests\n");
749 ok(
ret == command_test[
i].
ret,
"%d: expected FtpCommandA to %s\n",
i, command_test[
i].
ret ?
"succeed" :
"fail");
766 ok ( hSearch !=
NULL,
"Expected FtpFindFirstFileA to pass\n" );
771 todo_wine ok ( hSearch2 ==
NULL,
"Expected FtpFindFirstFileA to fail\n" );
773 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
GetLastError() );
781 ok( hSearch !=
NULL,
"Expected FtpFindFirstFileA to pass\n" );
787 ok( hSearch !=
NULL,
"Expected FtpFindFirstFileA to pass\n" );
793 ok ( hSearch ==
NULL,
"Expected FtpFindFirstFileA to fail\n" );
799 ok(
success,
"Expected FtpSetCurrentDirectory to succeed\n" );
803 ok( hSearch !=
NULL,
"Expected FtpFindFirstFileA to pass\n" );
808 ok( hSearch !=
NULL,
"Expected FtpFindFirstFileA to pass\n" );
812 ok(
success,
"Expected FtpSetCurrentDirectory to succeed\n" );
817 ok ( hOpenFile !=
NULL,
"Expected FtpOpenFileA to succeed\n" );
827 "Expected FtpFindFirstFileA to fail\n" );
830 "Expected ERROR_FTP_TRANSFER_IN_PROGRESS, got %d\n",
error );
841 hSearch =
FtpFindFirstFileA(hFtp,
"this_file_should_not_exist", &findData, 0, 0);
842 ok ( hSearch ==
NULL,
"Expected FtpFindFirstFileA to fail\n" );
844 "Expected ERROR_INTERNET_EXTENDED_ERROR, got %d\n",
GetLastError() );
849 hSearch =
FtpFindFirstFileA(hFtp,
"this_file_should_not_exist*", &findData, 0, 0);
850 ok ( hSearch ==
NULL,
"Expected FtpFindFirstFileA to fail\n" );
852 "Expected ERROR_NO_MORE_FILES, got %d\n",
GetLastError() );
858 ok ( hSearch ==
NULL,
"Expected FtpFindFirstFileA to fail\n" );
860 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got %d\n",
GetLastError() );
872 win_skip(
"FtpCommandA() is not available. Skipping the Ftp get_current_dir tests\n");
880 skip(
"Failed to change directories in test_get_current_dir(HINTERNET hFtp).\n");
887 ok ( bRet ==
FALSE,
"Expected FtpGetCurrentDirectoryA to fail\n" );
893 ok ( bRet ==
FALSE,
"Expected FtpGetCurrentDirectoryA to fail\n" );
899 ok ( bRet ==
FALSE,
"Expected FtpGetCurrentDirectoryA to fail\n" );
905 ok ( bRet ==
FALSE,
"Expected FtpGetCurrentDirectoryA to fail\n" );
911 ok ( bRet ==
FALSE,
"Expected FtpGetCurrentDirectoryA to fail\n" );
917 ok ( bRet ==
FALSE,
"Expected FtpGetCurrentDirectoryA to fail\n" );
919 "Expected ERROR_INTERNET_INCORRECT_HANDLE_TYPE, got: %d\n",
GetLastError());
924 ok ( bRet ==
TRUE,
"Expected FtpGetCurrentDirectoryA to pass\n" );
925 ok ( !
strcmp(lpszCurrentDirectory,
"/pub"),
"Expected returned value \"%s\" to match \"/pub\"\n", lpszCurrentDirectory);
931 dwCurrentDirectoryLen = 4;
932 lpszCurrentDirectory[4] =
'a';
934 ok ( bRet ==
FALSE,
"Expected FtpGetCurrentDirectoryA to fail\n");
935 ok (
strcmp(lpszCurrentDirectory,
"/pub"),
"Expected returned value \"%s\" to not match \"/pub\"\n", lpszCurrentDirectory);
941 dwCurrentDirectoryLen = 5;
943 ok ( bRet ==
TRUE,
"Expected FtpGetCurrentDirectoryA to pass\n");
944 ok ( !
strcmp(lpszCurrentDirectory,
"/pub"),
"Expected returned value \"%s\" to match \"/pub\"\n", lpszCurrentDirectory);
976 skip(
"No ftp connection could be made to ftp.winehq.org %u\n",
GetLastError());
983 cb = pInternetSetStatusCallbackA(hInternet,
NULL);
990 HANDLE hInternet, hFtp, hHttp;
995 win_skip(
"Too old IE (older than 6.0)\n");
1000 pInternetSetStatusCallbackA = (
void*)
GetProcAddress(hWininet,
"InternetSetStatusCallbackA");
1010 skip(
"No ftp connection could be made to ftp.winehq.org\n");
1018 skip(
"No http connection could be made to www.winehq.org\n");
int strcmp(const char *String1, const char *String2)
#define ERROR_INSUFFICIENT_BUFFER
#define ERROR_INVALID_PARAMETER
#define GetProcAddress(x, y)
#define CreateFileA(a, b, c, d, e, f, g)
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
#define FILE_ATTRIBUTE_NORMAL
BOOL WINAPI DeleteFileA(IN LPCSTR lpFileName)
DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
BOOL WINAPI FtpRenameFileA(HINTERNET hFtpSession, LPCSTR lpszSrc, LPCSTR lpszDest)
BOOL WINAPI FtpCreateDirectoryA(HINTERNET hConnect, LPCSTR lpszDirectory)
HINTERNET WINAPI FtpFindFirstFileA(HINTERNET hConnect, LPCSTR lpszSearchFile, LPWIN32_FIND_DATAA lpFindFileData, DWORD dwFlags, DWORD_PTR dwContext)
BOOL WINAPI FtpSetCurrentDirectoryA(HINTERNET hConnect, LPCSTR lpszDirectory)
HINTERNET WINAPI FtpOpenFileA(HINTERNET hFtpSession, LPCSTR lpszFileName, DWORD fdwAccess, DWORD dwFlags, DWORD_PTR dwContext)
BOOL WINAPI FtpPutFileA(HINTERNET hConnect, LPCSTR lpszLocalFile, LPCSTR lpszNewRemoteFile, DWORD dwFlags, DWORD_PTR dwContext)
BOOL WINAPI FtpRemoveDirectoryA(HINTERNET hFtpSession, LPCSTR lpszDirectory)
BOOL WINAPI FtpDeleteFileA(HINTERNET hFtpSession, LPCSTR lpszFileName)
BOOL WINAPI FtpGetCurrentDirectoryA(HINTERNET hFtpSession, LPSTR lpszCurrentDirectory, LPDWORD lpdwCurrentDirectory)
BOOL WINAPI FtpGetFileA(HINTERNET hInternet, LPCSTR lpszRemoteFile, LPCSTR lpszNewFile, BOOL fFailIfExists, DWORD dwLocalFlagsAttribute, DWORD dwInternetFlags, DWORD_PTR dwContext)
HINTERNET WINAPI InternetOpenA(LPCSTR lpszAgent, DWORD dwAccessType, LPCSTR lpszProxy, LPCSTR lpszProxyBypass, DWORD dwFlags)
BOOL WINAPI InternetCloseHandle(HINTERNET hInternet)
BOOL WINAPI InternetGetLastResponseInfoA(LPDWORD lpdwError, LPSTR lpszBuffer, LPDWORD lpdwBufferLength)
HINTERNET WINAPI InternetConnectA(HINTERNET hInternet, LPCSTR lpszServerName, INTERNET_PORT nServerPort, LPCSTR lpszUserName, LPCSTR lpszPassword, DWORD dwService, DWORD dwFlags, DWORD_PTR dwContext)
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 const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define ERROR_FILE_NOT_FOUND
static void test_openfile(void)
static HMODULE MODULEINFO DWORD cb
static void WINAPI status_callback(HINTERNET handle, DWORD_PTR ctx, DWORD status, LPVOID info, DWORD info_len)
static void test_getfile(HINTERNET hFtp, HINTERNET hConnect)
static void test_renamefile(HINTERNET hFtp, HINTERNET hConnect)
static void test_createdir(HINTERNET hFtp, HINTERNET hConnect)
static void test_deletefile(HINTERNET hFtp, HINTERNET hConnect)
static void test_connect(HINTERNET hInternet)
static void test_getfile_no_open(void)
static void trace_extended_error(DWORD error)
static void test_find_first_file(HINTERNET hFtp, HINTERNET hConnect)
static void test_removedir(HINTERNET hFtp, HINTERNET hConnect)
static void test_putfile(HINTERNET hFtp, HINTERNET hConnect)
static void test_status_callbacks(HINTERNET hInternet)
static void test_get_current_dir(HINTERNET hFtp, HINTERNET hConnect)
static void test_command(HINTERNET hFtp)
#define INVALID_FILE_ATTRIBUTES
#define success(from, fromstr, to, tostr)
DWORD WINAPI GetLastError(void)
#define ERROR_FILE_EXISTS
#define ERROR_NO_MORE_FILES
#define INTERNET_DEFAULT_HTTP_PORT
#define INTERNET_DEFAULT_FTP_PORT
#define ERROR_INTERNET_EXTENDED_ERROR
#define FTP_TRANSFER_TYPE_ASCII
#define ERROR_INTERNET_NOT_INITIALIZED
#define INTERNET_SERVICE_FTP
VOID(CALLBACK * INTERNET_STATUS_CALLBACK)(_In_ HINTERNET, _In_opt_ DWORD_PTR, _In_ DWORD, _In_opt_ LPVOID, _In_ DWORD)
#define INTERNET_FLAG_PASSIVE
#define INTERNET_STATUS_RESOLVING_NAME
#define ERROR_INTERNET_LOGIN_FAILURE
#define INTERNET_STATUS_CONNECTING_TO_SERVER
#define ERROR_FTP_TRANSFER_IN_PROGRESS
#define INTERNET_STATUS_CONNECTED_TO_SERVER
#define INTERNET_STATUS_NAME_RESOLVED
#define ERROR_INTERNET_INCORRECT_HANDLE_TYPE
#define FTP_TRANSFER_TYPE_UNKNOWN
#define INTERNET_SERVICE_HTTP