/* File : AtkInternet.h Date : This is a wrapper function declaration for Winows Internet API. This Warpper is to handle the UNICODE as the present Windows Internet API does not support UNICODE */ #ifndef __ASTRATEK_INTERNET_HEADER #define __ASTRATEK_INTERNET_HEADER #include #include #include #define USE_ASTRATEK_WRAPPER 1 // // INTERNET_PROXY_INFO - structure supplied with INTERNET_OPTION_PROXY to get/ // set proxy information on a InternetOpen() handle // typedef struct { // dwAccessType - INTERNET_OPEN_TYPE_DIRECT, INTERNET_OPEN_TYPE_PROXY, or // INTERNET_OPEN_TYPE_PRECONFIG (set only) DWORD dwAccessType; // lpszProxy - proxy server list LPCSTR lpszProxy; // lpszProxyBypass - proxy bypass list LPCSTR lpszProxyBypass; } ATK_INTERNET_PROXY_INFOW; #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_INTERNET_PROXY_INFO ATK_INTERNET_PROXY_INFOW #else #define ATK_INTERNET_PROXY_INFO INTERNET_PROXY_INFO #endif #else #define ATK_INTERNET_PROXY_INFO INTERNET_PROXY_INFO #endif // !UNICODE HINTERNET ATK_InternetOpenW( IN LPCWSTR lpszAgent, IN DWORD dwAccessType, IN LPCWSTR lpszProxy OPTIONAL, IN LPCWSTR lpszProxyBypass OPTIONAL, IN DWORD dwFlags ); #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_InternetOpen ATK_InternetOpenW #else #define ATK_InternetOpen InternetOpen #endif #else #define ATK_InternetOpen InternetOpenA #endif // !UNICODE HINTERNET ATK_InternetConnectW( IN HINTERNET hInternet, IN LPCWSTR lpszServerName, IN INTERNET_PORT nServerPort, IN LPCWSTR lpszUserName OPTIONAL, IN LPCWSTR lpszPassword OPTIONAL, IN DWORD dwService, IN DWORD dwFlags, IN DWORD dwContext ); #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_InternetConnect ATK_InternetConnectW #else #define ATK_InternetConnect InternetConnect #endif #else #define ATK_InternetConnect InternetConnectA #endif // !UNICODE HINTERNET ATK_HttpOpenRequestW( IN HINTERNET hConnect, IN LPCWSTR lpszVerb, IN LPCWSTR lpszObjectName, IN LPCWSTR lpszVersion, IN LPCWSTR lpszReferrer OPTIONAL, IN LPCWSTR FAR * lplpszAcceptTypes OPTIONAL, IN DWORD dwFlags, IN DWORD_PTR dwContext ); #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_HttpOpenRequest ATK_HttpOpenRequestW #else #define ATK_HttpOpenRequest HttpOpenRequest #endif #else #define ATK_HttpOpenRequest HttpOpenRequestA #endif // !UNICODE BOOL ATK_HttpSendRequestW( IN HINTERNET hRequest, IN LPCWSTR lpszHeaders OPTIONAL, IN DWORD dwHeadersLength, IN LPVOID lpOptional OPTIONAL, IN DWORD dwOptionalLength ); #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_HttpSendRequest ATK_HttpSendRequestW #else #define ATK_HttpSendRequest HttpSendRequest #endif #else #define ATK_HttpSendRequest HttpSendRequestA #endif // !UNICODE BOOL ATK_InternetGetLastResponseInfoW( OUT LPDWORD lpdwError, OUT LPWSTR lpszBuffer OPTIONAL, IN OUT LPDWORD lpdwBufferLength ); #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_InternetGetLastResponseInfo ATK_InternetGetLastResponseInfoW #else #define ATK_InternetGetLastResponseInfo InternetGetLastResponseInfo #endif #else #define ATK_InternetGetLastResponseInfo InternetGetLastResponseInfoA #endif BOOL ATK_HttpQueryInfoW( IN HINTERNET hRequest, IN DWORD dwInfoLevel, IN OUT LPVOID lpBuffer OPTIONAL, IN OUT LPDWORD lpdwBufferLength, IN OUT LPDWORD lpdwIndex OPTIONAL ); #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_HttpQueryInfo ATK_HttpQueryInfoW #else #define ATK_HttpQueryInfo HttpQueryInfo #endif #else #define ATK_HttpQueryInfo HttpQueryInfoA #endif // // In this functin declaration we have modified the first // parameter type as TCHAR to have uniformity in coding in tha APP // BOOL ATK_InternetGetCookieW(IN TCHAR *lpszUrl, IN TCHAR *lpszCookieName, OUT TCHAR *lpCookieData, OUT LPDWORD lpdwSize); #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_InternetGetCookie ATK_InternetGetCookieW #else #define ATK_InternetGetCookie InternetGetCookie #endif #else #define ATK_InternetGetCookie InternetGetCookieA #endif BOOL ATK_InternetQueryOptionW(IN HINTERNET hInternet, IN DWORD dwOption, OUT LPVOID lpBuffer, IN OUT LPDWORD lpdwBufferLength); #ifdef _UNICODE #ifdef USE_ASTRATEK_WRAPPER #define ATK_InternetQueryOption ATK_InternetQueryOptionW #else #define ATK_InternetQueryOption InternetQueryOption #endif #else #define ATK_InternetQueryOption InternetQueryOptionA #endif #endif