already moved this to the PSDK
Deleted: trunk/reactos/include/wine/wininet.h

Deleted: trunk/reactos/include/wine/wininet.h
--- trunk/reactos/include/wine/wininet.h	2005-06-29 19:47:57 UTC (rev 16331)
+++ trunk/reactos/include/wine/wininet.h	2005-06-29 20:03:12 UTC (rev 16332)
@@ -1,1552 +0,0 @@
-/*
- * Copyright (C) 2000 Ulrich Czekalla
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifndef _WINE_WININET_H_
-#define _WINE_WININET_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define INTERNETAPI
-#define BOOLAPI INTERNETAPI BOOL WINAPI
-
-typedef LPVOID HINTERNET;
-typedef HINTERNET * LPHINTERNET;
-
-typedef WORD INTERNET_PORT;
-typedef INTERNET_PORT * LPINTERNET_PORT;
-
-
-#define INTERNET_INVALID_PORT_NUMBER    0
-
-#define INTERNET_DEFAULT_FTP_PORT       21
-#define INTERNET_DEFAULT_GOPHER_PORT    70
-#define INTERNET_DEFAULT_HTTP_PORT      80
-#define INTERNET_DEFAULT_HTTPS_PORT     443
-#define INTERNET_DEFAULT_SOCKS_PORT     1080
-
-#define INTERNET_MAX_HOST_NAME_LENGTH   256
-#define INTERNET_MAX_USER_NAME_LENGTH   128
-#define INTERNET_MAX_PASSWORD_LENGTH    128
-#define INTERNET_MAX_PORT_NUMBER_LENGTH 5
-#define INTERNET_MAX_PORT_NUMBER_VALUE  65535
-#define INTERNET_MAX_PATH_LENGTH        2048
-#define INTERNET_MAX_SCHEME_LENGTH      32
-#define INTERNET_MAX_URL_LENGTH         (INTERNET_MAX_SCHEME_LENGTH + sizeof("://")+ INTERNET_MAX_PATH_LENGTH)
-#define INTERNET_KEEP_ALIVE_UNKNOWN     ((DWORD)-1)
-#define INTERNET_KEEP_ALIVE_ENABLED     1
-#define INTERNET_KEEP_ALIVE_DISABLED    0
-#define INTERNET_REQFLAG_FROM_CACHE     0x00000001
-#define INTERNET_REQFLAG_ASYNC          0x00000002
-#define INTERNET_REQFLAG_VIA_PROXY      0x00000004
-#define INTERNET_REQFLAG_NO_HEADERS     0x00000008
-#define INTERNET_REQFLAG_PASSIVE        0x00000010
-#define INTERNET_REQFLAG_CACHE_WRITE_DISABLED 0x00000040
-#define INTERNET_FLAG_RELOAD            0x80000000
-#define INTERNET_FLAG_RAW_DATA          0x40000000
-#define INTERNET_FLAG_EXISTING_CONNECT  0x20000000
-#define INTERNET_FLAG_ASYNC             0x10000000
-#define INTERNET_FLAG_PASSIVE           0x08000000
-#define INTERNET_FLAG_NO_CACHE_WRITE    0x04000000
-#define INTERNET_FLAG_DONT_CACHE        INTERNET_FLAG_NO_CACHE_WRITE
-#define INTERNET_FLAG_MAKE_PERSISTENT   0x02000000
-#define INTERNET_FLAG_FROM_CACHE        0x01000000
-#define INTERNET_FLAG_OFFLINE           INTERNET_FLAG_FROM_CACHE
-#define INTERNET_FLAG_SECURE            0x00800000
-#define INTERNET_FLAG_KEEP_CONNECTION   0x00400000
-#define INTERNET_FLAG_NO_AUTO_REDIRECT  0x00200000
-#define INTERNET_FLAG_READ_PREFETCH     0x00100000
-#define INTERNET_FLAG_NO_COOKIES        0x00080000
-#define INTERNET_FLAG_NO_AUTH           0x00040000
-#define INTERNET_FLAG_CACHE_IF_NET_FAIL 0x00010000
-#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP   0x00008000
-#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS  0x00004000
-#define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID  0x00002000
-#define INTERNET_FLAG_IGNORE_CERT_CN_INVALID    0x00001000
-#define INTERNET_FLAG_RESYNCHRONIZE     0x00000800
-#define INTERNET_FLAG_HYPERLINK         0x00000400
-#define INTERNET_FLAG_NO_UI             0x00000200
-#define INTERNET_FLAG_PRAGMA_NOCACHE    0x00000100
-#define INTERNET_FLAG_CACHE_ASYNC       0x00000080
-#define INTERNET_FLAG_FORMS_SUBMIT      0x00000040
-#define INTERNET_FLAG_NEED_FILE         0x00000010
-#define INTERNET_FLAG_MUST_CACHE_REQUEST INTERNET_FLAG_NEED_FILE
-#define INTERNET_FLAG_TRANSFER_ASCII    FTP_TRANSFER_TYPE_ASCII
-#define INTERNET_FLAG_TRANSFER_BINARY   FTP_TRANSFER_TYPE_BINARY
-#define SECURITY_INTERNET_MASK  (INTERNET_FLAG_IGNORE_CERT_CN_INVALID|\
-INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|\
-INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS|\
-INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP)
-
-#define INTERNET_FLAGS_MASK     (INTERNET_FLAG_RELOAD \
-                                | INTERNET_FLAG_RAW_DATA            \
-                                | INTERNET_FLAG_EXISTING_CONNECT    \
-                                | INTERNET_FLAG_ASYNC               \
-                                | INTERNET_FLAG_PASSIVE             \
-                                | INTERNET_FLAG_NO_CACHE_WRITE      \
-                                | INTERNET_FLAG_MAKE_PERSISTENT     \
-                                | INTERNET_FLAG_FROM_CACHE          \
-                                | INTERNET_FLAG_SECURE              \
-                                | INTERNET_FLAG_KEEP_CONNECTION     \
-                                | INTERNET_FLAG_NO_AUTO_REDIRECT    \
-                                | INTERNET_FLAG_READ_PREFETCH       \
-                                | INTERNET_FLAG_NO_COOKIES          \
-                                | INTERNET_FLAG_NO_AUTH             \
-                                | INTERNET_FLAG_CACHE_IF_NET_FAIL   \
-                                | SECURITY_INTERNET_MASK            \
-                                | INTERNET_FLAG_RESYNCHRONIZE       \
-                                | INTERNET_FLAG_HYPERLINK           \
-                                | INTERNET_FLAG_NO_UI               \
-                                | INTERNET_FLAG_PRAGMA_NOCACHE      \
-                                | INTERNET_FLAG_CACHE_ASYNC         \
-                                | INTERNET_FLAG_FORMS_SUBMIT        \
-                                | INTERNET_FLAG_NEED_FILE           \
-                                | INTERNET_FLAG_TRANSFER_BINARY     \
-                                | INTERNET_FLAG_TRANSFER_ASCII      \
-                                )
-
-#define INTERNET_ERROR_MASK_INSERT_CDROM                    0x1
-
-#define INTERNET_OPTIONS_MASK   (~INTERNET_FLAGS_MASK)
-#define WININET_API_FLAG_ASYNC          0x00000001
-#define WININET_API_FLAG_SYNC           0x00000004
-#define WININET_API_FLAG_USE_CONTEXT    0x00000008
-#define INTERNET_NO_CALLBACK            0
-
-typedef enum {
-    INTERNET_SCHEME_PARTIAL = -2,
-    INTERNET_SCHEME_UNKNOWN = -1,
-    INTERNET_SCHEME_DEFAULT = 0,
-    INTERNET_SCHEME_FTP,
-    INTERNET_SCHEME_GOPHER,
-    INTERNET_SCHEME_HTTP,
-    INTERNET_SCHEME_HTTPS,
-    INTERNET_SCHEME_FILE,
-    INTERNET_SCHEME_NEWS,
-    INTERNET_SCHEME_MAILTO,
-    INTERNET_SCHEME_SOCKS,
-    INTERNET_SCHEME_JAVASCRIPT,
-    INTERNET_SCHEME_VBSCRIPT,
-    INTERNET_SCHEME_RES,
-    INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP,
-    INTERNET_SCHEME_LAST = INTERNET_SCHEME_RES
-} INTERNET_SCHEME,* LPINTERNET_SCHEME;
-
-typedef struct {
-    DWORD dwResult;
-    DWORD dwError;
-} INTERNET_ASYNC_RESULT,* LPINTERNET_ASYNC_RESULT;
-
-typedef struct {
-    DWORD dwAccessType;
-    LPCSTR lpszProxy;
-    LPCSTR lpszProxyBypass;
-} INTERNET_PROXY_INFOA,* LPINTERNET_PROXY_INFOA;
-
-typedef struct {
-    DWORD dwAccessType;
-    LPCWSTR lpszProxy;
-    LPCWSTR lpszProxyBypass;
-} INTERNET_PROXY_INFOW,* LPINTERNET_PROXY_INFOW;
-
-
-DECL_WINELIB_TYPE_AW(INTERNET_PROXY_INFO)
-DECL_WINELIB_TYPE_AW(LPINTERNET_PROXY_INFO)
-
-typedef struct {
-    DWORD dwMajorVersion;
-    DWORD dwMinorVersion;
-} INTERNET_VERSION_INFO,* LPINTERNET_VERSION_INFO;
-
-typedef struct {
-    DWORD dwMajorVersion;
-    DWORD dwMinorVersion;
-} HTTP_VERSION_INFO,* LPHTTP_VERSION_INFO;
-
-typedef struct {
-    DWORD dwConnectedState;
-    DWORD dwFlags;
-} INTERNET_CONNECTED_INFO,* LPINTERNET_CONNECTED_INFO;
-
-#define ISO_FORCE_DISCONNECTED  0x00000001
-
-typedef struct {
-    DWORD   dwStructSize;
-    LPSTR   lpszScheme;
-    DWORD   dwSchemeLength;
-    INTERNET_SCHEME nScheme;
-    LPSTR   lpszHostName;
-    DWORD   dwHostNameLength;
-    INTERNET_PORT nPort;
-    LPSTR   lpszUserName;
-    DWORD   dwUserNameLength;
-    LPSTR   lpszPassword;
-    DWORD   dwPasswordLength;
-    LPSTR   lpszUrlPath;
-    DWORD   dwUrlPathLength;
-    LPSTR   lpszExtraInfo;
-    DWORD   dwExtraInfoLength;
-} URL_COMPONENTSA,* LPURL_COMPONENTSA;
-
-typedef struct {
-    DWORD   dwStructSize;
-    LPWSTR  lpszScheme;
-    DWORD   dwSchemeLength;
-    INTERNET_SCHEME nScheme;
-    LPWSTR  lpszHostName;
-    DWORD   dwHostNameLength;
-    INTERNET_PORT nPort;
-    LPWSTR  lpszUserName;
-    DWORD   dwUserNameLength;
-    LPWSTR  lpszPassword;
-    DWORD   dwPasswordLength;
-    LPWSTR  lpszUrlPath;
-    DWORD   dwUrlPathLength;
-    LPWSTR  lpszExtraInfo;
-    DWORD   dwExtraInfoLength;
-} URL_COMPONENTSW,* LPURL_COMPONENTSW;
-
-DECL_WINELIB_TYPE_AW(URL_COMPONENTS)
-DECL_WINELIB_TYPE_AW(LPURL_COMPONENTS)
-
-typedef struct {
-    FILETIME ftExpiry;
-    FILETIME ftStart;
-    LPSTR lpszSubjectInfo;
-    LPSTR lpszIssuerInfo;
-    LPSTR lpszProtocolName;
-    LPSTR lpszSignatureAlgName;
-    LPSTR lpszEncryptionAlgName;
-    DWORD dwKeySize;
-
-} INTERNET_CERTIFICATE_INFOA,* LPINTERNET_CERTIFICATE_INFOA;
-
-typedef struct {
-    FILETIME ftExpiry;
-    FILETIME ftStart;
-    LPWSTR lpszSubjectInfo;
-    LPWSTR lpszIssuerInfo;
-    LPWSTR lpszProtocolName;
-    LPWSTR lpszSignatureAlgName;
-    LPWSTR lpszEncryptionAlgName;
-    DWORD dwKeySize;
-
-} INTERNET_CERTIFICATE_INFOW,* LPINTERNET_CERTIFICATE_INFOW;
-
-DECL_WINELIB_TYPE_AW(INTERNET_CERTIFICATE_INFO)
-DECL_WINELIB_TYPE_AW(LPINTERNET_CERTIFICATE_INFO)
-
-typedef struct _INTERNET_BUFFERSA {
-    DWORD dwStructSize;
-    struct _INTERNET_BUFFERSA * Next;
-    LPCSTR   lpcszHeader;
-    DWORD dwHeadersLength;
-    DWORD dwHeadersTotal;
-    LPVOID lpvBuffer;
-    DWORD dwBufferLength;
-    DWORD dwBufferTotal;
-    DWORD dwOffsetLow;
-    DWORD dwOffsetHigh;
-} INTERNET_BUFFERSA,* LPINTERNET_BUFFERSA;
-
-typedef struct _INTERNET_BUFFERSW {
-    DWORD dwStructSize;
-    struct _INTERNET_BUFFERSW * Next;
-    LPCWSTR  lpcszHeader;
-    DWORD dwHeadersLength;
-    DWORD dwHeadersTotal;
-    LPVOID lpvBuffer;
-    DWORD dwBufferLength;
-    DWORD dwBufferTotal;
-    DWORD dwOffsetLow;
-    DWORD dwOffsetHigh;
-} INTERNET_BUFFERSW,* LPINTERNET_BUFFERSW;
-
-DECL_WINELIB_TYPE_AW(INTERNET_BUFFERS)
-DECL_WINELIB_TYPE_AW(LPINTERNET_BUFFERS)
-
-#define GROUP_OWNER_STORAGE_SIZE 4
-#define GROUPNAME_MAX_LENGTH 120
-
-typedef struct _INTERNET_CACHE_GROUP_INFOA {
-    DWORD dwGroupSize;
-    DWORD dwGroupFlags;
-    DWORD dwGroupType;
-    DWORD dwDiskUsage;
-    DWORD dwDiskQuota;
-    DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
-    CHAR  szGroupName[GROUPNAME_MAX_LENGTH];
-} INTERNET_CACHE_GROUP_INFOA, * LPINTERNET_CACHE_GROUP_INFOA;
-
-typedef struct _INTERNET_CACHE_GROUP_INFOW {
-    DWORD dwGroupSize;
-    DWORD dwGroupFlags;
-    DWORD dwGroupType;
-    DWORD dwDiskUsage;
-    DWORD dwDiskQuota;
-    DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE];
-    WCHAR szGroupName[GROUPNAME_MAX_LENGTH];
-} INTERNET_CACHE_GROUP_INFOW, *LPINTERNET_CACHE_GROUP_INFOW;
-
-DECL_WINELIB_TYPE_AW(INTERNET_CACHE_GROUP_INFO)
-DECL_WINELIB_TYPE_AW(LPINTERNET_CACHE_GROUP_INFO)
-
-BOOLAPI InternetTimeFromSystemTimeA(CONST SYSTEMTIME *,DWORD ,LPSTR ,DWORD);
-BOOLAPI InternetTimeFromSystemTimeW(CONST SYSTEMTIME *,DWORD ,LPWSTR ,DWORD);
-#define InternetTimeFromSystemTime WINELIB_NAME_AW(InternetTimeFromSystemTime)
-
-#define INTERNET_RFC1123_FORMAT    0
-#define INTERNET_RFC1123_BUFSIZE   30
-
-BOOLAPI InternetTimeToSystemTimeA(LPCSTR ,SYSTEMTIME *,DWORD);
-BOOLAPI InternetTimeToSystemTimeW(LPCWSTR ,SYSTEMTIME *,DWORD);
-#define InternetTimeToSystemTime WINELIB_NAME_AW(InternetTimeToSystemTime)
-
-BOOLAPI InternetCrackUrlA(LPCSTR ,DWORD ,DWORD ,LPURL_COMPONENTSA);
-BOOLAPI InternetCrackUrlW(LPCWSTR ,DWORD ,DWORD ,LPURL_COMPONENTSW);
-#define InternetCrackUrl  WINELIB_NAME_AW(InternetCrackUrl)
-
-BOOLAPI InternetCreateUrlA(LPURL_COMPONENTSA ,DWORD ,LPSTR ,LPDWORD);
-BOOLAPI InternetCreateUrlW(LPURL_COMPONENTSW ,DWORD ,LPWSTR ,LPDWORD);
-#define InternetCreateUrl WINELIB_NAME_AW(InternetCreateUrl)
-
-BOOLAPI InternetCanonicalizeUrlA(LPCSTR ,LPSTR ,LPDWORD ,DWORD);
-BOOLAPI InternetCanonicalizeUrlW(LPCWSTR ,LPWSTR ,LPDWORD ,DWORD);
-#define InternetCanonicalizeUrl  WINELIB_NAME_AW(InternetCanonicalizeUrl)
-
-BOOLAPI InternetCombineUrlA(LPCSTR ,LPCSTR ,LPSTR ,LPDWORD ,DWORD);
-BOOLAPI InternetCombineUrlW(LPCWSTR ,LPCWSTR ,LPWSTR ,LPDWORD ,DWORD);
-#define InternetCombineUrl  WINELIB_NAME_AW(InternetCombineUrl)
-
-#define ICU_ESCAPE      0x80000000
-#define ICU_USERNAME    0x40000000
-#define ICU_NO_ENCODE   0x20000000
-#define ICU_DECODE      0x10000000
-#define ICU_NO_META     0x08000000
-#define ICU_ENCODE_SPACES_ONLY 0x04000000
-#define ICU_BROWSER_MODE 0x02000000
-
-INTERNETAPI HINTERNET WINAPI InternetOpenA(LPCSTR ,DWORD ,LPCSTR lpszProxy ,LPCSTR lpszProxyBypass ,DWORD);
-INTERNETAPI HINTERNET WINAPI InternetOpenW(LPCWSTR ,DWORD ,LPCWSTR lpszProxy ,LPCWSTR lpszProxyBypass ,DWORD);
-#define InternetOpen  WINELIB_NAME_AW(InternetOpen)
-
-#define INTERNET_OPEN_TYPE_PRECONFIG                    0
-#define INTERNET_OPEN_TYPE_DIRECT                       1
-#define INTERNET_OPEN_TYPE_PROXY                        3
-#define INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY  4
-#define PRE_CONFIG_INTERNET_ACCESS  INTERNET_OPEN_TYPE_PRECONFIG
-#define LOCAL_INTERNET_ACCESS       INTERNET_OPEN_TYPE_DIRECT
-#define CERN_PROXY_INTERNET_ACCESS  INTERNET_OPEN_TYPE_PROXY
-
-BOOLAPI InternetCloseHandle(HINTERNET);
-
-INTERNETAPI HINTERNET WINAPI InternetConnectA(HINTERNET ,LPCSTR ,INTERNET_PORT ,
-	LPCSTR lpszUserName ,LPCSTR lpszPassword ,DWORD ,DWORD ,DWORD );
-INTERNETAPI HINTERNET WINAPI InternetConnectW(HINTERNET ,LPCWSTR ,INTERNET_PORT ,
-	LPCWSTR lpszUserName ,LPCWSTR lpszPassword ,DWORD ,DWORD ,DWORD );
-#define InternetConnect  WINELIB_NAME_AW(InternetConnect)
-
-#define INTERNET_SERVICE_URL    0
-#define INTERNET_SERVICE_FTP    1
-#define INTERNET_SERVICE_GOPHER 2
-#define INTERNET_SERVICE_HTTP   3
-
-#define InternetConnectUrl(hInternet,lpszUrl,dwFlags,dwContext) \
-    InternetConnect(hInternet,\
-                    lpszUrl,\
-                    INTERNET_INVALID_PORT_NUMBER,\
-                    NULL,\
-                    NULL,\
-                    INTERNET_SERVICE_URL,\
-                    dwFlags,\
-                    dwContext                       \
-                    )
-
-INTERNETAPI HINTERNET WINAPI InternetOpenUrlA(HINTERNET ,LPCSTR ,LPCSTR lpszHeaders ,DWORD ,DWORD ,DWORD);
-INTERNETAPI HINTERNET WINAPI InternetOpenUrlW(HINTERNET ,LPCWSTR ,LPCWSTR lpszHeaders ,DWORD ,DWORD ,DWORD);
-#define InternetOpenUrl  WINELIB_NAME_AW(InternetOpenUrl)
-
-BOOLAPI InternetReadFile( HINTERNET ,LPVOID ,DWORD ,LPDWORD );
-INTERNETAPI BOOL WINAPI InternetReadFileExA( HINTERNET ,LPINTERNET_BUFFERSA ,DWORD ,DWORD );
-INTERNETAPI BOOL WINAPI InternetReadFileExW( HINTERNET ,LPINTERNET_BUFFERSW ,DWORD ,DWORD );
-#define InternetReadFileEx  WINELIB_NAME_AW(InternetReadFileEx)
-
-#define IRF_ASYNC       WININET_API_FLAG_ASYNC
-#define IRF_SYNC        WININET_API_FLAG_SYNC
-#define IRF_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT
-#define IRF_NO_WAIT     0x00000008
-
-INTERNETAPI DWORD WINAPI InternetSetFilePointer(HINTERNET ,LONG ,PVOID ,DWORD ,DWORD);
-BOOLAPI InternetWriteFile(HINTERNET ,LPCVOID ,DWORD ,LPDWORD);
-BOOLAPI InternetQueryDataAvailable(HINTERNET ,LPDWORD lpdwNumberOfBytesAvailable ,DWORD ,DWORD);
-BOOLAPI InternetFindNextFileA(HINTERNET ,LPVOID);
-BOOLAPI InternetFindNextFileW(HINTERNET ,LPVOID);
-#define InternetFindNextFile  WINELIB_NAME_AW(InternetFindNextFile)
-
-BOOLAPI InternetQueryOptionA(HINTERNET hInternet ,DWORD ,LPVOID lpBuffer ,LPDWORD);
-BOOLAPI InternetQueryOptionW(HINTERNET hInternet ,DWORD ,LPVOID lpBuffer ,LPDWORD);
-#define InternetQueryOption  WINELIB_NAME_AW(InternetQueryOption)
-
-BOOLAPI InternetSetOptionA(HINTERNET hInternet ,DWORD ,LPVOID ,DWORD);
-BOOLAPI InternetSetOptionW(HINTERNET hInternet ,DWORD ,LPVOID ,DWORD);
-#define InternetSetOption  WINELIB_NAME_AW(InternetSetOption)
-
-BOOLAPI InternetSetOptionExA(HINTERNET hInternet ,DWORD ,LPVOID ,DWORD ,DWORD);
-BOOLAPI InternetSetOptionExW(HINTERNET hInternet ,DWORD ,LPVOID ,DWORD ,DWORD);
-#define InternetSetOptionEx  WINELIB_NAME_AW(InternetSetOptionEx)
-
-BOOLAPI InternetLockRequestFile(HINTERNET ,HANDLE *);
-BOOLAPI InternetUnlockRequestFile(HANDLE);
-
-#define ISO_GLOBAL      0x00000001
-#define ISO_REGISTRY    0x00000002
-
-#define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY)
-#define INTERNET_OPTION_CALLBACK                1
-#define INTERNET_OPTION_CONNECT_TIMEOUT         2
-#define INTERNET_OPTION_CONNECT_RETRIES         3
-#define INTERNET_OPTION_CONNECT_BACKOFF         4
-#define INTERNET_OPTION_SEND_TIMEOUT            5
-#define INTERNET_OPTION_CONTROL_SEND_TIMEOUT    INTERNET_OPTION_SEND_TIMEOUT
-#define INTERNET_OPTION_RECEIVE_TIMEOUT         6
-#define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT
-#define INTERNET_OPTION_DATA_SEND_TIMEOUT       7
-#define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT    8
-#define INTERNET_OPTION_HANDLE_TYPE             9
-#define INTERNET_OPTION_LISTEN_TIMEOUT          11
-#define INTERNET_OPTION_READ_BUFFER_SIZE        12
-#define INTERNET_OPTION_WRITE_BUFFER_SIZE       13
-#define INTERNET_OPTION_ASYNC_ID                15
-#define INTERNET_OPTION_ASYNC_PRIORITY          16
-#define INTERNET_OPTION_PARENT_HANDLE           21
-#define INTERNET_OPTION_KEEP_CONNECTION         22
-#define INTERNET_OPTION_REQUEST_FLAGS           23
-#define INTERNET_OPTION_EXTENDED_ERROR          24
-#define INTERNET_OPTION_OFFLINE_MODE            26
-#define INTERNET_OPTION_CACHE_STREAM_HANDLE     27
-#define INTERNET_OPTION_USERNAME                28
-#define INTERNET_OPTION_PASSWORD                29
-#define INTERNET_OPTION_ASYNC                   30
-#define INTERNET_OPTION_SECURITY_FLAGS          31
-#define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32
-#define INTERNET_OPTION_DATAFILE_NAME           33
-#define INTERNET_OPTION_URL                     34
-#define INTERNET_OPTION_SECURITY_CERTIFICATE    35
-#define INTERNET_OPTION_SECURITY_KEY_BITNESS    36
-#define INTERNET_OPTION_REFRESH                 37
-#define INTERNET_OPTION_PROXY                   38
-#define INTERNET_OPTION_SETTINGS_CHANGED        39
-#define INTERNET_OPTION_VERSION                 40
-#define INTERNET_OPTION_USER_AGENT              41
-#define INTERNET_OPTION_END_BROWSER_SESSION     42
-#define INTERNET_OPTION_PROXY_USERNAME          43
-#define INTERNET_OPTION_PROXY_PASSWORD          44
-#define INTERNET_OPTION_CONTEXT_VALUE           45
-#define INTERNET_OPTION_CONNECT_LIMIT           46
-#define INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT 47
-#define INTERNET_OPTION_POLICY                  48
-#define INTERNET_OPTION_DISCONNECTED_TIMEOUT    49
-#define INTERNET_OPTION_CONNECTED_STATE         50
-#define INTERNET_OPTION_IDLE_STATE              51
-#define INTERNET_OPTION_OFFLINE_SEMANTICS       52
-#define INTERNET_OPTION_SECONDARY_CACHE_KEY     53
-#define INTERNET_OPTION_CALLBACK_FILTER         54
-#define INTERNET_OPTION_CONNECT_TIME            55
-#define INTERNET_OPTION_SEND_THROUGHPUT         56
-#define INTERNET_OPTION_RECEIVE_THROUGHPUT      57
-#define INTERNET_OPTION_REQUEST_PRIORITY        58
-#define INTERNET_OPTION_HTTP_VERSION            59
-#define INTERNET_OPTION_RESET_URLCACHE_SESSION  60
-#define INTERNET_OPTION_ERROR_MASK              62
-#define INTERNET_OPTION_CODEPAGE                68
-#define INTERNET_OPTION_COOKIES_3RD_PARTY       86
-#define INTERNET_OPTION_PROXY_SETTINGS_CHANGED  95
-#define INTERNET_FIRST_OPTION                   INTERNET_OPTION_CALLBACK
-#define INTERNET_LAST_OPTION                    INTERNET_OPTION_PROXY_SETTINGS_CHANGED
-
-#define INTERNET_PRIORITY_FOREGROUND            1000
-#define INTERNET_HANDLE_TYPE_INTERNET           1
-#define INTERNET_HANDLE_TYPE_CONNECT_FTP        2
-#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER     3
-#define INTERNET_HANDLE_TYPE_CONNECT_HTTP       4
-#define INTERNET_HANDLE_TYPE_FTP_FIND           5
-#define INTERNET_HANDLE_TYPE_FTP_FIND_HTML      6
-#define INTERNET_HANDLE_TYPE_FTP_FILE           7
-#define INTERNET_HANDLE_TYPE_FTP_FILE_HTML      8
-#define INTERNET_HANDLE_TYPE_GOPHER_FIND        9
-#define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML   10
-#define INTERNET_HANDLE_TYPE_GOPHER_FILE        11
-#define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML   12
-#define INTERNET_HANDLE_TYPE_HTTP_REQUEST       13
-#define SECURITY_FLAG_SECURE                    0x00000001
-#define SECURITY_FLAG_STRENGTH_WEAK             0x10000000
-#define SECURITY_FLAG_STRENGTH_MEDIUM           0x40000000
-#define SECURITY_FLAG_STRENGTH_STRONG           0x20000000
-#define SECURITY_FLAG_UNKNOWNBIT                0x80000000
-#define SECURITY_FLAG_NORMALBITNESS             SECURITY_FLAG_STRENGTH_WEAK
-#define SECURITY_FLAG_SSL                       0x00000002
-#define SECURITY_FLAG_SSL3                      0x00000004
-#define SECURITY_FLAG_PCT                       0x00000008
-#define SECURITY_FLAG_PCT4                      0x00000010
-#define SECURITY_FLAG_IETFSSL4                  0x00000020
-#define SECURITY_FLAG_40BIT                     SECURITY_FLAG_STRENGTH_WEAK
-#define SECURITY_FLAG_128BIT                    SECURITY_FLAG_STRENGTH_STRONG
-#define SECURITY_FLAG_56BIT                     SECURITY_FLAG_STRENGTH_MEDIUM
-#define SECURITY_FLAG_IGNORE_REVOCATION         0x00000080
-#define SECURITY_FLAG_IGNORE_UNKNOWN_CA         0x00000100
-#define SECURITY_FLAG_IGNORE_WRONG_USAGE        0x00000200
-#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID    INTERNET_FLAG_IGNORE_CERT_CN_INVALID
-#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID  INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
-#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS  INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
-#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP   INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
-#define SECURITY_SET_MASK       (SECURITY_FLAG_IGNORE_REVOCATION |\
-                                 SECURITY_FLAG_IGNORE_UNKNOWN_CA |\
-                                 SECURITY_FLAG_IGNORE_CERT_CN_INVALID |\
-                                 SECURITY_FLAG_IGNORE_CERT_DATE_INVALID |\
-                                 SECURITY_FLAG_IGNORE_WRONG_USAGE)
-
-
-
-BOOLAPI InternetGetLastResponseInfoA(LPDWORD ,LPSTR lpszBuffer ,LPDWORD);
-BOOLAPI InternetGetLastResponseInfoW(LPDWORD ,LPWSTR lpszBuffer ,LPDWORD);
-#define InternetGetLastResponseInfo  WINELIB_NAME_AW(InternetGetLastResponseInfo)
-
-typedef VOID (CALLBACK *INTERNET_STATUS_CALLBACK)(HINTERNET ,DWORD ,DWORD ,
-	LPVOID lpvStatusInformation ,DWORD);
-
-typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK;
-
-INTERNETAPI INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallbackA(HINTERNET ,INTERNET_STATUS_CALLBACK);
-INTERNETAPI INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallbackW(HINTERNET ,INTERNET_STATUS_CALLBACK);
-#define InternetSetStatusCallback WINELIB_NAME_AW(InternetSetStatusCallback)
-
-#define INTERNET_STATUS_RESOLVING_NAME          10
-#define INTERNET_STATUS_NAME_RESOLVED           11
-#define INTERNET_STATUS_CONNECTING_TO_SERVER    20
-#define INTERNET_STATUS_CONNECTED_TO_SERVER     21
-#define INTERNET_STATUS_SENDING_REQUEST         30
-#define INTERNET_STATUS_REQUEST_SENT            31
-#define INTERNET_STATUS_RECEIVING_RESPONSE      40
-#define INTERNET_STATUS_RESPONSE_RECEIVED       41
-#define INTERNET_STATUS_CTL_RESPONSE_RECEIVED   42
-#define INTERNET_STATUS_PREFETCH                43
-#define INTERNET_STATUS_CLOSING_CONNECTION      50
-#define INTERNET_STATUS_CONNECTION_CLOSED       51
-#define INTERNET_STATUS_HANDLE_CREATED          60
-#define INTERNET_STATUS_HANDLE_CLOSING          70
-#define INTERNET_STATUS_REQUEST_COMPLETE        100
-#define INTERNET_STATUS_REDIRECT                110
-#define INTERNET_STATUS_INTERMEDIATE_RESPONSE   120
-#define INTERNET_STATUS_USER_INPUT_REQUIRED     140
-#define INTERNET_STATUS_STATE_CHANGE            200
-#define INTERNET_STATUS_COOKIE_SENT             320
-#define INTERNET_STATUS_COOKIE_RECEIVED         321
-#define INTERNET_STATUS_PRIVACY_IMPACTED        324
-#define INTERNET_STATUS_P3P_HEADER              325
-#define INTERNET_STATUS_P3P_POLICYREF           326
-#define INTERNET_STATUS_COOKIE_HISTORY          327
-#define INTERNET_STATE_CONNECTED                0x00000001
-#define INTERNET_STATE_DISCONNECTED             0x00000002
-#define INTERNET_STATE_DISCONNECTED_BY_USER     0x00000010
-#define INTERNET_STATE_IDLE                     0x00000100
-#define INTERNET_STATE_BUSY                     0x00000200
-
-#define INTERNET_INVALID_STATUS_CALLBACK        ((INTERNET_STATUS_CALLBACK)(-1L))
-
-#define FTP_TRANSFER_TYPE_UNKNOWN   0x00000000
-#define FTP_TRANSFER_TYPE_ASCII     0x00000001
-#define FTP_TRANSFER_TYPE_BINARY    0x00000002
-#define FTP_TRANSFER_TYPE_MASK      (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY)
-
-
-INTERNETAPI HINTERNET WINAPI FtpFindFirstFileA(HINTERNET ,LPCSTR lpszSearchFile ,
-	LPWIN32_FIND_DATAA lpFindFileData ,DWORD ,DWORD);
-INTERNETAPI HINTERNET WINAPI FtpFindFirstFileW(HINTERNET ,LPCWSTR lpszSearchFile ,
-	LPWIN32_FIND_DATAW lpFindFileData ,DWORD ,DWORD);
-#define FtpFindFirstFile  WINELIB_NAME_AW(FtpFindFirstFile)
-
-BOOLAPI FtpGetFileA(HINTERNET ,LPCSTR ,LPCSTR ,BOOL ,DWORD ,DWORD ,DWORD);
-BOOLAPI FtpGetFileW(HINTERNET ,LPCWSTR ,LPCWSTR ,BOOL ,DWORD ,DWORD ,DWORD);
-#define FtpGetFile  WINELIB_NAME_AW(FtpGetFile)
-
-BOOLAPI FtpPutFileA(HINTERNET ,LPCSTR ,LPCSTR ,DWORD ,DWORD);
-BOOLAPI FtpPutFileW(HINTERNET ,LPCWSTR ,LPCWSTR ,DWORD ,DWORD);
-#define FtpPutFile  WINELIB_NAME_AW(FtpPutFile)
-
-BOOLAPI FtpDeleteFileA(HINTERNET ,LPCSTR);
-BOOLAPI FtpDeleteFileW(HINTERNET ,LPCWSTR);
-#define FtpDeleteFile  WINELIB_NAME_AW(FtpDeleteFile)
-
-BOOLAPI FtpRenameFileA(HINTERNET ,LPCSTR ,LPCSTR);
-BOOLAPI FtpRenameFileW(HINTERNET ,LPCWSTR ,LPCWSTR);
-#define FtpRenameFile  WINELIB_NAME_AW(FtpRenameFile)
-
-INTERNETAPI HINTERNET WINAPI FtpOpenFileA(HINTERNET ,LPCSTR ,DWORD ,DWORD ,DWORD);
-INTERNETAPI HINTERNET WINAPI FtpOpenFileW(HINTERNET ,LPCWSTR ,DWORD ,DWORD ,DWORD);
-#define FtpOpenFile  WINELIB_NAME_AW(FtpOpenFile)
-
-BOOLAPI FtpCreateDirectoryA(HINTERNET ,LPCSTR);
-BOOLAPI FtpCreateDirectoryW(HINTERNET ,LPCWSTR);
-#define FtpCreateDirectory  WINELIB_NAME_AW(FtpCreateDirectory)
-
-BOOLAPI FtpRemoveDirectoryA(HINTERNET ,LPCSTR);
-BOOLAPI FtpRemoveDirectoryW(HINTERNET ,LPCWSTR);
-#define FtpRemoveDirectory  WINELIB_NAME_AW(FtpRemoveDirectory)
-
-BOOLAPI FtpSetCurrentDirectoryA(HINTERNET ,LPCSTR);
-BOOLAPI FtpSetCurrentDirectoryW(HINTERNET ,LPCWSTR);
-#define FtpSetCurrentDirectory  WINELIB_NAME_AW(FtpSetCurrentDirectory)
-
-BOOLAPI FtpGetCurrentDirectoryA(HINTERNET ,LPSTR ,LPDWORD);
-BOOLAPI FtpGetCurrentDirectoryW(HINTERNET ,LPWSTR ,LPDWORD);
-#define FtpGetCurrentDirectory  WINELIB_NAME_AW(FtpGetCurrentDirectory)
-
-#define MAX_GOPHER_DISPLAY_TEXT     128
-#define MAX_GOPHER_SELECTOR_TEXT    256
-#define MAX_GOPHER_HOST_NAME        INTERNET_MAX_HOST_NAME_LENGTH
-#define MAX_GOPHER_LOCATOR_LENGTH   (1                                  \
-                                    + MAX_GOPHER_DISPLAY_TEXT           \
-                                    + 1                                 \
-                                    + MAX_GOPHER_SELECTOR_TEXT          \
-                                    + 1                                 \
-                                    + MAX_GOPHER_HOST_NAME              \
-                                    + 1                                 \
-                                    + INTERNET_MAX_PORT_NUMBER_LENGTH   \
-                                    + 1                                 \
-                                    + 1                                 \
-                                    + 2                                 \
-                                    )
-
-
-typedef struct {
-    CHAR   DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1];
-    DWORD GopherType;
-    DWORD SizeLow;
-    DWORD SizeHigh;
-    FILETIME LastModificationTime;
-    CHAR   Locator[MAX_GOPHER_LOCATOR_LENGTH + 1];
-} GOPHER_FIND_DATAA,* LPGOPHER_FIND_DATAA;
-
-typedef struct {
-    WCHAR  DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1];
-    DWORD GopherType;
-    DWORD SizeLow;
-    DWORD SizeHigh;
-    FILETIME LastModificationTime;
-    WCHAR  Locator[MAX_GOPHER_LOCATOR_LENGTH + 1];
-} GOPHER_FIND_DATAW,* LPGOPHER_FIND_DATAW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_FIND_DATA)
-DECL_WINELIB_TYPE_AW(LPGOPHER_FIND_DATA)
-
-#define GOPHER_TYPE_TEXT_FILE       0x00000001
-#define GOPHER_TYPE_DIRECTORY       0x00000002
-#define GOPHER_TYPE_CSO             0x00000004
-#define GOPHER_TYPE_ERROR           0x00000008
-#define GOPHER_TYPE_MAC_BINHEX      0x00000010
-#define GOPHER_TYPE_DOS_ARCHIVE     0x00000020
-#define GOPHER_TYPE_UNIX_UUENCODED  0x00000040
-#define GOPHER_TYPE_INDEX_SERVER    0x00000080
-#define GOPHER_TYPE_TELNET          0x00000100
-#define GOPHER_TYPE_BINARY          0x00000200
-#define GOPHER_TYPE_REDUNDANT       0x00000400
-#define GOPHER_TYPE_TN3270          0x00000800
-#define GOPHER_TYPE_GIF             0x00001000
-#define GOPHER_TYPE_IMAGE           0x00002000
-#define GOPHER_TYPE_BITMAP          0x00004000
-#define GOPHER_TYPE_MOVIE           0x00008000
-#define GOPHER_TYPE_SOUND           0x00010000
-#define GOPHER_TYPE_HTML            0x00020000
-#define GOPHER_TYPE_PDF             0x00040000
-#define GOPHER_TYPE_CALENDAR        0x00080000
-#define GOPHER_TYPE_INLINE          0x00100000
-#define GOPHER_TYPE_UNKNOWN         0x20000000
-#define GOPHER_TYPE_ASK             0x40000000
-#define GOPHER_TYPE_GOPHER_PLUS     0x80000000
-
-#define IS_GOPHER_FILE(type)            (BOOL)(((type) & GOPHER_TYPE_FILE_MASK) ? TRUE : FALSE)
-#define IS_GOPHER_DIRECTORY(type)       (BOOL)(((type) & GOPHER_TYPE_DIRECTORY) ? TRUE : FALSE)
-#define IS_GOPHER_PHONE_SERVER(type)    (BOOL)(((type) & GOPHER_TYPE_CSO) ? TRUE : FALSE)
-#define IS_GOPHER_ERROR(type)           (BOOL)(((type) & GOPHER_TYPE_ERROR) ? TRUE : FALSE)
-#define IS_GOPHER_INDEX_SERVER(type)    (BOOL)(((type) & GOPHER_TYPE_INDEX_SERVER) ? TRUE : FALSE)
-#define IS_GOPHER_TELNET_SESSION(type)  (BOOL)(((type) & GOPHER_TYPE_TELNET) ? TRUE : FALSE)
-#define IS_GOPHER_BACKUP_SERVER(type)   (BOOL)(((type) & GOPHER_TYPE_REDUNDANT) ? TRUE : FALSE)
-#define IS_GOPHER_TN3270_SESSION(type)  (BOOL)(((type) & GOPHER_TYPE_TN3270) ? TRUE : FALSE)
-#define IS_GOPHER_ASK(type)             (BOOL)(((type) & GOPHER_TYPE_ASK) ? TRUE : FALSE)
-#define IS_GOPHER_PLUS(type)            (BOOL)(((type) & GOPHER_TYPE_GOPHER_PLUS) ? TRUE : FALSE)
-#define IS_GOPHER_TYPE_KNOWN(type)      (BOOL)(((type) & GOPHER_TYPE_UNKNOWN) ? FALSE : TRUE)
-#define GOPHER_TYPE_FILE_MASK       (GOPHER_TYPE_TEXT_FILE \
-                                    | GOPHER_TYPE_MAC_BINHEX        \
-                                    | GOPHER_TYPE_DOS_ARCHIVE       \
-                                    | GOPHER_TYPE_UNIX_UUENCODED    \
-                                    | GOPHER_TYPE_BINARY            \
-                                    | GOPHER_TYPE_GIF               \
-                                    | GOPHER_TYPE_IMAGE             \
-                                    | GOPHER_TYPE_BITMAP            \
-                                    | GOPHER_TYPE_MOVIE             \
-                                    | GOPHER_TYPE_SOUND             \
-                                    | GOPHER_TYPE_HTML              \
-                                    | GOPHER_TYPE_PDF               \
-                                    | GOPHER_TYPE_CALENDAR          \
-                                    | GOPHER_TYPE_INLINE            \
-                                    )
-
-
-typedef struct {
-    LPCSTR Comment;
-    LPCSTR EmailAddress;
-} GOPHER_ADMIN_ATTRIBUTE_TYPEA,* LPGOPHER_ADMIN_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR Comment;
-    LPCWSTR EmailAddress;
-} GOPHER_ADMIN_ATTRIBUTE_TYPEW,* LPGOPHER_ADMIN_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_ADMIN_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_ADMIN_ATTRIBUTE_TYPE)
-
-typedef struct {
-    FILETIME DateAndTime;
-} GOPHER_MOD_DATE_ATTRIBUTE_TYPE,* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE;
-
-typedef struct {
-    DWORD Ttl;
-} GOPHER_TTL_ATTRIBUTE_TYPE,* LPGOPHER_TTL_ATTRIBUTE_TYPE;
-
-typedef struct {
-    INT Score;
-} GOPHER_SCORE_ATTRIBUTE_TYPE,* LPGOPHER_SCORE_ATTRIBUTE_TYPE;
-
-typedef struct {
-    INT LowerBound;
-    INT UpperBound;
-} GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE,* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE;
-
-typedef struct {
-    LPCSTR Site;
-} GOPHER_SITE_ATTRIBUTE_TYPEA,* LPGOPHER_SITE_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR Site;
-} GOPHER_SITE_ATTRIBUTE_TYPEW,* LPGOPHER_SITE_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_SITE_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_SITE_ATTRIBUTE_TYPE)
-
-typedef struct {
-    LPCSTR Organization;
-} GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA,* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR Organization;
-} GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW,* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_ORGANIZATION_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE)
-
-typedef struct {
-    LPCSTR Location;
-} GOPHER_LOCATION_ATTRIBUTE_TYPEA,* LPGOPHER_LOCATION_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR Location;
-} GOPHER_LOCATION_ATTRIBUTE_TYPEW,* LPGOPHER_LOCATION_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_LOCATION_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_LOCATION_ATTRIBUTE_TYPE)
-
-typedef struct {
-    INT DegreesNorth;
-    INT MinutesNorth;
-    INT SecondsNorth;
-    INT DegreesEast;
-    INT MinutesEast;
-    INT SecondsEast;
-} GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE,* LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE;
-
-typedef struct {
-    INT Zone;
-} GOPHER_TIMEZONE_ATTRIBUTE_TYPE,* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE;
-
-typedef struct {
-    LPCSTR Provider;
-} GOPHER_PROVIDER_ATTRIBUTE_TYPEA,* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR Provider;
-} GOPHER_PROVIDER_ATTRIBUTE_TYPEW,* LPGOPHER_PROVIDER_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_PROVIDER_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_PROVIDER_ATTRIBUTE_TYPE)
-
-typedef struct {
-    LPCSTR Version;
-} GOPHER_VERSION_ATTRIBUTE_TYPEA,* LPGOPHER_VERSION_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR Version;
-} GOPHER_VERSION_ATTRIBUTE_TYPEW,* LPGOPHER_VERSION_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_VERSION_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_VERSION_ATTRIBUTE_TYPE)
-
-typedef struct {
-    LPCSTR ShortAbstract;
-    LPCSTR AbstractFile;
-} GOPHER_ABSTRACT_ATTRIBUTE_TYPEA,* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR ShortAbstract;
-    LPCWSTR AbstractFile;
-} GOPHER_ABSTRACT_ATTRIBUTE_TYPEW,* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_ABSTRACT_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE)
-
-typedef struct {
-    LPCSTR ContentType;
-    LPCSTR Language;
-    DWORD Size;
-} GOPHER_VIEW_ATTRIBUTE_TYPEA,* LPGOPHER_VIEW_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR ContentType;
-    LPCWSTR Language;
-    DWORD Size;
-} GOPHER_VIEW_ATTRIBUTE_TYPEW,* LPGOPHER_VIEW_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_VIEW_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_VIEW_ATTRIBUTE_TYPE)
-
-typedef struct {
-    BOOL TreeWalk;
-} GOPHER_VERONICA_ATTRIBUTE_TYPE,* LPGOPHER_VERONICA_ATTRIBUTE_TYPE;
-
-typedef struct {
-    LPCSTR QuestionType;
-    LPCSTR QuestionText;
-} GOPHER_ASK_ATTRIBUTE_TYPEA,* LPGOPHER_ASK_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR QuestionType;
-    LPCWSTR QuestionText;
-} GOPHER_ASK_ATTRIBUTE_TYPEW,* LPGOPHER_ASK_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_ASK_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_ASK_ATTRIBUTE_TYPE)
-
-typedef struct {
-    LPCSTR Text;
-} GOPHER_UNKNOWN_ATTRIBUTE_TYPEA,* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    LPCWSTR Text;
-} GOPHER_UNKNOWN_ATTRIBUTE_TYPEW,* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_UNKNOWN_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE)
-
-typedef struct {
-    DWORD CategoryId;
-    DWORD AttributeId;
-    union {
-        GOPHER_ADMIN_ATTRIBUTE_TYPEA Admin;
-        GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate;
-        GOPHER_TTL_ATTRIBUTE_TYPE Ttl;
-        GOPHER_SCORE_ATTRIBUTE_TYPE Score;
-        GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange;
-        GOPHER_SITE_ATTRIBUTE_TYPEA Site;
-        GOPHER_ORGANIZATION_ATTRIBUTE_TYPEA Organization;
-        GOPHER_LOCATION_ATTRIBUTE_TYPEA Location;
-        GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation;
-        GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone;
-        GOPHER_PROVIDER_ATTRIBUTE_TYPEA Provider;
-        GOPHER_VERSION_ATTRIBUTE_TYPEA Version;
-        GOPHER_ABSTRACT_ATTRIBUTE_TYPEA Abstract;
-        GOPHER_VIEW_ATTRIBUTE_TYPEA View;
-        GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica;
-        GOPHER_ASK_ATTRIBUTE_TYPEA Ask;
-        GOPHER_UNKNOWN_ATTRIBUTE_TYPEA Unknown;
-    } AttributeType;
-} GOPHER_ATTRIBUTE_TYPEA, *LPGOPHER_ATTRIBUTE_TYPEA;
-
-typedef struct {
-    DWORD CategoryId;
-    DWORD AttributeId;
-    union {
-        GOPHER_ADMIN_ATTRIBUTE_TYPEW Admin;
-        GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate;
-        GOPHER_TTL_ATTRIBUTE_TYPE Ttl;
-        GOPHER_SCORE_ATTRIBUTE_TYPE Score;
-        GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange;
-        GOPHER_SITE_ATTRIBUTE_TYPEW Site;
-        GOPHER_ORGANIZATION_ATTRIBUTE_TYPEW Organization;
-        GOPHER_LOCATION_ATTRIBUTE_TYPEW Location;
-        GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation;
-        GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone;
-        GOPHER_PROVIDER_ATTRIBUTE_TYPEW Provider;
-        GOPHER_VERSION_ATTRIBUTE_TYPEW Version;
-        GOPHER_ABSTRACT_ATTRIBUTE_TYPEW Abstract;
-        GOPHER_VIEW_ATTRIBUTE_TYPEW View;
-        GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica;
-        GOPHER_ASK_ATTRIBUTE_TYPEW Ask;
-        GOPHER_UNKNOWN_ATTRIBUTE_TYPEW Unknown;
-    } AttributeType;
-} GOPHER_ATTRIBUTE_TYPEW, *LPGOPHER_ATTRIBUTE_TYPEW;
-
-DECL_WINELIB_TYPE_AW(GOPHER_ATTRIBUTE_TYPE)
-DECL_WINELIB_TYPE_AW(LPGOPHER_ATTRIBUTE_TYPE)
-
-#define MAX_GOPHER_CATEGORY_NAME    128
-#define MAX_GOPHER_ATTRIBUTE_NAME   128
-#define MIN_GOPHER_ATTRIBUTE_LENGTH 256
-
-#define GOPHER_INFO_CATEGORY        TEXT("+INFO")
-#define GOPHER_ADMIN_CATEGORY       TEXT("+ADMIN")
-#define GOPHER_VIEWS_CATEGORY       TEXT("+VIEWS")
-#define GOPHER_ABSTRACT_CATEGORY    TEXT("+ABSTRACT")
-#define GOPHER_VERONICA_CATEGORY    TEXT("+VERONICA")
-#define GOPHER_ADMIN_ATTRIBUTE      TEXT("Admin")
-#define GOPHER_MOD_DATE_ATTRIBUTE   TEXT("Mod-Date")
-#define GOPHER_TTL_ATTRIBUTE        TEXT("TTL")
-#define GOPHER_SCORE_ATTRIBUTE      TEXT("Score")
-#define GOPHER_RANGE_ATTRIBUTE      TEXT("Score-range")
-#define GOPHER_SITE_ATTRIBUTE       TEXT("Site")
-#define GOPHER_ORG_ATTRIBUTE        TEXT("Org")
-#define GOPHER_LOCATION_ATTRIBUTE   TEXT("Loc")
-#define GOPHER_GEOG_ATTRIBUTE       TEXT("Geog")
-#define GOPHER_TIMEZONE_ATTRIBUTE   TEXT("TZ")
-#define GOPHER_PROVIDER_ATTRIBUTE   TEXT("Provider")
-#define GOPHER_VERSION_ATTRIBUTE    TEXT("Version")
-#define GOPHER_ABSTRACT_ATTRIBUTE   TEXT("Abstract")
-#define GOPHER_VIEW_ATTRIBUTE       TEXT("View")
-#define GOPHER_TREEWALK_ATTRIBUTE   TEXT("treewalk")
-
-#define GOPHER_ATTRIBUTE_ID_BASE        0xabcccc00
-
-#define GOPHER_CATEGORY_ID_ALL          (GOPHER_ATTRIBUTE_ID_BASE + 1)
-#define GOPHER_CATEGORY_ID_INFO         (GOPHER_ATTRIBUTE_ID_BASE + 2)
-#define GOPHER_CATEGORY_ID_ADMIN        (GOPHER_ATTRIBUTE_ID_BASE + 3)
-#define GOPHER_CATEGORY_ID_VIEWS        (GOPHER_ATTRIBUTE_ID_BASE + 4)
-#define GOPHER_CATEGORY_ID_ABSTRACT     (GOPHER_ATTRIBUTE_ID_BASE + 5)
-#define GOPHER_CATEGORY_ID_VERONICA     (GOPHER_ATTRIBUTE_ID_BASE + 6)
-#define GOPHER_CATEGORY_ID_ASK          (GOPHER_ATTRIBUTE_ID_BASE + 7)
-#define GOPHER_CATEGORY_ID_UNKNOWN      (GOPHER_ATTRIBUTE_ID_BASE + 8)
-
-#define GOPHER_ATTRIBUTE_ID_ALL         (GOPHER_ATTRIBUTE_ID_BASE + 9)
-#define GOPHER_ATTRIBUTE_ID_ADMIN       (GOPHER_ATTRIBUTE_ID_BASE + 10)
-#define GOPHER_ATTRIBUTE_ID_MOD_DATE    (GOPHER_ATTRIBUTE_ID_BASE + 11)
-#define GOPHER_ATTRIBUTE_ID_TTL         (GOPHER_ATTRIBUTE_ID_BASE + 12)
-#define GOPHER_ATTRIBUTE_ID_SCORE       (GOPHER_ATTRIBUTE_ID_BASE + 13)
-#define GOPHER_ATTRIBUTE_ID_RANGE       (GOPHER_ATTRIBUTE_ID_BASE + 14)
-#define GOPHER_ATTRIBUTE_ID_SITE        (GOPHER_ATTRIBUTE_ID_BASE + 15)
-#define GOPHER_ATTRIBUTE_ID_ORG         (GOPHER_ATTRIBUTE_ID_BASE + 16)
-#define GOPHER_ATTRIBUTE_ID_LOCATION    (GOPHER_ATTRIBUTE_ID_BASE + 17)
-#define GOPHER_ATTRIBUTE_ID_GEOG        (GOPHER_ATTRIBUTE_ID_BASE + 18)
-#define GOPHER_ATTRIBUTE_ID_TIMEZONE    (GOPHER_ATTRIBUTE_ID_BASE + 19)
-#define GOPHER_ATTRIBUTE_ID_PROVIDER    (GOPHER_ATTRIBUTE_ID_BASE + 20)
-#define GOPHER_ATTRIBUTE_ID_VERSION     (GOPHER_ATTRIBUTE_ID_BASE + 21)
-#define GOPHER_ATTRIBUTE_ID_ABSTRACT    (GOPHER_ATTRIBUTE_ID_BASE + 22)
-#define GOPHER_ATTRIBUTE_ID_VIEW        (GOPHER_ATTRIBUTE_ID_BASE + 23)
-#define GOPHER_ATTRIBUTE_ID_TREEWALK    (GOPHER_ATTRIBUTE_ID_BASE + 24)
-#define GOPHER_ATTRIBUTE_ID_UNKNOWN     (GOPHER_ATTRIBUTE_ID_BASE + 25)
-
-BOOLAPI GopherCreateLocatorA(LPCSTR ,INTERNET_PORT ,LPCSTR lpszDisplayString ,
-	LPCSTR lpszSelectorString ,DWORD ,LPSTR lpszLocator ,LPDWORD);
-BOOLAPI GopherCreateLocatorW(LPCWSTR ,INTERNET_PORT ,LPCWSTR lpszDisplayString ,
-	LPCWSTR lpszSelectorString ,DWORD ,LPWSTR lpszLocator ,LPDWORD);
-#define GopherCreateLocator  WINELIB_NAME_AW(GopherCreateLocator)
-
-BOOLAPI GopherGetLocatorTypeA(LPCSTR ,LPDWORD);
-BOOLAPI GopherGetLocatorTypeW(LPCWSTR ,LPDWORD);
-#define GopherGetLocatorType  WINELIB_NAME_AW(GopherGetLocatorType)
-
-INTERNETAPI HINTERNET WINAPI GopherFindFirstFileA(HINTERNET ,LPCSTR lpszLocator ,
-	LPCSTR lpszSearchString ,LPGOPHER_FIND_DATAA lpFindData ,DWORD ,DWORD);
-INTERNETAPI HINTERNET WINAPI GopherFindFirstFileW(HINTERNET ,LPCWSTR lpszLocator ,
-	LPCWSTR lpszSearchString ,LPGOPHER_FIND_DATAW lpFindData ,DWORD ,DWORD);
-#define GopherFindFirstFile  WINELIB_NAME_AW(GopherFindFirstFile)
-
-INTERNETAPI HINTERNET WINAPI GopherOpenFileA(HINTERNET ,LPCSTR ,LPCSTR lpszView ,DWORD ,DWORD);
-INTERNETAPI HINTERNET WINAPI GopherOpenFileW(HINTERNET ,LPCWSTR ,LPCWSTR lpszView ,DWORD ,DWORD);
-#define GopherOpenFile  WINELIB_NAME_AW(GopherOpenFile)
-
-typedef BOOL (CALLBACK *GOPHER_ATTRIBUTE_ENUMERATORA)(LPGOPHER_ATTRIBUTE_TYPEA ,DWORD);
-typedef BOOL (CALLBACK *GOPHER_ATTRIBUTE_ENUMERATORW)(LPGOPHER_ATTRIBUTE_TYPEW ,DWORD);
-
-DECL_WINELIB_TYPE_AW(GOPHER_ATTRIBUTE_ENUMERATOR)
-
-BOOLAPI GopherGetAttributeA(HINTERNET ,LPCSTR ,LPCSTR lpszAttributeName ,LPBYTE ,
[truncated at 1000 lines; 557 more skipped]