* Check to see if We have already declared functions and loaded the DLL
IF This.lDLL_Loaded
RETURN ERROR_SUCCESS
ENDIF
* Declare a Kernel32 Functions
DECLARE Integer GetLastError IN Kernel32
DECLARE Integer FileTimeToSystemTime IN Kernel32 ;
String @lpcBuffer, String @lpcBuffer
* Declare DLL functions used by Program
DECLARE Integer InternetAutodial IN WinInet ;
Integer nAccessType, Integer nHandle
DECLARE Integer InternetAutodialHangup IN WinInet ;
Integer nFlags
DECLARE Integer InternetDial IN WinInet ;
Integer nHandle, String @lpcDialUp, Integer nAccessType, Integer @nConnect_Handle, ;
Integer nFlags
DECLARE Integer InternetHangUp IN WinInet ;
Integer nConnect_Handle, Integer nFlags
DECLARE Integer InternetGetConnectedState IN WinInet ;
Integer @nContext, Integer nFlags
DECLARE Integer InternetGoOnline IN WinInet ;
String @lpcURL, Integer nHandle, Integer nFlags
DECLARE Integer InternetOpen IN WinInet ;
String @lpcAgent, Integer nAccessType, String @lpcProxyName, ;
String @lpcProxyBypass, Integer nFlags
DECLARE InternetQueryOption IN WinInet ;
INTEGER hInternet,;
INTEGER dwOption,;
INTEGER @ lpBuffer,;
INTEGER @ lpdwBufferLength
*** begin of olrrai fix
DECLARE INTEGER InternetSetOption IN WININET.DLL INTEGER, INTEGER,;
INTEGER @, INTEGER
*********** end of olrrai fix
DECLARE Integer InternetConnect IN WinInet ;
Integer nInet_Handle, String @lpcServer, Short nPort, String @lpcUserName, ;
String @lpcPassword, Integer nService, Integer nFlags, Integer nContext
DECLARE Integer InternetCloseHandle IN WinInet ;
Integer nConnect_Handle
* FTP Functions
DECLARE Integer FtpCreateDirectory IN WinInet ;
Integer nConnect_Handle, String @lpcDirectory
DECLARE Integer FtpDeleteFile IN WinInet ;
Integer nConnect_Handle, String @lpcFileName
DECLARE Integer FtpFindFirstFile IN WinInet ;
Integer nConnect_Handle, String @lpcSearchStr, String @lpcWIN32_FIND_DATA, ;
Integer nFlags, Integer nContext
DECLARE Integer InternetFindNextFile IN WinInet ;
Integer nConnect_Handle, String @lpcWIN32_FIND_DATA
DECLARE Integer FtpGetCurrentDirectory IN WinInet ;
Integer nConnect_Handle, String @lpcDirectory, Integer @nMax_Path
DECLARE Integer FtpGetFile IN WinInet ;
Integer nConnect_Handle, String @lpcRemoteFile, String @lpcNewFile, ;
Integer nFailIfExists, Integer nAttributes, Integer nFlags, ;
Integer nContext
DECLARE Integer FtpOpenFile IN WinInet ;
Integer nConnect_Handle, String @lpcRemoteFile, Integer nAccessType, ;
Integer nFlags, Integer nContext
DECLARE Integer FtpPutFile IN WinInet ;
Integer nConnect_Handle, String @lpcNewFile, String @lpcRemoteFile, ;
Integer nFlags, Integer nContext
DECLARE Integer FtpRemoveDirectory IN WinInet ;
Integer nConnect_Handle, String @lpcDirectory
DECLARE Integer FtpRenameFile IN WinInet ;
Integer nConnect_Handle, String @lpcRemoteFile, String @lpcNewFile
DECLARE Integer FtpSetCurrentDirectory IN WinInet ;
Integer nConnect_Handle, String @lpcDirectory
DECLARE Integer FtpCommand IN WinInet ;
Integer hConnect, Integer fExpectResponse,;
Integer dwFlags, STRING @ lpszCommand,;
Integer dwContext, Integer @ phFtpCommand
DECLARE Integer InternetGetLastResponseInfo IN WinInet ;
Integer @nError, String @lpcBuffer, Integer @nMax_Path
DECLARE INTEGER InternetWriteFile IN WinInet ;
INTEGER hFile, STRING @ lpBuffer,;
INTEGER dwNumberOfBytesToWrite, INTEGER @ lpdwNumberOfBytesWritten
DECLARE INTEGER InternetReadFile IN WinInet ;
INTEGER hFile, STRING @ lpBuffer,;
INTEGER dwNumberOfBytesToWrite, INTEGER @ lpdwNumberOfBytesWritten
This.lDLL_Loaded = .T.
This.aIOptions(INTERNET_OPTION_CONNECT_TIMEOUT)=3600*1000
This.aIOptions(INTERNET_OPTION_DATA_RECEIVE_TIMEOUT)=3600*1000
This.aIOptions(INTERNET_OPTION_DATA_SEND_TIMEOUT)=3600*1000
This.aIOptions(INTERNET_OPTION_CONNECT_RETRIES)=5
This.aIOptions(INTERNET_OPTION_RECEIVE_TIMEOUT)=3600*1000
This.aIOptions(INTERNET_OPTION_SEND_TIMEOUT)=3600*1000
RETURN ERROR_SUCCESS