ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
April 2005
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
26 participants
477 discussions
Start a n
N
ew thread
[sedwards] 14693: added wine wininet.h
by sedwards@svn.reactos.com
added wine wininet.h Deleted: trunk/reactos/w32api/include/wininet.h Added: trunk/reactos/w32api/include/wininet.h.w32 _____ Deleted: trunk/reactos/w32api/include/wininet.h --- trunk/reactos/w32api/include/wininet.h 2005-04-19 04:57:39 UTC (rev 14692) +++ trunk/reactos/w32api/include/wininet.h 2005-04-19 05:00:05 UTC (rev 14693) @@ -1,921 +0,0 @@ -#ifndef _WININET_H -#define _WININET_H -#if __GNUC__ >=3 -#pragma GCC system_header -#endif - -#include <windows.h> -#ifdef __cplusplus -extern "C" { -#endif -#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 MAX_CACHE_ENTRY_INFO_SIZE 4096 -#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 1 -#define INTERNET_REQFLAG_ASYNC 2 -#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_OFFLINE 0x1000000 -#define INTERNET_FLAG_SECURE 0x800000 -#define INTERNET_FLAG_KEEP_CONNECTION 0x400000 -#define INTERNET_FLAG_NO_AUTO_REDIRECT 0x200000 -#define INTERNET_FLAG_READ_PREFETCH 0x100000 -#define INTERNET_FLAG_NO_COOKIES 0x80000 -#define INTERNET_FLAG_NO_AUTH 0x40000 -#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x8000 -#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x4000 -#define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x2000 -#define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x1000 -#define INTERNET_FLAG_MUST_CACHE_REQUEST 16 -#define INTERNET_FLAG_RESYNCHRONIZE 0x800 -#define INTERNET_FLAG_HYPERLINK 0x400 -#define INTERNET_FLAG_NO_UI 0x200 -#define INTERNET_FLAG_PRAGMA_NOCACHE 0x100 -#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_INV ALID|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS|INTERNET_FLAG_IGNORE_REDIREC T_TO_HTTP) -#define SECURITY_SET_MASK SECURITY_INTERNET_MASK -#define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD|INTERNET_FLAG_RAW_DATA|INTERNET_FLAG_EXISTING_CONN ECT|\ -INTERNET_FLAG_ASYNC|INTERNET_FLAG_PASSIVE|INTERNET_FLAG_NO_CACHE_WRITE| INTERNET_FLAG_MAKE_PERSISTENT|INTERNET_FLAG_OFFLINE|\ -INTERNET_FLAG_SECURE|INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_NO_AUT O_REDIRECT|INTERNET_FLAG_READ_PREFETCH |\ -INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_AUTH|SECURITY_INTERNET_MASK|I NTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_TRANSFER_BINARY\ -|INTERNET_FLAG_RESYNCHRONIZE|INTERNET_FLAG_MUST_CACHE_REQUEST|INTERNET_ FLAG_HYPERLINK|INTERNET_FLAG_NO_UI) -#define INTERNET_OPTIONS_MASK (~INTERNET_FLAGS_MASK) -#define INTERNET_NO_CALLBACK 0 -#define INTERNET_RFC1123_FORMAT 0 -#define INTERNET_RFC1123_BUFSIZE 30 -#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 -#define INTERNET_OPEN_TYPE_PRECONFIG 0 -#define INTERNET_OPEN_TYPE_DIRECT 1 -#define INTERNET_OPEN_TYPE_PROXY 3 -#define PRE_CONFIG_INTERNET_ACCESS INTERNET_OPEN_TYPE_PRECONFIG -#define LOCAL_INTERNET_ACCESS INTERNET_OPEN_TYPE_DIRECT -#define GATEWAY_INTERNET_ACCESS 2 -#define CERN_PROXY_INTERNET_ACCESS INTERNET_OPEN_TYPE_PROXY -#define ISO_GLOBAL 1 -#define ISO_REGISTRY 2 -#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_CONTEXT_VALUE 10 -#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_FIRST_OPTION INTERNET_OPTION_CALLBACK -#define INTERNET_LAST_OPTION INTERNET_OPTION_USER_AGENT -#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 1 -#define SECURITY_FLAG_SSL 2 -#define SECURITY_FLAG_SSL3 4 -#define SECURITY_FLAG_PCT 8 -#define SECURITY_FLAG_PCT4 16 -#define SECURITY_FLAG_IETFSSL4 0x20 -#define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080 -#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100 -#define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200 -#define SECURITY_FLAG_40BIT 0x10000000 -#define SECURITY_FLAG_128BIT 0x20000000 -#define SECURITY_FLAG_56BIT 0x40000000 -#define SECURITY_FLAG_UNKNOWNBIT 0x80000000 -#define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_40BIT -#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 INTERNET_SERVICE_FTP 1 -#define INTERNET_SERVICE_GOPHER 2 -#define INTERNET_SERVICE_HTTP 3 -#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_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(-1L)) -#define FTP_TRANSFER_TYPE_UNKNOWN 0 -#define FTP_TRANSFER_TYPE_ASCII 1 -#define FTP_TRANSFER_TYPE_BINARY 2 -#define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY) -#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) -#define GOPHER_TYPE_TEXT_FILE 1 -#define GOPHER_TYPE_DIRECTORY 2 -#define GOPHER_TYPE_CSO 4 -#define GOPHER_TYPE_ERROR 8 -#define GOPHER_TYPE_MAC_BINHEX 16 -#define GOPHER_TYPE_DOS_ARCHIVE 32 -#define GOPHER_TYPE_UNIX_UUENCODED 64 -#define GOPHER_TYPE_INDEX_SERVER 128 -#define GOPHER_TYPE_TELNET 256 -#define GOPHER_TYPE_BINARY 512 -#define GOPHER_TYPE_REDUNDANT 1024 -#define GOPHER_TYPE_TN3270 0x800 -#define GOPHER_TYPE_GIF 0x1000 -#define GOPHER_TYPE_IMAGE 0x2000 -#define GOPHER_TYPE_BITMAP 0x4000 -#define GOPHER_TYPE_MOVIE 0x8000 -#define GOPHER_TYPE_SOUND 0x10000 -#define GOPHER_TYPE_HTML 0x20000 -#define GOPHER_TYPE_PDF 0x40000 -#define GOPHER_TYPE_CALENDAR 0x80000 -#define GOPHER_TYPE_INLINE 0x100000 -#define GOPHER_TYPE_UNKNOWN 0x20000000 -#define GOPHER_TYPE_ASK 0x40000000 -#define GOPHER_TYPE_GOPHER_PLUS 0x80000000 -#define IS_GOPHER_FILE(t) (BOOL)(((t)&GOPHER_TYPE_FILE_MASK)?TRUE:FALSE) -#define IS_GOPHER_DIRECTORY(t) (BOOL)(((t)&GOPHER_TYPE_DIRECTORY)?TRUE:FALSE) -#define IS_GOPHER_PHONE_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_CSO)?TRUE:FALSE) -#define IS_GOPHER_ERROR(t) (BOOL)(((t)&GOPHER_TYPE_ERROR)?TRUE:FALSE) -#define IS_GOPHER_INDEX_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_INDEX_SERVER)?TRUE:FALSE) -#define IS_GOPHER_TELNET_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TELNET)?TRUE:FALSE) -#define IS_GOPHER_BACKUP_SERVER(t) (BOOL)(((t)&GOPHER_TYPE_REDUNDANT)?TRUE:FALSE) -#define IS_GOPHER_TN3270_SESSION(t) (BOOL)(((t)&GOPHER_TYPE_TN3270)?TRUE:FALSE) -#define IS_GOPHER_ASK(t) (BOOL)(((t)&GOPHER_TYPE_ASK)?TRUE:FALSE) -#define IS_GOPHER_PLUS(t) (BOOL)(((t)&GOPHER_TYPE_GOPHER_PLUS)?TRUE:FALSE) -#define IS_GOPHER_TYPE_KNOWN(t) (BOOL)(((t)&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_TY PE_IMAGE|GOPHER_TYPE_BITMAP\ -|GOPHER_TYPE_MOVIE|GOPHER_TYPE_SOUND|GOPHER_TYPE_HTML|GOPHER_TYPE_PDF|G OPHER_TYPE_CALENDAR|GOPHER_TYPE_INLINE) -#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) -#define HTTP_MAJOR_VERSION 1 -#define HTTP_MINOR_VERSION 0 -#define HTTP_VERSION TEXT("HTTP/1.0") -#define HTTP_QUERY_MIME_VERSION 0 -#define HTTP_QUERY_CONTENT_TYPE 1 -#define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2 -#define HTTP_QUERY_CONTENT_ID 3 -#define HTTP_QUERY_CONTENT_DESCRIPTION 4 -#define HTTP_QUERY_CONTENT_LENGTH 5 -#define HTTP_QUERY_CONTENT_LANGUAGE 6 -#define HTTP_QUERY_ALLOW 7 -#define HTTP_QUERY_PUBLIC 8 -#define HTTP_QUERY_DATE 9 -#define HTTP_QUERY_EXPIRES 10 -#define HTTP_QUERY_LAST_MODIFIED 11 -#define HTTP_QUERY_MESSAGE_ID 12 -#define HTTP_QUERY_URI 13 -#define HTTP_QUERY_DERIVED_FROM 14 -#define HTTP_QUERY_COST 15 -#define HTTP_QUERY_LINK 16 -#define HTTP_QUERY_PRAGMA 17 -#define HTTP_QUERY_VERSION 18 -#define HTTP_QUERY_STATUS_CODE 19 -#define HTTP_QUERY_STATUS_TEXT 20 -#define HTTP_QUERY_RAW_HEADERS 21 -#define HTTP_QUERY_RAW_HEADERS_CRLF 22 -#define HTTP_QUERY_CONNECTION 23 -#define HTTP_QUERY_ACCEPT 24 -#define HTTP_QUERY_ACCEPT_CHARSET 25 -#define HTTP_QUERY_ACCEPT_ENCODING 26 -#define HTTP_QUERY_ACCEPT_LANGUAGE 27 -#define HTTP_QUERY_AUTHORIZATION 28 -#define HTTP_QUERY_CONTENT_ENCODING 29 -#define HTTP_QUERY_FORWARDED 30 -#define HTTP_QUERY_FROM 31 -#define HTTP_QUERY_IF_MODIFIED_SINCE 32 -#define HTTP_QUERY_LOCATION 33 -#define HTTP_QUERY_ORIG_URI 34 -#define HTTP_QUERY_REFERER 35 -#define HTTP_QUERY_RETRY_AFTER 36 -#define HTTP_QUERY_SERVER 37 -#define HTTP_QUERY_TITLE 38 -#define HTTP_QUERY_USER_AGENT 39 -#define HTTP_QUERY_WWW_AUTHENTICATE 40 -#define HTTP_QUERY_PROXY_AUTHENTICATE 41 -#define HTTP_QUERY_ACCEPT_RANGES 42 -#define HTTP_QUERY_SET_COOKIE 43 -#define HTTP_QUERY_COOKIE 44 -#define HTTP_QUERY_REQUEST_METHOD 45 -#define HTTP_QUERY_MAX 45 -#define HTTP_QUERY_CUSTOM 65535 -#define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000 -#define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000 -#define HTTP_QUERY_FLAG_NUMBER 0x20000000 -#define HTTP_QUERY_FLAG_COALESCE 0x10000000 -#define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS|HTTP_QUERY_FLAG_SYSTEMTIME|HTTP_QUERY_F LAG_NUMBER|HTTP_QUERY_FLAG_COALESCE) -#define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK) -#define HTTP_STATUS_OK 200 -#define HTTP_STATUS_CREATED 201 -#define HTTP_STATUS_ACCEPTED 202 -#define HTTP_STATUS_PARTIAL 203 -#define HTTP_STATUS_NO_CONTENT 204 -#define HTTP_STATUS_AMBIGUOUS 300 -#define HTTP_STATUS_MOVED 301 -#define HTTP_STATUS_REDIRECT 302 -#define HTTP_STATUS_REDIRECT_METHOD 303 -#define HTTP_STATUS_NOT_MODIFIED 304 -#define HTTP_STATUS_BAD_REQUEST 400 -#define HTTP_STATUS_DENIED 401 -#define HTTP_STATUS_PAYMENT_REQ 402 -#define HTTP_STATUS_FORBIDDEN 403 -#define HTTP_STATUS_NOT_FOUND 404 -#define HTTP_STATUS_BAD_METHOD 405 -#define HTTP_STATUS_NONE_ACCEPTABLE 406 -#define HTTP_STATUS_PROXY_AUTH_REQ 407 -#define HTTP_STATUS_REQUEST_TIMEOUT 408 -#define HTTP_STATUS_CONFLICT 409 -#define HTTP_STATUS_GONE 410 -#define HTTP_STATUS_AUTH_REFUSED 411 -#define HTTP_STATUS_SERVER_ERROR 500 -#define HTTP_STATUS_NOT_SUPPORTED 501 -#define HTTP_STATUS_BAD_GATEWAY 502 -#define HTTP_STATUS_SERVICE_UNAVAIL 503 -#define HTTP_STATUS_GATEWAY_TIMEOUT 504 -#define INTERNET_PREFETCH_PROGRESS 0 -#define INTERNET_PREFETCH_COMPLETE 1 -#define INTERNET_PREFETCH_ABORTED 2 -#define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x01 -#define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x02 -#define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x04 -#define FLAGS_ERROR_UI_FLAGS_NO_UI 0x08 -#define HTTP_ADDREQ_INDEX_MASK 0x0000FFFF -#define HTTP_ADDREQ_FLAGS_MASK 0xFFFF0000 -#define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000 -#define HTTP_ADDREQ_FLAG_ADD 0x20000000 -#define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000 -#define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000 -#define HTTP_ADDREQ_FLAG_COALESCE HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA -#define HTTP_ADDREQ_FLAG_REPLACE 0x80000000 -#define INTERNET_ERROR_BASE 12000 -#define ERROR_INTERNET_OUT_OF_HANDLES (INTERNET_ERROR_BASE+1) -#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE+2) -#define ERROR_INTERNET_EXTENDED_ERROR (INTERNET_ERROR_BASE+3) -#define ERROR_INTERNET_INTERNAL_ERROR (INTERNET_ERROR_BASE+4) -#define ERROR_INTERNET_INVALID_URL (INTERNET_ERROR_BASE+5) -#define ERROR_INTERNET_UNRECOGNIZED_SCHEME (INTERNET_ERROR_BASE+6) -#define ERROR_INTERNET_NAME_NOT_RESOLVED (INTERNET_ERROR_BASE+7) -#define ERROR_INTERNET_PROTOCOL_NOT_FOUND (INTERNET_ERROR_BASE+8) -#define ERROR_INTERNET_INVALID_OPTION (INTERNET_ERROR_BASE+9) -#define ERROR_INTERNET_BAD_OPTION_LENGTH (INTERNET_ERROR_BASE+10) -#define ERROR_INTERNET_OPTION_NOT_SETTABLE (INTERNET_ERROR_BASE+11) -#define ERROR_INTERNET_SHUTDOWN (INTERNET_ERROR_BASE+12) -#define ERROR_INTERNET_INCORRECT_USER_NAME (INTERNET_ERROR_BASE+13) -#define ERROR_INTERNET_INCORRECT_PASSWORD (INTERNET_ERROR_BASE+14) -#define ERROR_INTERNET_LOGIN_FAILURE (INTERNET_ERROR_BASE+15) -#define ERROR_INTERNET_INVALID_OPERATION (INTERNET_ERROR_BASE+16) -#define ERROR_INTERNET_OPERATION_CANCELLED (INTERNET_ERROR_BASE+17) -#define ERROR_INTERNET_INCORRECT_HANDLE_TYPE (INTERNET_ERROR_BASE+18) -#define ERROR_INTERNET_INCORRECT_HANDLE_STATE (INTERNET_ERROR_BASE+19) -#define ERROR_INTERNET_NOT_PROXY_REQUEST (INTERNET_ERROR_BASE+20) -#define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND (INTERNET_ERROR_BASE+21) -#define ERROR_INTERNET_BAD_REGISTRY_PARAMETER (INTERNET_ERROR_BASE+22) -#define ERROR_INTERNET_NO_DIRECT_ACCESS (INTERNET_ERROR_BASE+23) -#define ERROR_INTERNET_NO_CONTEXT (INTERNET_ERROR_BASE+24) -#define ERROR_INTERNET_NO_CALLBACK (INTERNET_ERROR_BASE+25) -#define ERROR_INTERNET_REQUEST_PENDING (INTERNET_ERROR_BASE+26) -#define ERROR_INTERNET_INCORRECT_FORMAT (INTERNET_ERROR_BASE+27) -#define ERROR_INTERNET_ITEM_NOT_FOUND (INTERNET_ERROR_BASE+28) -#define ERROR_INTERNET_CANNOT_CONNECT (INTERNET_ERROR_BASE+29) -#define ERROR_INTERNET_CONNECTION_ABORTED (INTERNET_ERROR_BASE+30) -#define ERROR_INTERNET_CONNECTION_RESET (INTERNET_ERROR_BASE+31) -#define ERROR_INTERNET_FORCE_RETRY (INTERNET_ERROR_BASE+32) -#define ERROR_INTERNET_INVALID_PROXY_REQUEST (INTERNET_ERROR_BASE+33) -#define ERROR_INTERNET_NEED_UI (INTERNET_ERROR_BASE+34) -#define ERROR_INTERNET_HANDLE_EXISTS (INTERNET_ERROR_BASE+36) -#define ERROR_INTERNET_SEC_CERT_DATE_INVALID (INTERNET_ERROR_BASE+37) -#define ERROR_INTERNET_SEC_CERT_CN_INVALID (INTERNET_ERROR_BASE+38) -#define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR (INTERNET_ERROR_BASE+39) -#define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR (INTERNET_ERROR_BASE+40) -#define ERROR_INTERNET_MIXED_SECURITY (INTERNET_ERROR_BASE+41) -#define ERROR_INTERNET_CHG_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+42) -#define ERROR_INTERNET_POST_IS_NON_SECURE (INTERNET_ERROR_BASE+43) -#define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED (INTERNET_ERROR_BASE+44) -#define ERROR_INTERNET_INVALID_CA (INTERNET_ERROR_BASE+45) -#define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP (INTERNET_ERROR_BASE+46) -#define ERROR_INTERNET_ASYNC_THREAD_FAILED (INTERNET_ERROR_BASE+47) -#define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE (INTERNET_ERROR_BASE+48) -#define ERROR_FTP_TRANSFER_IN_PROGRESS (INTERNET_ERROR_BASE+110) -#define ERROR_FTP_DROPPED (INTERNET_ERROR_BASE+111) -#define ERROR_GOPHER_PROTOCOL_ERROR (INTERNET_ERROR_BASE+130) -#define ERROR_GOPHER_NOT_FILE (INTERNET_ERROR_BASE+131) -#define ERROR_GOPHER_DATA_ERROR (INTERNET_ERROR_BASE+132) -#define ERROR_GOPHER_END_OF_DATA (INTERNET_ERROR_BASE+133) -#define ERROR_GOPHER_INVALID_LOCATOR (INTERNET_ERROR_BASE+134) -#define ERROR_GOPHER_INCORRECT_LOCATOR_TYPE (INTERNET_ERROR_BASE+135) -#define ERROR_GOPHER_NOT_GOPHER_PLUS (INTERNET_ERROR_BASE+136) -#define ERROR_GOPHER_ATTRIBUTE_NOT_FOUND (INTERNET_ERROR_BASE+137) -#define ERROR_GOPHER_UNKNOWN_LOCATOR (INTERNET_ERROR_BASE+138) -#define ERROR_HTTP_HEADER_NOT_FOUND (INTERNET_ERROR_BASE+150) -#define ERROR_HTTP_DOWNLEVEL_SERVER (INTERNET_ERROR_BASE+151) -#define ERROR_HTTP_INVALID_SERVER_RESPONSE (INTERNET_ERROR_BASE+152) -#define ERROR_HTTP_INVALID_HEADER (INTERNET_ERROR_BASE+153) -#define ERROR_HTTP_INVALID_QUERY_REQUEST (INTERNET_ERROR_BASE+154) -#define ERROR_HTTP_HEADER_ALREADY_EXISTS (INTERNET_ERROR_BASE+155) -#define ERROR_HTTP_REDIRECT_FAILED (INTERNET_ERROR_BASE+156) -#define ERROR_HTTP_NOT_REDIRECTED (INTERNET_ERROR_BASE+160) -#define ERROR_INTERNET_SECURITY_CHANNEL_ERROR (INTERNET_ERROR_BASE+157) -#define ERROR_INTERNET_UNABLE_TO_CACHE_FILE (INTERNET_ERROR_BASE+158) -#define ERROR_INTERNET_TCPIP_NOT_INSTALLED (INTERNET_ERROR_BASE+159) -#define INTERNET_ERROR_LAST ERROR_INTERNET_TCPIP_NOT_INSTALLED -#define URLCACHEAPI DECLSPEC_IMPORT -#define NORMAL_CACHE_ENTRY 1 -#define STABLE_CACHE_ENTRY 2 -#define STICKY_CACHE_ENTRY 4 -#define SPARSE_CACHE_ENTRY 0x10000 -#define OCX_CACHE_ENTRY 0x20000 -#define COOKIE_CACHE_ENTRY 0x100000 -#define URLHISTORY_CACHE_ENTRY 0x200000 -#define CACHE_ENTRY_ATTRIBUTE_FC 4 -#define CACHE_ENTRY_HITRATE_FC 0x10 -#define CACHE_ENTRY_MODTIME_FC 0x40 -#define CACHE_ENTRY_EXPTIME_FC 0x80 -#define CACHE_ENTRY_ACCTIME_FC 0x100 -#define CACHE_ENTRY_SYNCTIME_FC 0x200 -#define CACHE_ENTRY_HEADERINFO_FC 0x400 -#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 8 -#define HSR_ASYNC WININET_API_FLAG_ASYNC -#define HSR_SYNC WININET_API_FLAG_SYNC -#define HSR_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT -#define HSR_INITIATE 8 -#define HSR_DOWNLOAD 16 -#define HSR_CHUNKED 32 -#define INTERNET_DIAL_UNATTENDED 0x8000 -#define INTERNET_DIALSTATE_DISCONNECTED 1 -#define INTERENT_GOONLINE_REFRESH 1 -#define INTERENT_GOONLINE_MASK 1 -#define INTERNET_AUTODIAL_FORCE_ONLINE 1 -#define INTERNET_AUTODIAL_FORCE_UNATTENDED 2 -#define INTERNET_AUTODIAL_FAILIFSECURITYCHECK 4 -#define INTERNET_CONNECTION_MODEM 1 -#define INTERNET_CONNECTION_LAN 2 -#define INTERNET_CONNECTION_PROXY 4 -#define INTERNET_CONNECTION_MODEM_BUSY 8 - -#ifndef RC_INVOKED -typedef PVOID HINTERNET; -typedef HINTERNET *LPHINTERNET; -typedef WORD INTERNET_PORT,*LPINTERNET_PORT; -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_FIRST = INTERNET_SCHEME_FTP, INTERNET_SCHEME_LAST = INTERNET_SCHEME_SOCKS -} INTERNET_SCHEME,*LPINTERNET_SCHEME; -typedef struct { DWORD dwResult; DWORD dwError; } INTERNET_ASYNC_RESULT,*LPINTERNET_ASYNC_RESULT; -typedef struct { DWORD dwStatus; DWORD dwSize; } INTERNET_PREFETCH_STATUS,*LPINTERNET_PREFETCH_STATUS; -typedef struct { - DWORD dwAccessType; - LPCTSTR lpszProxy; - LPCTSTR lpszProxyBypass; -} INTERNET_PROXY_INFO,*LPINTERNET_PROXY_INFO; -typedef struct { - DWORD dwMajorVersion; - DWORD dwMinorVersion; -} INTERNET_VERSION_INFO,*LPINTERNET_VERSION_INFO; -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; -typedef struct { - FILETIME ftExpiry; - FILETIME ftStart; - LPTSTR lpszSubjectInfo; - LPTSTR lpszIssuerInfo; - LPTSTR lpszProtocolName; - LPTSTR lpszSignatureAlgName; - LPTSTR lpszEncryptionAlgName; - DWORD dwKeySize; -} INTERNET_CERTIFICATE_INFO,*LPINTERNET_CERTIFICATE_INFO; -typedef VOID (CALLBACK * INTERNET_STATUS_CALLBACK)(HINTERNET,DWORD,DWORD,PVOID,DWORD); -typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK; -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; -typedef struct { - LPCTSTR Comment; - LPCTSTR EmailAddress; -} GOPHER_ADMIN_ATTRIBUTE_TYPE,*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 {LPCTSTR Site;} GOPHER_SITE_ATTRIBUTE_TYPE,*LPGOPHER_SITE_ATTRIBUTE_TYPE; -typedef struct {LPCTSTR Organization;} GOPHER_ORGANIZATION_ATTRIBUTE_TYPE,*LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE ; -typedef struct {LPCTSTR Location;} GOPHER_LOCATION_ATTRIBUTE_TYPE,*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_LOCAT ION_ATTRIBUTE_TYPE; -typedef struct {INT Zone;} GOPHER_TIMEZONE_ATTRIBUTE_TYPE,*LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE; -typedef struct {LPCTSTR Provider;} GOPHER_PROVIDER_ATTRIBUTE_TYPE,*LPGOPHER_PROVIDER_ATTRIBUTE_TYPE; -typedef struct {LPCTSTR Version;} GOPHER_VERSION_ATTRIBUTE_TYPE,*LPGOPHER_VERSION_ATTRIBUTE_TYPE; -typedef struct { - LPCTSTR ShortAbstract; - LPCTSTR AbstractFile; -} GOPHER_ABSTRACT_ATTRIBUTE_TYPE,*LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE; -typedef struct { - LPCTSTR ContentType; - LPCTSTR Language; - DWORD Size; -} GOPHER_VIEW_ATTRIBUTE_TYPE,*LPGOPHER_VIEW_ATTRIBUTE_TYPE; -typedef struct {BOOL TreeWalk;} GOPHER_VERONICA_ATTRIBUTE_TYPE,*LPGOPHER_VERONICA_ATTRIBUTE_TYPE; -typedef struct { - LPCTSTR QuestionType; - LPCTSTR QuestionText; -} GOPHER_ASK_ATTRIBUTE_TYPE,*LPGOPHER_ASK_ATTRIBUTE_TYPE; -typedef struct {LPCTSTR Text;} GOPHER_UNKNOWN_ATTRIBUTE_TYPE,*LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE; -typedef struct { - DWORD CategoryId; - DWORD AttributeId; - union { - GOPHER_ADMIN_ATTRIBUTE_TYPE 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_TYPE Site; - GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization; - GOPHER_LOCATION_ATTRIBUTE_TYPE Location; - GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation; - GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone; - GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider; - GOPHER_VERSION_ATTRIBUTE_TYPE Version; - GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract; - GOPHER_VIEW_ATTRIBUTE_TYPE View; - GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica; - GOPHER_ASK_ATTRIBUTE_TYPE Ask; - GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown; - } AttributeType; -} GOPHER_ATTRIBUTE_TYPE,*LPGOPHER_ATTRIBUTE_TYPE; -typedef BOOL(CALLBACK *GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE,DWORD); -typedef struct _INTERNET_CACHE_ENTRY_INFOA { - DWORD dwStructSize; - LPSTR lpszSourceUrlName; - LPSTR lpszLocalFileName; - DWORD CacheEntryType; - DWORD dwUseCount; - DWORD dwHitRate; - DWORD dwSizeLow; - DWORD dwSizeHigh; - FILETIME LastModifiedTime; - FILETIME ExpireTime; - FILETIME LastAccessTime; - FILETIME LastSyncTime; - PBYTE lpHeaderInfo; - DWORD dwHeaderInfoSize; - LPSTR lpszFileExtension; - DWORD dwReserved; -} INTERNET_CACHE_ENTRY_INFOA,*LPINTERNET_CACHE_ENTRY_INFOA; -typedef struct _INTERNET_CACHE_ENTRY_INFOW { - DWORD dwStructSize; - LPSTR lpszSourceUrlName; - LPWSTR lpszLocalFileName; - DWORD CacheEntryType; - DWORD dwUseCount; - DWORD dwHitRate; - DWORD dwSizeLow; - DWORD dwSizeHigh; - FILETIME LastModifiedTime; - FILETIME ExpireTime; - FILETIME LastAccessTime; - FILETIME LastSyncTime; - PBYTE lpHeaderInfo; - DWORD dwHeaderInfoSize; - LPWSTR lpszFileExtension; - DWORD dwReserved; -} INTERNET_CACHE_ENTRY_INFOW,*LPINTERNET_CACHE_ENTRY_INFOW; -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_BUFFERS *Next; - LPCWSTR lpcszHeader; - DWORD dwHeadersLength; - DWORD dwHeadersTotal; - LPVOID lpvBuffer; - DWORD dwBufferLength; - DWORD dwBufferTotal; - DWORD dwOffsetLow; - DWORD dwOffsetHigh; -} INTERNET_BUFFERSW,*LPINTERNET_BUFFERSW; - -#ifdef UNICODE -typedef URL_COMPONENTSW URL_COMPONENTS; -typedef LPURL_COMPONENTSW LPURL_COMPONENTS; -typedef GOPHER_FIND_DATAW GOPHER_FIND_DATA; -typedef LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA; -typedef INTERNET_CACHE_ENTRY_INFOW INTERNET_CACHE_ENTRY_INFO; -typedef LPINTERNET_CACHE_ENTRY_INFOW LPINTERNET_CACHE_ENTRY_INFO; -typedef INTERNET_BUFFERSW INTERNET_BUFFERS,*LPINTERNET_BUFFERS; -#else -typedef URL_COMPONENTSA URL_COMPONENTS; -typedef LPURL_COMPONENTSA LPURL_COMPONENTS; -typedef GOPHER_FIND_DATAA GOPHER_FIND_DATA; -typedef LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA; -typedef INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO; -typedef LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO; -typedef INTERNET_BUFFERSA INTERNET_BUFFERS,*LPINTERNET_BUFFERS; -#endif -BOOL WINAPI InternetTimeFromSystemTime(SYSTEMTIME*,DWORD,LPSTR,DWORD); -BOOL WINAPI InternetTimeToSystemTime(LPCSTR,SYSTEMTIME*,DWORD); -BOOL WINAPI InternetDebugGetLocalTime(SYSTEMTIME*,PDWORD); -BOOL WINAPI InternetCrackUrlA(LPCSTR,DWORD,DWORD,LPURL_COMPONENTSA); -BOOL WINAPI InternetCrackUrlW(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTSW); -BOOL WINAPI InternetCreateUrlA(LPURL_COMPONENTSA,DWORD,LPSTR,PDWORD); -BOOL WINAPI InternetCreateUrlW(LPURL_COMPONENTSW,DWORD,LPWSTR,PDWORD); -BOOL WINAPI InternetCanonicalizeUrlA(LPCSTR,LPSTR,PDWORD,DWORD); -BOOL WINAPI InternetCanonicalizeUrlW(LPCWSTR,LPWSTR,PDWORD,DWORD); -BOOL WINAPI InternetCombineUrlA(LPCSTR,LPCSTR,LPSTR,PDWORD,DWORD); -BOOL WINAPI InternetCombineUrlW(LPCWSTR,LPCWSTR,LPWSTR,PDWORD,DWORD); -HINTERNET WINAPI InternetOpenA(LPCSTR,DWORD,LPCSTR,LPCSTR,DWORD); -HINTERNET WINAPI InternetOpenW(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD); -BOOL WINAPI InternetCloseHandle(HINTERNET); -HINTERNET WINAPI InternetConnectA(HINTERNET,LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,DWOR D,DWORD); -HINTERNET WINAPI InternetConnectW(HINTERNET,LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,D WORD,DWORD); -HINTERNET WINAPI InternetOpenUrlA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD,DWORD); -HINTERNET WINAPI InternetOpenUrlW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD,DWORD); -BOOL WINAPI InternetReadFile(HINTERNET,PVOID,DWORD,PDWORD); -DWORD WINAPI InternetSetFilePointer( HINTERNET,LONG,PVOID,DWORD,DWORD); -BOOL WINAPI InternetWriteFile(HINTERNET,LPCVOID,DWORD,PDWORD); -BOOL WINAPI InternetQueryDataAvailable( HINTERNET,PDWORD,DWORD,DWORD); -BOOL WINAPI InternetFindNextFileA(HINTERNET,PVOID); -BOOL WINAPI InternetFindNextFileW(HINTERNET,PVOID); -BOOL WINAPI InternetQueryOptionA(HINTERNET,DWORD,PVOID,PDWORD); -BOOL WINAPI InternetQueryOptionW(HINTERNET,DWORD,PVOID,PDWORD); -BOOL WINAPI InternetSetOptionA(HINTERNET,DWORD,PVOID,DWORD); -BOOL WINAPI InternetSetOptionW(HINTERNET,DWORD,PVOID,DWORD); -BOOL WINAPI InternetSetOptionExA(HINTERNET,DWORD,PVOID,DWORD,DWORD); -BOOL WINAPI InternetSetOptionExW(HINTERNET,DWORD,PVOID,DWORD,DWORD); -BOOL WINAPI InternetGetLastResponseInfoA(PDWORD,LPSTR,PDWORD); -BOOL WINAPI InternetGetLastResponseInfoW(PDWORD,LPWSTR,PDWORD); -INTERNET_STATUS_CALLBACK WINAPI InternetSetStatusCallback(HINTERNET,INTERNET_STATUS_CALLBACK); -HINTERNET WINAPI FtpFindFirstFileA(HINTERNET,LPCSTR,LPWIN32_FIND_DATA,DWORD,DWORD); -HINTERNET WINAPI FtpFindFirstFileW(HINTERNET,LPCWSTR,LPWIN32_FIND_DATA,DWORD,DWORD); -BOOL WINAPI FtpGetFileA(HINTERNET,LPCSTR,LPCSTR,BOOL,DWORD,DWORD,DWORD); -BOOL WINAPI FtpGetFileW( HINTERNET,LPCWSTR,LPCWSTR,BOOL,DWORD,DWORD,DWORD); -BOOL WINAPI FtpPutFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD); -BOOL WINAPI FtpPutFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD); -BOOL WINAPI FtpDeleteFileA(HINTERNET,LPCSTR); -BOOL WINAPI FtpDeleteFileW(HINTERNET,LPCWSTR); -BOOL WINAPI FtpRenameFileA(HINTERNET, LPCSTR,LPCSTR); -BOOL WINAPI FtpRenameFileW(HINTERNET,LPCWSTR,LPCWSTR); -HINTERNET WINAPI FtpOpenFileA(HINTERNET,LPCSTR,DWORD,DWORD,DWORD); -HINTERNET WINAPI FtpOpenFileW(HINTERNET,LPCWSTR,DWORD,DWORD,DWORD); -BOOL WINAPI FtpCreateDirectoryA(HINTERNET,LPCSTR); -BOOL WINAPI FtpCreateDirectoryW(HINTERNET,LPCWSTR); -BOOL WINAPI FtpRemoveDirectoryA(HINTERNET,LPCSTR); -BOOL WINAPI FtpRemoveDirectoryW(HINTERNET,LPCWSTR); -BOOL WINAPI FtpSetCurrentDirectoryA(HINTERNET,LPCSTR); -BOOL WINAPI FtpSetCurrentDirectoryW(HINTERNET,LPCWSTR); -BOOL WINAPI FtpGetCurrentDirectoryA(HINTERNET,LPSTR,PDWORD); -BOOL WINAPI FtpGetCurrentDirectoryW(HINTERNET,LPWSTR,PDWORD); -BOOL WINAPI FtpCommandA(HINTERNET,BOOL,DWORD,LPCSTR,DWORD); -BOOL WINAPI FtpCommandW( HINTERNET,BOOL,DWORD,LPCWSTR,DWORD); -BOOL WINAPI GopherCreateLocatorA(LPCSTR,INTERNET_PORT,LPCSTR,LPCSTR,DWORD,LPSTR,PDWO RD); -BOOL WINAPI GopherCreateLocatorW(LPCWSTR,INTERNET_PORT,LPCWSTR,LPCWSTR,DWORD,LPWSTR, PDWORD); -BOOL WINAPI GopherGetLocatorTypeA(LPCSTR,PDWORD); -BOOL WINAPI GopherGetLocatorTypeW(LPCWSTR,PDWORD); -HINTERNET WINAPI GopherFindFirstFileA(HINTERNET,LPCSTR,LPCSTR,LPGOPHER_FIND_DATAA,DWORD,D WORD); -HINTERNET WINAPI GopherFindFirstFileW(HINTERNET,LPCWSTR,LPCWSTR,LPGOPHER_FIND_DATAW,DWORD ,DWORD); -HINTERNET WINAPI GopherOpenFileA(HINTERNET,LPCSTR,LPCSTR,DWORD,DWORD); -HINTERNET WINAPI GopherOpenFileW(HINTERNET,LPCWSTR,LPCWSTR,DWORD,DWORD); -BOOL WINAPI GopherGetAttributeA(HINTERNET,LPCSTR,LPCSTR,LPBYTE,DWORD,PDWORD,GOPHER_A TTRIBUTE_ENUMERATOR,DWORD); -BOOL WINAPI GopherGetAttributeW(HINTERNET,LPCWSTR, -LPCWSTR, LPBYTE, DWORD, PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD); -HINTERNET WINAPI HttpOpenRequestA(HINTERNET,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR *,DWORD,DWORD); -HINTERNET WINAPI HttpOpenRequestW(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR FAR * lplpszAcceptTypes , DWORD dwFlags, DWORD dwContext); -BOOL WINAPI HttpAddRequestHeadersA(HINTERNET,LPCSTR,DWORD,DWORD); -BOOL WINAPI HttpAddRequestHeadersW(HINTERNET,LPCWSTR,DWORD,DWORD); -BOOL WINAPI HttpSendRequestA(HINTERNET,LPCSTR,DWORD,PVOID,DWORD); -BOOL WINAPI HttpSendRequestW(HINTERNET,LPCWSTR,DWORD,PVOID,DWORD); -BOOL WINAPI HttpQueryInfoA(HINTERNET,DWORD,PVOID,PDWORD,PDWORD); -BOOL WINAPI HttpQueryInfoW(HINTERNET,DWORD,PVOID,PDWORD,PDWORD); -BOOL WINAPI InternetSetCookieA(LPCSTR,LPCSTR,LPCSTR); -BOOL WINAPI InternetSetCookieW(LPCSTR,LPCWSTR,LPCWSTR); -BOOL WINAPI InternetGetCookieA(LPCSTR,LPCSTR,LPSTR,PDWORD); -BOOL WINAPI InternetGetCookieW(LPCSTR,LPCWSTR,LPWSTR,PDWORD); -DWORD WINAPI InternetAttemptConnect(DWORD); -DWORD WINAPI InternetErrorDlg(HWND,HINTERNET,DWORD,DWORD,PVOID *); -DWORD WINAPI InternetConfirmZoneCrossing(HWND,LPSTR,LPSTR,BOOL); -BOOL WINAPI CreateUrlCacheEntryA(LPCSTR,DWORD,LPCSTR,LPSTR,DWORD); -BOOL WINAPI CreateUrlCacheEntryW(LPCSTR,DWORD,LPCSTR,LPWSTR,DWORD); -BOOL WINAPI CommitUrlCacheEntryA(LPCSTR,LPCSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD, LPCSTR,DWORD); -BOOL WINAPI CommitUrlCacheEntryW(LPCSTR,LPCWSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD ,LPCWSTR,DWORD); -BOOL WINAPI RetrieveUrlCacheEntryFileA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD,DW ORD); -BOOL WINAPI RetrieveUrlCacheEntryFileW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,DW ORD); -BOOL WINAPI UnlockUrlCacheEntryFile(LPCSTR,DWORD); -HANDLE WINAPI RetrieveUrlCacheEntryStreamA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD, BOOL,DWORD); -HANDLE WINAPI RetrieveUrlCacheEntryStreamW( LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD,BOOL,DWORD); -BOOL WINAPI ReadUrlCacheEntryStream(HANDLE,DWORD,PVOID,PDWORD,DWORD); -BOOL WINAPI UnlockUrlCacheEntryStream( HANDLE,DWORD); -BOOL WINAPI GetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD); -BOOL WINAPI GetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD); -BOOL WINAPI SetUrlCacheEntryInfoA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,DWORD); -BOOL WINAPI SetUrlCacheEntryInfoW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,DWORD); -HANDLE WINAPI FindFirstUrlCacheEntryA(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD); -HANDLE WINAPI FindFirstUrlCacheEntryW(LPCSTR,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD); -BOOL WINAPI FindNextUrlCacheEntryA(HANDLE,LPINTERNET_CACHE_ENTRY_INFOA,PDWORD); -BOOL WINAPI FindNextUrlCacheEntryW(HANDLE,LPINTERNET_CACHE_ENTRY_INFOW,PDWORD); -BOOL WINAPI FindCloseUrlCache(HANDLE); -BOOL WINAPI DeleteUrlCacheEntry(LPCSTR); -DWORD AuthenticateUser(PVOID*,LPSTR,LPSTR,DWORD,LPSTR,DWORD,LPSTR,LPSTR); -BOOL WINAPI HttpSendRequestExA(HINTERNET,LPINTERNET_BUFFERSA,LPINTERNET_BUFFERSA,DWO RD,DWORD); -BOOL WINAPI HttpSendRequestExW(HINTERNET,LPINTERNET_BUFFERSW,LPINTERNET_BUFFERSW,DWO RD,DWORD); -BOOL WINAPI HttpEndRequestA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD); -BOOL WINAPI HttpEndRequestW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD); -DWORD WINAPI InternetDial(HWND,LPTSTR,DWORD,LPDWORD,DWORD); -DWORD WINAPI InternetHangUp(DWORD,DWORD); -BOOL WINAPI InternetGoOnline(LPTSTR,HWND,DWORD); -BOOL WINAPI InternetAutodial(DWORD,DWORD); -BOOL WINAPI InternetAutodialHangup(DWORD); -BOOL WINAPI InternetGetConnectedState(LPDWORD,DWORD); -BOOL WINAPI InternetSetDialState(LPCTSTR,DWORD,DWORD); -BOOL WINAPI InternetReadFileExA(HINTERNET,LPINTERNET_BUFFERSA,DWORD,DWORD_PTR); -BOOL WINAPI InternetReadFileExW(HINTERNET,LPINTERNET_BUFFERSW,DWORD,DWORD_PTR); - -#ifdef UNICODE -#define InternetCrackUrl InternetCrackUrlW -#define InternetCreateUrl InternetCreateUrlW -#define InternetCanonicalizeUrl InternetCanonicalizeUrlW -#define InternetCombineUrl InternetCombineUrlW -#define InternetOpen InternetOpenW -#define InternetConnect InternetConnectW -#define InternetOpenUrl InternetOpenUrlW -#define InternetFindNextFile InternetFindNextFileW -#define InternetQueryOption InternetQueryOptionW -#define InternetSetOption InternetSetOptionW -#define InternetSetOptionEx InternetSetOptionExW -#define InternetGetLastResponseInfo InternetGetLastResponseInfoW -#define InternetReadFileEx InternetReadFileExW -#define FtpFindFirstFile FtpFindFirstFileW -#define FtpGetFile FtpGetFileW -#define FtpPutFile FtpPutFileW -#define FtpDeleteFile FtpDeleteFileW -#define FtpRenameFile FtpRenameFileW -#define FtpOpenFile FtpOpenFileW -#define FtpCreateDirectory FtpCreateDirectoryW -#define FtpRemoveDirectory FtpRemoveDirectoryW -#define FtpSetCurrentDirectory FtpSetCurrentDirectoryW -#define FtpGetCurrentDirectory FtpGetCurrentDirectoryW -#define FtpCommand FtpCommandW -#define GopherGetLocatorType GopherGetLocatorTypeW -#define GopherCreateLocator GopherCreateLocatorW -#define GopherFindFirstFile GopherFindFirstFileW -#define GopherOpenFile GopherOpenFileW -#define GopherGetAttribute GopherGetAttributeW -#define HttpSendRequest HttpSendRequestW -#define HttpOpenRequest HttpOpenRequestW -#define HttpAddRequestHeaders HttpAddRequestHeadersW -#define HttpQueryInfo HttpQueryInfoW -#define InternetSetCookie InternetSetCookieW -#define InternetGetCookie InternetGetCookieW -#define CreateUrlCacheEntry CreateUrlCacheEntryW -#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamW -#define FindNextUrlCacheEntry FindNextUrlCacheEntryW -#define CommitUrlCacheEntry CommitUrlCacheEntryW -#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoW -#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoW -#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryW -#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileW -#define HttpSendRequestEx HttpSendRequestExW -#define HttpEndRequest HttpEndRequestW -#else -#define GopherGetAttribute GopherGetAttributeA -#define InternetCrackUrl InternetCrackUrlA -#define InternetCreateUrl InternetCreateUrlA -#define InternetCanonicalizeUrl InternetCanonicalizeUrlA -#define InternetCombineUrl InternetCombineUrlA -#define InternetOpen InternetOpenA -#define InternetConnect InternetConnectA -#define InternetOpenUrl InternetOpenUrlA -#define InternetFindNextFile InternetFindNextFileA -#define InternetQueryOption InternetQueryOptionA -#define InternetSetOption InternetSetOptionA -#define InternetSetOptionEx InternetSetOptionExA -#define InternetGetLastResponseInfo InternetGetLastResponseInfoA -#define InternetReadFileEx InternetReadFileExA -#define FtpFindFirstFile FtpFindFirstFileA -#define FtpGetFile FtpGetFileA -#define FtpPutFile FtpPutFileA -#define FtpDeleteFile FtpDeleteFileA -#define FtpRenameFile FtpRenameFileA -#define FtpOpenFile FtpOpenFileA -#define FtpCreateDirectory FtpCreateDirectoryA -#define FtpRemoveDirectory FtpRemoveDirectoryA -#define FtpSetCurrentDirectory FtpSetCurrentDirectoryA -#define FtpGetCurrentDirectory FtpGetCurrentDirectoryA -#define FtpCommand FtpCommandA -#define GopherGetLocatorType GopherGetLocatorTypeA -#define GopherCreateLocator GopherCreateLocatorA -#define GopherFindFirstFile GopherFindFirstFileA -#define GopherOpenFile GopherOpenFileA -#define HttpSendRequest HttpSendRequestA -#define HttpOpenRequest HttpOpenRequestA -#define HttpAddRequestHeaders HttpAddRequestHeadersA -#define HttpQueryInfo HttpQueryInfoA -#define InternetSetCookie InternetSetCookieA -#define InternetGetCookie InternetGetCookieA -#define CreateUrlCacheEntry CreateUrlCacheEntryA -#define RetrieveUrlCacheEntryStream RetrieveUrlCacheEntryStreamA -#define FindNextUrlCacheEntry FindNextUrlCacheEntryA -#define CommitUrlCacheEntry CommitUrlCacheEntryA -#define GetUrlCacheEntryInfo GetUrlCacheEntryInfoA -#define SetUrlCacheEntryInfo SetUrlCacheEntryInfoA -#define FindFirstUrlCacheEntry FindFirstUrlCacheEntryA -#define RetrieveUrlCacheEntryFile RetrieveUrlCacheEntryFileA -#define HttpSendRequestEx HttpSendRequestExA -#define HttpEndRequest HttpEndRequestA -#endif /* UNICODE */ -#endif /* RC_INVOKED */ -#ifdef __cplusplus -} -#endif -#endif _____ Copied: trunk/reactos/w32api/include/wininet.h.w32 (from rev 14686, trunk/reactos/w32api/include/wininet.h)
19 years, 8 months
1
0
0
0
[sedwards] 14692: imported wininet from wine
by sedwards@svn.reactos.com
imported wininet from wine Deleted: trunk/reactos/lib/wininet/.cvsignore Modified: trunk/reactos/lib/wininet/dialogs.c Modified: trunk/reactos/lib/wininet/netconnection.c Deleted: trunk/reactos/lib/wininet/tests/.cvsignore Modified: trunk/reactos/lib/wininet/utility.c _____ Deleted: trunk/reactos/lib/wininet/.cvsignore --- trunk/reactos/lib/wininet/.cvsignore 2005-04-19 04:50:10 UTC (rev 14691) +++ trunk/reactos/lib/wininet/.cvsignore 2005-04-19 04:57:39 UTC (rev 14692) @@ -1,5 +0,0 @@ -Makefile -rsrc.res -version.res -wininet.dll.dbg.c -wininet.spec.def _____ Modified: trunk/reactos/lib/wininet/dialogs.c --- trunk/reactos/lib/wininet/dialogs.c 2005-04-19 04:50:10 UTC (rev 14691) +++ trunk/reactos/lib/wininet/dialogs.c 2005-04-19 04:57:39 UTC (rev 14692) @@ -157,6 +157,7 @@ */ if( bSet ) { +#ifndef __REACTOS__ szUserPass[0] = 0; GetWindowTextW( hUserItem, szUserPass, (sizeof szUserPass-1)/sizeof(WCHAR) ); @@ -171,14 +172,17 @@ (CHAR*)szUserPass, u_len, dwMagic, 0 ); return ( r == WN_SUCCESS ); +#else + return FALSE; +#endif } sz = sizeof szUserPass; r_len = (strlenW( szResource ) + 1)*sizeof(WCHAR); - r = WNetGetCachedPassword( (CHAR*)szResource, r_len, - (CHAR*)szUserPass, &sz, dwMagic ); - if( r != WN_SUCCESS ) - return FALSE; +// r = WNetGetCachedPassword( (CHAR*)szResource, r_len, +// (CHAR*)szUserPass, &sz, dwMagic ); +// if( r != WN_SUCCESS ) +// return FALSE; p = strchrW( szUserPass, ':' ); if( p ) _____ Modified: trunk/reactos/lib/wininet/netconnection.c --- trunk/reactos/lib/wininet/netconnection.c 2005-04-19 04:50:10 UTC (rev 14691) +++ trunk/reactos/lib/wininet/netconnection.c 2005-04-19 04:57:39 UTC (rev 14692) @@ -37,7 +37,7 @@ #include <stdlib.h> #include <string.h> -#include "wine/library.h" +//#include "wine/library.h" #include "windef.h" #include "winbase.h" #include "wininet.h" _____ Deleted: trunk/reactos/lib/wininet/tests/.cvsignore --- trunk/reactos/lib/wininet/tests/.cvsignore 2005-04-19 04:50:10 UTC (rev 14691) +++ trunk/reactos/lib/wininet/tests/.cvsignore 2005-04-19 04:57:39 UTC (rev 14692) @@ -1,4 +0,0 @@ -Makefile -generated.ok -http.ok -testlist.c _____ Modified: trunk/reactos/lib/wininet/utility.c --- trunk/reactos/lib/wininet/utility.c 2005-04-19 04:50:10 UTC (rev 14691) +++ trunk/reactos/lib/wininet/utility.c 2005-04-19 04:57:39 UTC (rev 14692) @@ -42,7 +42,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(wininet); #define TIME_STRING_LEN 30 +#define CP_UNIXCP 65010 /* Wine extension */ + time_t ConvertTimeString(LPCWSTR asctime) { WCHAR tmpChar[TIME_STRING_LEN];
19 years, 8 months
1
0
0
0
[sedwards] 14691: imported in to the trunk
by sedwards@svn.reactos.com
imported in to the trunk Added: trunk/reactos/lib/wininet/ _____ Copied: trunk/reactos/lib/wininet (from rev 14690, vendor/wine/dlls/wininet/current)
19 years, 8 months
1
0
0
0
[sedwards] 14690: removing wininet for reimport
by sedwards@svn.reactos.com
removing wininet for reimport Deleted: trunk/reactos/lib/wininet/
19 years, 8 months
1
0
0
0
[sedwards] 14689: imported in to the trunk
by sedwards@svn.reactos.com
imported in to the trunk Added: trunk/reactos/lib/wininet/current/ _____ Copied: trunk/reactos/lib/wininet/current (from rev 14688, vendor/wine/dlls/wininet/current)
19 years, 8 months
1
0
0
0
[sedwards] 14688: import wineinet
by sedwards@svn.reactos.com
import wineinet Added: vendor/wine/dlls/wininet/Wine-20050419-CVS/ _____ Copied: vendor/wine/dlls/wininet/Wine-20050419-CVS (from rev 14687, vendor/wine/dlls/wininet/current)
19 years, 8 months
1
0
0
0
[sedwards] 14687: Import Wininet from Wine
by sedwards@svn.reactos.com
Import Wininet from Wine Added: vendor/wine/dlls/wininet/ Added: vendor/wine/dlls/wininet/current/ Added: vendor/wine/dlls/wininet/current/.cvsignore Added: vendor/wine/dlls/wininet/current/Makefile.in Added: vendor/wine/dlls/wininet/current/cookie.c Added: vendor/wine/dlls/wininet/current/dialogs.c Added: vendor/wine/dlls/wininet/current/ftp.c Added: vendor/wine/dlls/wininet/current/gopher.c Added: vendor/wine/dlls/wininet/current/http.c Added: vendor/wine/dlls/wininet/current/internet.c Added: vendor/wine/dlls/wininet/current/internet.h Added: vendor/wine/dlls/wininet/current/netconnection.c Added: vendor/wine/dlls/wininet/current/resource.h Added: vendor/wine/dlls/wininet/current/rsrc.rc Added: vendor/wine/dlls/wininet/current/tests/ Added: vendor/wine/dlls/wininet/current/tests/.cvsignore Added: vendor/wine/dlls/wininet/current/tests/Makefile.in Added: vendor/wine/dlls/wininet/current/tests/generated.c Added: vendor/wine/dlls/wininet/current/tests/http.c Added: vendor/wine/dlls/wininet/current/tests/wininet_test.h Added: vendor/wine/dlls/wininet/current/urlcache.c Added: vendor/wine/dlls/wininet/current/utility.c Added: vendor/wine/dlls/wininet/current/version.rc Added: vendor/wine/dlls/wininet/current/wininet.spec Added: vendor/wine/dlls/wininet/current/wininet_Cs.rc Added: vendor/wine/dlls/wininet/current/wininet_De.rc Added: vendor/wine/dlls/wininet/current/wininet_En.rc Added: vendor/wine/dlls/wininet/current/wininet_Es.rc Added: vendor/wine/dlls/wininet/current/wininet_Fr.rc Added: vendor/wine/dlls/wininet/current/wininet_It.rc Added: vendor/wine/dlls/wininet/current/wininet_Ja.rc Added: vendor/wine/dlls/wininet/current/wininet_Nl.rc Added: vendor/wine/dlls/wininet/current/wininet_Pt.rc Added: vendor/wine/dlls/wininet/current/wininet_Ru.rc Added: vendor/wine/dlls/wininet/current/wininet_Si.rc Added: vendor/wine/dlls/wininet/current/wininet_main.c _____ Added: vendor/wine/dlls/wininet/current/.cvsignore --- vendor/wine/dlls/wininet/current/.cvsignore 2005-04-18 22:11:46 UTC (rev 14686) +++ vendor/wine/dlls/wininet/current/.cvsignore 2005-04-19 04:44:23 UTC (rev 14687) @@ -0,0 +1,5 @@ +Makefile +rsrc.res +version.res +wininet.dll.dbg.c +wininet.spec.def _____ Added: vendor/wine/dlls/wininet/current/Makefile.in --- vendor/wine/dlls/wininet/current/Makefile.in 2005-04-18 22:11:46 UTC (rev 14686) +++ vendor/wine/dlls/wininet/current/Makefile.in 2005-04-19 04:44:23 UTC (rev 14687) @@ -0,0 +1,30 @@ +EXTRADEFS = -D_WINX32_ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +MODULE = wininet.dll +IMPORTS = mpr shlwapi shell32 user32 advapi32 kernel32 ntdll +EXTRALIBS = $(LIBUNICODE) @SOCKETLIBS@ + +C_SRCS = \ + cookie.c \ + dialogs.c \ + ftp.c \ + gopher.c \ + http.c \ + internet.c \ + netconnection.c \ + urlcache.c \ + utility.c \ + wininet_main.c + +RC_SRCS = \ + rsrc.rc \ + version.rc + +SUBDIRS = tests + +@MAKE_DLL_RULES@ + +### Dependencies: _____ Added: vendor/wine/dlls/wininet/current/cookie.c --- vendor/wine/dlls/wininet/current/cookie.c 2005-04-18 22:11:46 UTC (rev 14686) +++ vendor/wine/dlls/wininet/current/cookie.c 2005-04-19 04:44:23 UTC (rev 14687) @@ -0,0 +1,501 @@ +/* + * Wininet - cookie handling stuff + * + * Copyright 2002 TransGaming Technologies Inc. + * + * David Hammerton + * + * 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 + */ + +#include "config.h" +#include "wine/port.h" + +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif + +#include "windef.h" +#include "winbase.h" +#include "wininet.h" +#include "winerror.h" + +#include "wine/debug.h" +#include "internet.h" + +#include "wine/list.h" + +#define RESPONSE_TIMEOUT 30 /* FROM internet.c */ + + +WINE_DEFAULT_DEBUG_CHANNEL(wininet); + +/* FIXME + * Cookies are currently memory only. + * Cookies are NOT THREAD SAFE + * Cookies could use A LOT OF MEMORY. We need some kind of memory management here! + * Cookies should care about the expiry time + */ + +typedef struct _cookie_domain cookie_domain; +typedef struct _cookie cookie; + +struct _cookie +{ + struct list entry; + + struct _cookie_domain *parent; + + LPWSTR lpCookieName; + LPWSTR lpCookieData; + time_t expiry; /* FIXME: not used */ +}; + +struct _cookie_domain +{ + struct list entry; + + LPWSTR lpCookieDomain; + LPWSTR lpCookiePath; + struct list cookie_list; +}; + +static struct list domain_list = LIST_INIT(domain_list); + +static cookie *COOKIE_addCookie(cookie_domain *domain, LPCWSTR name, LPCWSTR data); +static cookie *COOKIE_findCookie(cookie_domain *domain, LPCWSTR lpszCookieName); +static void COOKIE_deleteCookie(cookie *deadCookie, BOOL deleteDomain); +static cookie_domain *COOKIE_addDomain(LPCWSTR domain, LPCWSTR path); +static void COOKIE_deleteDomain(cookie_domain *deadDomain); + + +/* adds a cookie to the domain */ +static cookie *COOKIE_addCookie(cookie_domain *domain, LPCWSTR name, LPCWSTR data) +{ + cookie *newCookie = HeapAlloc(GetProcessHeap(), 0, sizeof(cookie)); + + list_init(&newCookie->entry); + newCookie->lpCookieName = NULL; + newCookie->lpCookieData = NULL; + + if (name) + { + newCookie->lpCookieName = HeapAlloc(GetProcessHeap(), 0, (strlenW(name) + 1)*sizeof(WCHAR)); + lstrcpyW(newCookie->lpCookieName, name); + } + if (data) + { + newCookie->lpCookieData = HeapAlloc(GetProcessHeap(), 0, (strlenW(data) + 1)*sizeof(WCHAR)); + lstrcpyW(newCookie->lpCookieData, data); + } + + TRACE("added cookie %p (data is %s)\n", newCookie, debugstr_w(data) ); + + list_add_tail(&domain->cookie_list, &newCookie->entry); + newCookie->parent = domain; + return newCookie; +} + + +/* finds a cookie in the domain matching the cookie name */ +static cookie *COOKIE_findCookie(cookie_domain *domain, LPCWSTR lpszCookieName) +{ + struct list * cursor; + TRACE("(%p, %s)\n", domain, debugstr_w(lpszCookieName)); + + LIST_FOR_EACH(cursor, &domain->cookie_list) + { + cookie *searchCookie = LIST_ENTRY(cursor, cookie, entry); + BOOL candidate = TRUE; + if (candidate && lpszCookieName) + { + if (candidate && !searchCookie->lpCookieName) + candidate = FALSE; + if (candidate && strcmpW(lpszCookieName, searchCookie->lpCookieName) != 0) + candidate = FALSE; + } + if (candidate) + return searchCookie; + } + return NULL; +} + +/* removes a cookie from the list, if its the last cookie we also remove the domain */ +static void COOKIE_deleteCookie(cookie *deadCookie, BOOL deleteDomain) +{ + HeapFree(GetProcessHeap(), 0, deadCookie->lpCookieName); + HeapFree(GetProcessHeap(), 0, deadCookie->lpCookieData); + list_remove(&deadCookie->entry); + + /* special case: last cookie, lets remove the domain to save memory */ + if (list_empty(&deadCookie->parent->cookie_list) && deleteDomain) + COOKIE_deleteDomain(deadCookie->parent); + HeapFree(GetProcessHeap(), 0, deadCookie); +} + +/* allocates a domain and adds it to the end */ +static cookie_domain *COOKIE_addDomain(LPCWSTR domain, LPCWSTR path) +{ + cookie_domain *newDomain = HeapAlloc(GetProcessHeap(), 0, sizeof(cookie_domain)); + + list_init(&newDomain->entry); + list_init(&newDomain->cookie_list); + newDomain->lpCookieDomain = NULL; + newDomain->lpCookiePath = NULL; + + if (domain) + { + newDomain->lpCookieDomain = HeapAlloc(GetProcessHeap(), 0, (strlenW(domain) + 1)*sizeof(WCHAR)); + strcpyW(newDomain->lpCookieDomain, domain); + } + if (path) + { + newDomain->lpCookiePath = HeapAlloc(GetProcessHeap(), 0, (strlenW(path) + 1)*sizeof(WCHAR)); + lstrcpyW(newDomain->lpCookiePath, path); + } + + list_add_tail(&domain_list, &newDomain->entry); + + TRACE("Adding domain: %p\n", newDomain); + return newDomain; +} + +static void COOKIE_crackUrlSimple(LPCWSTR lpszUrl, LPWSTR hostName, int hostNameLen, LPWSTR path, int pathLen) +{ + URL_COMPONENTSW UrlComponents; + + UrlComponents.lpszExtraInfo = NULL; + UrlComponents.lpszPassword = NULL; + UrlComponents.lpszScheme = NULL; + UrlComponents.lpszUrlPath = path; + UrlComponents.lpszUserName = NULL; + UrlComponents.lpszHostName = hostName; + UrlComponents.dwHostNameLength = hostNameLen; + UrlComponents.dwUrlPathLength = pathLen; + + InternetCrackUrlW(lpszUrl, 0, 0, &UrlComponents); +} + +/* match a domain. domain must match if the domain is not NULL. path must match if the path is not NULL */ +static BOOL COOKIE_matchDomain(LPCWSTR lpszCookieDomain, LPCWSTR lpszCookiePath, + cookie_domain *searchDomain, BOOL allow_partial) +{ + TRACE("searching on domain %p\n", searchDomain); + if (lpszCookieDomain) + { + if (!searchDomain->lpCookieDomain) + return FALSE; + + TRACE("comparing domain %s with %s\n", + debugstr_w(lpszCookieDomain), + debugstr_w(searchDomain->lpCookieDomain)); + + if (allow_partial && !strstrW(lpszCookieDomain, searchDomain->lpCookieDomain)) + return FALSE; + else if (!allow_partial && lstrcmpW(lpszCookieDomain, searchDomain->lpCookieDomain) != 0) + return FALSE; + } + if (lpszCookiePath) + { + TRACE("comparing paths: %s with %s\n", debugstr_w(lpszCookiePath), debugstr_w(searchDomain->lpCookiePath)); + if (!searchDomain->lpCookiePath) + return FALSE; + if (strcmpW(lpszCookiePath, searchDomain->lpCookiePath)) + return FALSE; + } + return TRUE; +} + +/* remove a domain from the list and delete it */ +static void COOKIE_deleteDomain(cookie_domain *deadDomain) +{ + struct list * cursor; + while ((cursor = list_tail(&deadDomain->cookie_list))) + { + COOKIE_deleteCookie(LIST_ENTRY(cursor, cookie, entry), FALSE); + list_remove(cursor); + } + + HeapFree(GetProcessHeap(), 0, deadDomain->lpCookieDomain); + HeapFree(GetProcessHeap(), 0, deadDomain->lpCookiePath); + + list_remove(&deadDomain->entry); + + HeapFree(GetProcessHeap(), 0, deadDomain); +} + +/********************************************************************** * + * InternetGetCookieW (WININET.@) + * + * Retrieve cookie from the specified url + * + * It should be noted that on windows the lpszCookieName parameter is "not implemented". + * So it won't be implemented here. + * + * RETURNS + * TRUE on success + * FALSE on failure + * + */ +BOOL WINAPI InternetGetCookieW(LPCWSTR lpszUrl, LPCWSTR lpszCookieName, + LPWSTR lpCookieData, LPDWORD lpdwSize) +{ + struct list * cursor; + int cnt = 0, domain_count = 0; + int cookie_count = 0; + WCHAR hostName[2048], path[2048]; + + TRACE("(%s, %s, %p, %p)\n", debugstr_w(lpszUrl),debugstr_w(lpszCookieName), + lpCookieData, lpdwSize); + + COOKIE_crackUrlSimple(lpszUrl, hostName, sizeof(hostName)/sizeof(hostName[0]), path, sizeof(path)/sizeof(path[0])); + + LIST_FOR_EACH(cursor, &domain_list) + { + cookie_domain *cookiesDomain = LIST_ENTRY(cursor, cookie_domain, entry); + if (COOKIE_matchDomain(hostName, NULL /* FIXME: path */, cookiesDomain, TRUE)) + { + struct list * cursor; + domain_count++; + TRACE("found domain %p\n", cookiesDomain); + + LIST_FOR_EACH(cursor, &cookiesDomain->cookie_list) + { + cookie *thisCookie = LIST_ENTRY(cursor, cookie, entry); + if (lpCookieData == NULL) /* return the size of the buffer required to lpdwSize */ + { + if (cookie_count != 0) + cnt += 2; /* '; ' */ + cnt += strlenW(thisCookie->lpCookieName); + cnt += 1; /* = */ + cnt += strlenW(thisCookie->lpCookieData); + } + else + { + static const WCHAR szsc[] = { ';',' ',0 }; + static const WCHAR szpseq[] = { '%','s','=','%','s',0 }; + if (cookie_count != 0) + cnt += snprintfW(lpCookieData + cnt, *lpdwSize - cnt, szsc); + cnt += snprintfW(lpCookieData + cnt, *lpdwSize - cnt, szpseq, + thisCookie->lpCookieName, + thisCookie->lpCookieData); + TRACE("Cookie: %s=%s\n", debugstr_w(thisCookie->lpCookieName), debugstr_w(thisCookie->lpCookieData)); + } + cookie_count++; + } + } + } + if (lpCookieData == NULL) + { + cnt += 1; /* NULL */ + *lpdwSize = cnt*sizeof(WCHAR); + TRACE("returning\n"); + return TRUE; + } + + if (!domain_count) + return FALSE; + + *lpdwSize = (cnt + 1)*sizeof(WCHAR); + + TRACE("Returning %i (from %i domains): %s\n", cnt, domain_count, + debugstr_w(lpCookieData)); + + return (cnt ? TRUE : FALSE); +} + + +/********************************************************************** * + * InternetGetCookieA (WININET.@) + * + * Retrieve cookie from the specified url + * + * RETURNS + * TRUE on success + * FALSE on failure + * + */ +BOOL WINAPI InternetGetCookieA(LPCSTR lpszUrl, LPCSTR lpszCookieName, + LPSTR lpCookieData, LPDWORD lpdwSize) +{ + DWORD len; + LPWSTR szCookieData = NULL, szUrl = NULL, szCookieName = NULL; + BOOL r; + + TRACE("(%s,%s,%p)\n", debugstr_a(lpszUrl), debugstr_a(lpszCookieName), + lpCookieData); + + if( lpszUrl ) + { + len = MultiByteToWideChar( CP_ACP, 0, lpszUrl, -1, NULL, 0 ); + szUrl = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); + MultiByteToWideChar( CP_ACP, 0, lpszUrl, -1, szUrl, len ); + } + + if( lpszCookieName ) + { + len = MultiByteToWideChar( CP_ACP, 0, lpszCookieName, -1, NULL, 0 ); + szCookieName = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); + MultiByteToWideChar( CP_ACP, 0, lpszCookieName, -1, szCookieName, len ); + } + + r = InternetGetCookieW( szUrl, szCookieName, NULL, &len ); + if( r ) + { + szCookieData = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); + if( !szCookieData ) + return FALSE; + + r = InternetGetCookieW( szUrl, szCookieName, szCookieData, &len ); + + *lpdwSize = WideCharToMultiByte( CP_ACP, 0, szCookieData, len, + lpCookieData, *lpdwSize, NULL, NULL ); + } + + HeapFree( GetProcessHeap(), 0, szCookieData ); + HeapFree( GetProcessHeap(), 0, szCookieName ); + HeapFree( GetProcessHeap(), 0, szUrl ); + + return r; +} + + +/********************************************************************** * + * InternetSetCookieW (WININET.@) + * + * Sets cookie for the specified url + * + * RETURNS + * TRUE on success + * FALSE on failure + * + */ +BOOL WINAPI InternetSetCookieW(LPCWSTR lpszUrl, LPCWSTR lpszCookieName, + LPCWSTR lpCookieData) +{ + cookie_domain *thisCookieDomain = NULL; + cookie *thisCookie; + WCHAR hostName[2048], path[2048]; + struct list * cursor; + + TRACE("(%s,%s,%s)\n", debugstr_w(lpszUrl), + debugstr_w(lpszCookieName), debugstr_w(lpCookieData)); + + if (!lpCookieData || !strlenW(lpCookieData)) + { + TRACE("no cookie data, not adding\n"); + return FALSE; + } + if (!lpszCookieName) + { + /* some apps (or is it us??) try to add a cookie with no cookie name, but + * the cookie data in the form of name=data. */ + /* FIXME, probably a bug here, for now I don't care */ + WCHAR *ourCookieName, *ourCookieData; + int ourCookieNameSize; + BOOL ret; + + if (!(ourCookieData = strchrW(lpCookieData, '='))) + { + TRACE("something terribly wrong with cookie data %s\n", + debugstr_w(ourCookieData)); + return FALSE; + } + ourCookieNameSize = ourCookieData - lpCookieData; + ourCookieData += 1; + ourCookieName = HeapAlloc(GetProcessHeap(), 0, + (ourCookieNameSize + 1)*sizeof(WCHAR)); + memcpy(ourCookieName, ourCookieData, ourCookieNameSize * sizeof(WCHAR)); + ourCookieName[ourCookieNameSize] = '\0'; + TRACE("setting (hacked) cookie of %s, %s\n", + debugstr_w(ourCookieName), debugstr_w(ourCookieData)); + ret = InternetSetCookieW(lpszUrl, ourCookieName, ourCookieData); + HeapFree(GetProcessHeap(), 0, ourCookieName); + return ret; + } + + COOKIE_crackUrlSimple(lpszUrl, hostName, sizeof(hostName)/sizeof(hostName[0]), path, sizeof(path)/sizeof(path[0])); + + LIST_FOR_EACH(cursor, &domain_list) + { + thisCookieDomain = LIST_ENTRY(cursor, cookie_domain, entry); + if (COOKIE_matchDomain(hostName, NULL /* FIXME: path */, thisCookieDomain, FALSE)) + break; + thisCookieDomain = NULL; + } + if (!thisCookieDomain) + thisCookieDomain = COOKIE_addDomain(hostName, path); + + if ((thisCookie = COOKIE_findCookie(thisCookieDomain, lpszCookieName))) + COOKIE_deleteCookie(thisCookie, FALSE); + + thisCookie = COOKIE_addCookie(thisCookieDomain, lpszCookieName, lpCookieData); + return TRUE; +} + + +/********************************************************************** * + * InternetSetCookieA (WININET.@) + * + * Sets cookie for the specified url + * + * RETURNS + * TRUE on success + * FALSE on failure + * + */ +BOOL WINAPI InternetSetCookieA(LPCSTR lpszUrl, LPCSTR lpszCookieName, + LPCSTR lpCookieData) +{ + DWORD len; + LPWSTR szCookieData = NULL, szUrl = NULL, szCookieName = NULL; + BOOL r; + + TRACE("(%s,%s,%s)\n", debugstr_a(lpszUrl), + debugstr_a(lpszCookieName), debugstr_a(lpCookieData)); + + if( lpszUrl ) + { + len = MultiByteToWideChar( CP_ACP, 0, lpszUrl, -1, NULL, 0 ); + szUrl = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); + MultiByteToWideChar( CP_ACP, 0, lpszUrl, -1, szUrl, len ); + } + + if( lpszCookieName ) + { + len = MultiByteToWideChar( CP_ACP, 0, lpszCookieName, -1, NULL, 0 ); + szCookieName = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); + MultiByteToWideChar( CP_ACP, 0, lpszCookieName, -1, szCookieName, len ); + } + + if( lpCookieData ) + { + len = MultiByteToWideChar( CP_ACP, 0, lpCookieData, -1, NULL, 0 ); + szCookieData = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) ); + MultiByteToWideChar( CP_ACP, 0, lpCookieData, -1, szCookieData, len ); + } + + r = InternetSetCookieW( szUrl, szCookieName, szCookieData ); + + HeapFree( GetProcessHeap(), 0, szCookieData ); + HeapFree( GetProcessHeap(), 0, szCookieName ); + HeapFree( GetProcessHeap(), 0, szUrl ); + + return r; +} _____ Added: vendor/wine/dlls/wininet/current/dialogs.c --- vendor/wine/dlls/wininet/current/dialogs.c 2005-04-18 22:11:46 UTC (rev 14686) +++ vendor/wine/dlls/wininet/current/dialogs.c 2005-04-19 04:44:23 UTC (rev 14687) @@ -0,0 +1,384 @@ +/* + * Wininet + * + * Copyright 2003 Mike McCormack for CodeWeavers Inc. + * + * 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 + */ + +#include "config.h" +#include "wine/port.h" + +#include <stdarg.h> + +#include "windef.h" +#include "winbase.h" +#include "winuser.h" +#include "winreg.h" +#include "wininet.h" +#include "winnetwk.h" +#include "winnls.h" +#include "wine/debug.h" +#include "winerror.h" +#define NO_SHLWAPI_STREAM +#include "shlwapi.h" + +#include "internet.h" + +#include "wine/unicode.h" + +#include "resource.h" + +WINE_DEFAULT_DEBUG_CHANNEL(wininet); + +struct WININET_ErrorDlgParams +{ + HWND hWnd; + HINTERNET hRequest; + DWORD dwError; + DWORD dwFlags; + LPVOID* lppvData; +}; + +/********************************************************************** * + * WININET_GetProxyServer + * + * Determine the name of the proxy server the request is using + */ +static BOOL WININET_GetProxyServer( HINTERNET hRequest, LPWSTR szBuf, DWORD sz ) +{ + LPWININETHTTPREQW lpwhr; + LPWININETHTTPSESSIONW lpwhs = NULL; + LPWININETAPPINFOW hIC = NULL; + LPWSTR p; + + lpwhr = (LPWININETHTTPREQW) WININET_GetObject( hRequest ); + if (NULL == lpwhr) + return FALSE; + + lpwhs = (LPWININETHTTPSESSIONW) lpwhr->hdr.lpwhparent; + if (NULL == lpwhs) + return FALSE; + + hIC = (LPWININETAPPINFOW) lpwhs->hdr.lpwhparent; + if (NULL == hIC) + return FALSE; + + lstrcpynW(szBuf, hIC->lpszProxy, sz); + + /* FIXME: perhaps it would be better to use InternetCrackUrl here */ + p = strchrW(szBuf, ':'); + if(*p) + *p = 0; + + return TRUE; +} + +/********************************************************************** * + * WININET_GetAuthRealm + * + * Determine the name of the (basic) Authentication realm + */ +static BOOL WININET_GetAuthRealm( HINTERNET hRequest, LPWSTR szBuf, DWORD sz ) +{ + LPWSTR p, q; + DWORD index; + static const WCHAR szRealm[] = { 'r','e','a','l','m','=',0 }; + + /* extract the Realm from the proxy response and show it */ + index = 0; + if( !HttpQueryInfoW( hRequest, HTTP_QUERY_PROXY_AUTHENTICATE, + szBuf, &sz, &index) ) + return FALSE; + + /* + * FIXME: maybe we should check that we're + * dealing with 'Basic' Authentication + */ + p = strchrW( szBuf, ' ' ); + if( p && !strncmpW( p+1, szRealm, strlenW(szRealm) ) ) + { + /* remove quotes */ + p += 7; + if( *p == '"' ) + { + p++; + q = strrchrW( p, '"' ); + if( q ) + *q = 0; + } + } + + strcpyW( szBuf, p ); + + return TRUE; +} + +/********************************************************************** * + * WININET_GetSetPassword + */ +static BOOL WININET_GetSetPassword( HWND hdlg, LPCWSTR szServer, + LPCWSTR szRealm, BOOL bSet ) +{ + WCHAR szResource[0x80], szUserPass[0x40]; + LPWSTR p; + HWND hUserItem, hPassItem; + DWORD r, dwMagic = 19; + UINT r_len, u_len; + WORD sz; + static const WCHAR szColon[] = { ':',0 }; + static const WCHAR szbs[] = { '/', 0 }; + + hUserItem = GetDlgItem( hdlg, IDC_USERNAME ); + hPassItem = GetDlgItem( hdlg, IDC_PASSWORD ); + + /* now try fetch the username and password */ + lstrcpyW( szResource, szServer); + lstrcatW( szResource, szbs); + lstrcatW( szResource, szRealm); + + /* + * WNetCachePassword is only concerned with the length + * of the data stored (which we tell it) and it does + * not use strlen() internally so we can add WCHAR data + * instead of ASCII data and get it back the same way. + */ + if( bSet ) + { + szUserPass[0] = 0; + GetWindowTextW( hUserItem, szUserPass, + (sizeof szUserPass-1)/sizeof(WCHAR) ); + lstrcatW(szUserPass, szColon); + u_len = strlenW( szUserPass ); + GetWindowTextW( hPassItem, szUserPass+u_len, + (sizeof szUserPass)/sizeof(WCHAR)-u_len ); + + r_len = (strlenW( szResource ) + 1)*sizeof(WCHAR); + u_len = (strlenW( szUserPass ) + 1)*sizeof(WCHAR); + r = WNetCachePassword( (CHAR*)szResource, r_len, + (CHAR*)szUserPass, u_len, dwMagic, 0 ); + + return ( r == WN_SUCCESS ); + } + + sz = sizeof szUserPass; + r_len = (strlenW( szResource ) + 1)*sizeof(WCHAR); + r = WNetGetCachedPassword( (CHAR*)szResource, r_len, + (CHAR*)szUserPass, &sz, dwMagic ); + if( r != WN_SUCCESS ) + return FALSE; + + p = strchrW( szUserPass, ':' ); + if( p ) + { + *p = 0; + SetWindowTextW( hUserItem, szUserPass ); + SetWindowTextW( hPassItem, p+1 ); + } + + return TRUE; +} + +/********************************************************************** * + * WININET_SetProxyAuthorization + */ +static BOOL WININET_SetProxyAuthorization( HINTERNET hRequest, + LPWSTR username, LPWSTR password ) +{ + LPWININETHTTPREQW lpwhr; + LPWININETHTTPSESSIONW lpwhs; + LPWININETAPPINFOW hIC; + LPWSTR p; + + lpwhr = (LPWININETHTTPREQW) WININET_GetObject( hRequest ); + if( !lpwhr ) + return FALSE; + + lpwhs = (LPWININETHTTPSESSIONW) lpwhr->hdr.lpwhparent; + if (NULL == lpwhs || lpwhs->hdr.htype != WH_HHTTPSESSION) + { + INTERNET_SetLastError(ERROR_INTERNET_INCORRECT_HANDLE_TYPE); + return FALSE; + } + + hIC = (LPWININETAPPINFOW) lpwhs->hdr.lpwhparent; + + p = HeapAlloc( GetProcessHeap(), 0, (strlenW( username ) + 1)*sizeof(WCHAR) ); + if( !p ) + return FALSE; + + lstrcpyW( p, username ); + hIC->lpszProxyUsername = p; + + p = HeapAlloc( GetProcessHeap(), 0, (strlenW( password ) + 1)*sizeof(WCHAR) ); + if( !p ) + return FALSE; + + lstrcpyW( p, password ); + hIC->lpszProxyPassword = p; + + return TRUE; +} + +/********************************************************************** * + * WININET_ProxyPasswordDialog + */ +static INT_PTR WINAPI WININET_ProxyPasswordDialog( + HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) +{ + HWND hitem; + struct WININET_ErrorDlgParams *params; + WCHAR szRealm[0x80], szServer[0x80]; + + if( uMsg == WM_INITDIALOG ) + { + TRACE("WM_INITDIALOG (%08lx)\n", lParam); + + /* save the parameter list */ + params = (struct WININET_ErrorDlgParams*) lParam; + SetWindowLongPtrW( hdlg, GWLP_USERDATA, lParam ); + + /* extract the Realm from the proxy response and show it */ + if( WININET_GetAuthRealm( params->hRequest, + szRealm, sizeof szRealm/sizeof(WCHAR)) ) + { + hitem = GetDlgItem( hdlg, IDC_REALM ); + SetWindowTextW( hitem, szRealm ); + } + + /* extract the name of the proxy server */ + if( WININET_GetProxyServer( params->hRequest, + szServer, sizeof szServer/sizeof(WCHAR)) ) + { + hitem = GetDlgItem( hdlg, IDC_PROXY ); + SetWindowTextW( hitem, szServer ); + } + + WININET_GetSetPassword( hdlg, szServer, szRealm, FALSE ); + + return TRUE; + } + + params = (struct WININET_ErrorDlgParams*) + GetWindowLongPtrW( hdlg, GWLP_USERDATA ); + + switch( uMsg ) + { + case WM_COMMAND: + if( wParam == IDOK ) + { + WCHAR username[0x20], password[0x20]; + + username[0] = 0; + hitem = GetDlgItem( hdlg, IDC_USERNAME ); + if( hitem ) + GetWindowTextW( hitem, username, sizeof username/sizeof(WCHAR) ); + + password[0] = 0; + hitem = GetDlgItem( hdlg, IDC_PASSWORD ); + if( hitem ) + GetWindowTextW( hitem, password, sizeof password/sizeof(WCHAR) ); + + hitem = GetDlgItem( hdlg, IDC_SAVEPASSWORD ); + if( hitem && + SendMessageW( hitem, BM_GETSTATE, 0, 0 ) && + WININET_GetAuthRealm( params->hRequest, + szRealm, sizeof szRealm/sizeof(WCHAR)) && + WININET_GetProxyServer( params->hRequest, + szServer, sizeof szServer/sizeof(WCHAR)) ) + { + WININET_GetSetPassword( hdlg, szServer, szRealm, TRUE ); + } + WININET_SetProxyAuthorization( params->hRequest, username, password ); + + EndDialog( hdlg, ERROR_INTERNET_FORCE_RETRY ); + return TRUE; + } + if( wParam == IDCANCEL ) + { + EndDialog( hdlg, 0 ); + return TRUE; + } + break; + } + return FALSE; +} + +/********************************************************************** * + * WININET_GetConnectionStatus + */ +static INT WININET_GetConnectionStatus( HINTERNET hRequest ) +{ + WCHAR szStatus[0x20]; + DWORD sz, index, dwStatus; + + TRACE("%p\n", hRequest ); + + sz = sizeof szStatus; + index = 0; + if( !HttpQueryInfoW( hRequest, HTTP_QUERY_STATUS_CODE, + szStatus, &sz, &index)) + return -1; + dwStatus = atoiW( szStatus ); + + TRACE("request %p status = %ld\n", hRequest, dwStatus ); + + return dwStatus; +} + + +/********************************************************************** * + * InternetErrorDlg + */ +DWORD WINAPI InternetErrorDlg(HWND hWnd, HINTERNET hRequest, + DWORD dwError, DWORD dwFlags, LPVOID* lppvData) +{ + struct WININET_ErrorDlgParams params; + HMODULE hwininet = GetModuleHandleA( "wininet.dll" ); + INT dwStatus; + + TRACE("%p %p %ld %08lx %p\n", hWnd, hRequest, dwError, dwFlags, lppvData); + + params.hWnd = hWnd; + params.hRequest = hRequest; + params.dwError = dwError; + params.dwFlags = dwFlags; + params.lppvData = lppvData; + + switch( dwError ) + { + case ERROR_SUCCESS: + if( !(dwFlags & FLAGS_ERROR_UI_FILTER_FOR_ERRORS ) ) + return 0; + dwStatus = WININET_GetConnectionStatus( hRequest ); + if( HTTP_STATUS_PROXY_AUTH_REQ != dwStatus ) + return ERROR_SUCCESS; + return DialogBoxParamW( hwininet, MAKEINTRESOURCEW( IDD_PROXYDLG ), + hWnd, WININET_ProxyPasswordDialog, (LPARAM) ¶ms ); + + case ERROR_INTERNET_INCORRECT_PASSWORD: + return DialogBoxParamW( hwininet, MAKEINTRESOURCEW( IDD_PROXYDLG ), + hWnd, WININET_ProxyPasswordDialog, (LPARAM) ¶ms ); + + case ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR: + case ERROR_INTERNET_INVALID_CA: + case ERROR_INTERNET_POST_IS_NON_SECURE: + case ERROR_INTERNET_SEC_CERT_CN_INVALID: + case ERROR_INTERNET_SEC_CERT_DATE_INVALID: + FIXME("Need to display dialog for error %ld\n", dwError); + return ERROR_SUCCESS; + } + return ERROR_INVALID_PARAMETER; +} _____ Added: vendor/wine/dlls/wininet/current/ftp.c --- vendor/wine/dlls/wininet/current/ftp.c 2005-04-18 22:11:46 UTC (rev 14686) +++ vendor/wine/dlls/wininet/current/ftp.c 2005-04-19 04:44:23 UTC (rev 14687) @@ -0,0 +1,3141 @@ +/* + * WININET - Ftp implementation + * + * Copyright 1999 Corel Corporation + * Copyright 2004 Mike McCormack for CodeWeavers + * Copyright 2004 Kevin Koltzau + * + * Ulrich Czekalla + * Noureddine Jemmali + * + * Copyright 2000 Andreas Mohr + * Copyright 2002 Jaco Greeff + * + * 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 + */ + +#include "config.h" +#include "wine/port.h" + +#include <errno.h> +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#ifdef HAVE_SYS_SOCKET_H +# include <sys/socket.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif +#include <time.h> +#include <assert.h> + +#include "windef.h" +#include "winbase.h" +#include "wingdi.h" +#include "winuser.h" +#include "wininet.h" +#include "winnls.h" +#include "winerror.h" +#include "winreg.h" +#include "winternl.h" [truncated at 1000 lines; 16095 more skipped]
19 years, 8 months
1
0
0
0
[navaraf] 14686: Reenable ControlService and fix syntax errors in svcctl.idl.
by navaraf@svn.reactos.com
Reenable ControlService and fix syntax errors in svcctl.idl. Modified: trunk/reactos/include/idl/svcctl.idl Modified: trunk/reactos/lib/advapi32/service/scm.c Modified: trunk/reactos/subsys/system/services/rpcserver.c _____ Modified: trunk/reactos/include/idl/svcctl.idl --- trunk/reactos/include/idl/svcctl.idl 2005-04-18 22:00:52 UTC (rev 14685) +++ trunk/reactos/include/idl/svcctl.idl 2005-04-18 22:11:46 UTC (rev 14686) @@ -21,7 +21,7 @@ ] interface svcctl { -cpp_quote("#if 0"); +cpp_quote("#if 0") typedef struct _SERVICE_STATUS { DWORD dwServiceType; @@ -32,17 +32,17 @@ DWORD dwCheckPoint; DWORD dwWaitHint; } SERVICE_STATUS, *LPSERVICE_STATUS; -cpp_quote("#endif"); +cpp_quote("#endif") /* Function 0 */ DWORD ScmrCloseServiceHandle([in] handle_t BindingHandle, [in] SC_HANDLE hSCObject); /* Function 1 */ -// BOOL ScmrControlService([in] handle_t BindingHandle, -// [in] SC_HANDLE hService, -// [in] DWORD dwControl, -// [out] LPSERVICE_STATUS lpServiceStatus); + BOOL ScmrControlService([in] handle_t BindingHandle, + [in] SC_HANDLE hService, + [in] DWORD dwControl, + [out] LPSERVICE_STATUS lpServiceStatus); /* Function 2 */ DWORD ScmrDeleteService([in] handle_t BindingHandle, @@ -85,7 +85,7 @@ [in] DWORD dwErrorControl, [in, string, ref] LPCWSTR lpBinaryPathName, [in, string, unique] LPCWSTR lpLoadOrderGroup, - [out, unique] LPDWORD lpdwTagId, + [out] LPDWORD lpdwTagId, [in, string, unique] LPCWSTR lpDependencies, [in, string, unique] LPCWSTR lpServiceStartName, [in, string, unique] LPCWSTR lpPassword); @@ -119,5 +119,4 @@ [in, string] LPCSTR lpServiceName, [in] DWORD dwDesiredAccess, [out] SC_HANDLE *hScm); - } _____ Modified: trunk/reactos/lib/advapi32/service/scm.c --- trunk/reactos/lib/advapi32/service/scm.c 2005-04-18 22:00:52 UTC (rev 14685) +++ trunk/reactos/lib/advapi32/service/scm.c 2005-04-18 22:11:46 UTC (rev 14686) @@ -169,7 +169,6 @@ DWORD dwControl, LPSERVICE_STATUS lpServiceStatus) { -#if 0 DWORD dwError; DPRINT("ControlService(%x, %x, %p)\n", @@ -192,10 +191,6 @@ DPRINT("ControlService() done\n"); return TRUE; -#endif - DPRINT1("ControlService is unimplemented\n"); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; } _____ Modified: trunk/reactos/subsys/system/services/rpcserver.c --- trunk/reactos/subsys/system/services/rpcserver.c 2005-04-18 22:00:52 UTC (rev 14685) +++ trunk/reactos/subsys/system/services/rpcserver.c 2005-04-18 22:11:46 UTC (rev 14686) @@ -272,7 +272,6 @@ /* Function 1 */ -#if 0 unsigned long ScmrControlService(handle_t BindingHandle, unsigned int hService, @@ -296,7 +295,6 @@ return ERROR_SUCCESS; } -#endif /* Function 2 */
19 years, 8 months
1
0
0
0
[gvg] 14685: Fix copy/paste error
by gvg@svn.reactos.com
Fix copy/paste error Modified: trunk/reactos/bootdata/packages/reactos.dff _____ Modified: trunk/reactos/bootdata/packages/reactos.dff --- trunk/reactos/bootdata/packages/reactos.dff 2005-04-18 21:50:08 UTC (rev 14684) +++ trunk/reactos/bootdata/packages/reactos.dff 2005-04-18 22:00:52 UTC (rev 14685) @@ -90,7 +90,7 @@ lib\kbdgr\kbdgr.dll 1 lib\kbdru\kbdru.dll 1 lib\kbdse\kbdse.dll 1 -lib\kbdda\kbdsg.dll 1 +lib\kbdsg\kbdsg.dll 1 lib\kbduk\kbduk.dll 1 lib\kbdus\kbdus.dll 1 lib\kernel32\kernel32.dll 1
19 years, 8 months
1
0
0
0
[navaraf] 14684: Don't use pointer to freed memory.
by navaraf@svn.reactos.com
Don't use pointer to freed memory. Modified: trunk/reactos/tools/widl/ChangeLog Modified: trunk/reactos/tools/widl/parser.y Modified: trunk/reactos/tools/widl/y.tab.c Modified: trunk/reactos/tools/widl/y.tab.h _____ Modified: trunk/reactos/tools/widl/ChangeLog --- trunk/reactos/tools/widl/ChangeLog 2005-04-18 21:34:11 UTC (rev 14683) +++ trunk/reactos/tools/widl/ChangeLog 2005-04-18 21:50:08 UTC (rev 14684) @@ -1,5 +1,11 @@ ChangeLog +2005-04-18 navaraf + + tools/widl/parser.y + +Don't use pointer to freed memory. + 2005-04-17 ekohl tools/widl/server.c _____ Modified: trunk/reactos/tools/widl/parser.y --- trunk/reactos/tools/widl/parser.y 2005-04-18 21:34:11 UTC (rev 14683) +++ trunk/reactos/tools/widl/parser.y 2005-04-18 21:50:08 UTC (rev 14684) @@ -726,7 +726,6 @@ structdef: tSTRUCT t_ident '{' fields '}' { $$ = get_typev(RPC_FC_STRUCT, $2, tsSTRUCT); /* overwrite RPC_FC_STRUCT with a more exact type */ $$->type = get_struct_type( $4 ); - $$->name = $2->name; $$->fields = $4; $$->defined = TRUE; if(in_typelib) _____ Modified: trunk/reactos/tools/widl/y.tab.c --- trunk/reactos/tools/widl/y.tab.c 2005-04-18 21:34:11 UTC (rev 14683) +++ trunk/reactos/tools/widl/y.tab.c 2005-04-18 21:50:08 UTC (rev 14684) @@ -1,3256 +1,3968 @@ - -/* A Bison parser, made from parser.y - by GNU Bison version 1.28 */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define aIDENTIFIER 257 -#define aKNOWNTYPE 258 -#define aNUM 259 -#define aHEXNUM 260 -#define aSTRING 261 -#define aUUID 262 -#define aEOF 263 -#define SHL 264 -#define SHR 265 -#define tAGGREGATABLE 266 -#define tALLOCATE 267 -#define tAPPOBJECT 268 -#define tARRAYS 269 -#define tASYNC 270 -#define tASYNCUUID 271 -#define tAUTOHANDLE 272 -#define tBINDABLE 273 -#define tBOOLEAN 274 -#define tBROADCAST 275 -#define tBYTE 276 -#define tBYTECOUNT 277 -#define tCALLAS 278 -#define tCALLBACK 279 -#define tCASE 280 -#define tCDECL 281 -#define tCHAR 282 -#define tCOCLASS 283 -#define tCODE 284 -#define tCOMMSTATUS 285 -#define tCONST 286 -#define tCONTEXTHANDLE 287 -#define tCONTEXTHANDLENOSERIALIZE 288 -#define tCONTEXTHANDLESERIALIZE 289 -#define tCONTROL 290 -#define tCPPQUOTE 291 -#define tDEFAULT 292 -#define tDEFAULTVALUE 293 -#define tDISPINTERFACE 294 -#define tDLLNAME 295 -#define tDOUBLE 296 -#define tDUAL 297 -#define tENDPOINT 298 -#define tENTRY 299 -#define tENUM 300 -#define tERRORSTATUST 301 -#define tEXPLICITHANDLE 302 -#define tEXTERN 303 -#define tFLOAT 304 -#define tHANDLE 305 -#define tHANDLET 306 -#define tHELPCONTEXT 307 -#define tHELPFILE 308 -#define tHELPSTRING 309 -#define tHELPSTRINGCONTEXT 310 -#define tHELPSTRINGDLL 311 -#define tHIDDEN 312 -#define tHYPER 313 -#define tID 314 -#define tIDEMPOTENT 315 -#define tIIDIS 316 -#define tIMPLICITHANDLE 317 -#define tIMPORT 318 -#define tIMPORTLIB 319 -#define tIN 320 -#define tINCLUDE 321 -#define tINLINE 322 -#define tINPUTSYNC 323 -#define tINT 324 -#define tINT64 325 -#define tINTERFACE 326 -#define tLENGTHIS 327 -#define tLIBRARY 328 -#define tLOCAL 329 -#define tLONG 330 -#define tMETHODS 331 -#define tMODULE 332 -#define tNONCREATABLE 333 -#define tOBJECT 334 -#define tODL 335 -#define tOLEAUTOMATION 336 -#define tOPTIONAL 337 -#define tOUT 338 -#define tPOINTERDEFAULT 339 -#define tPROPERTIES 340 -#define tPROPGET 341 -#define tPROPPUT 342 -#define tPROPPUTREF 343 -#define tPTR 344 -#define tPUBLIC 345 -#define tREADONLY 346 -#define tREF 347 -#define tRESTRICTED 348 -#define tRETVAL 349 -#define tSHORT 350 -#define tSIGNED 351 -#define tSIZEIS 352 -#define tSIZEOF 353 -#define tSMALL 354 -#define tSOURCE 355 -#define tSTDCALL 356 -#define tSTRING 357 -#define tSTRUCT 358 -#define tSWITCH 359 -#define tSWITCHIS 360 -#define tSWITCHTYPE 361 -#define tTRANSMITAS 362 -#define tTYPEDEF 363 -#define tUNION 364 -#define tUNIQUE 365 -#define tUNSIGNED 366 -#define tUUID 367 -#define tV1ENUM 368 -#define tVARARG 369 -#define tVERSION 370 -#define tVOID 371 -#define tWCHAR 372 -#define tWIREMARSHAL 373 -#define tPOINTERTYPE 374 -#define COND 375 -#define CAST 376 -#define PPTR 377 -#define NEG 378 - -#line 1 "parser.y" - -/* - * IDL Compiler - * - * Copyright 2002 Ove Kaaven - * - * 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 - */ - -#include "config.h" - -#include <stdio.h> -#include <stdlib.h> -#include <stdarg.h> -#include <assert.h> -#include <ctype.h> -#include <string.h> -#ifdef HAVE_ALLOCA_H -#include <alloca.h> -#endif - -#include "widl.h" -#include "utils.h" -#include "parser.h" -#include "header.h" -#include "typelib.h" - -#if defined(YYBYACC) - /* Berkeley yacc (byacc) doesn't seem to know about these */ - /* Some *BSD supplied versions do define these though */ -# ifndef YYEMPTY -# define YYEMPTY (-1) /* Empty lookahead value of yychar */ -# endif -# ifndef YYLEX -# define YYLEX yylex() -# endif - -#elif defined(YYBISON) - /* Bison was used for original development */ - /* #define YYEMPTY -2 */ - /* #define YYLEX yylex() */ - -#else - /* No yacc we know yet */ -# if !defined(YYEMPTY) || !defined(YYLEX) -# error Yacc version/type unknown. This version needs to be verified for settings of YYEMPTY and YYLEX. -# elif defined(__GNUC__) /* gcc defines the #warning directive */ -# warning Yacc version/type unknown. It defines YYEMPTY and YYLEX, but is not tested - /* #else we just take a chance that it works... */ -# endif -#endif - -static attr_t *make_attr(enum attr_type type); -static attr_t *make_attrv(enum attr_type type, unsigned long val); -static attr_t *make_attrp(enum attr_type type, void *val); -static expr_t *make_expr(enum expr_type type); -static expr_t *make_exprl(enum expr_type type, long val); -static expr_t *make_exprs(enum expr_type type, char *val); -static expr_t *make_exprt(enum expr_type type, typeref_t *tref, expr_t *expr); -static expr_t *make_expr1(enum expr_type type, expr_t *expr); -static expr_t *make_expr2(enum expr_type type, expr_t *exp1, expr_t *exp2); -static expr_t *make_expr3(enum expr_type type, expr_t *expr1, expr_t *expr2, expr_t *expr3); -static type_t *make_type(unsigned char type, type_t *ref); -static typeref_t *make_tref(char *name, type_t *ref); -static typeref_t *uniq_tref(typeref_t *ref); -static type_t *type_ref(typeref_t *ref); -static void set_type(var_t *v, typeref_t *ref, expr_t *arr); -static ifref_t *make_ifref(type_t *iface); -static var_t *make_var(char *name); -static func_t *make_func(var_t *def, var_t *args); -static class_t *make_class(char *name); - -static type_t *reg_type(type_t *type, char *name, int t); -static type_t *reg_types(type_t *type, var_t *names, int t); -static type_t *find_type(char *name, int t); -static type_t *find_type2(char *name, int t); -static type_t *get_type(unsigned char type, char *name, int t); -static type_t *get_typev(unsigned char type, var_t *name, int t); -static int get_struct_type(var_t *fields); - -static var_t *reg_const(var_t *var); -static var_t *find_const(char *name, int f); - -#define tsENUM 1 -#define tsSTRUCT 2 -#define tsUNION 3 - -static type_t std_bool = { "boolean" }; -static type_t std_int = { "int" }; -static type_t std_int64 = { "__int64" }; -static type_t std_uhyper = { "MIDL_uhyper" }; - - -#line 106 "parser.y" -typedef union { - attr_t *attr; - expr_t *expr; - type_t *type; - typeref_t *tref; - var_t *var; - func_t *func; - ifref_t *ifref; - class_t *clas; - char *str; - UUID *uuid; - unsigned int num; -} YYSTYPE; -#include <stdio.h> - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 462 -#define YYFLAG -32768 -#define YYNTBASE 144 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 378 ? yytranslate[x] : 216) - -static const short yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 124, 2, 134, - 135, 127, 126, 121, 125, 143, 128, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 140, 133, 2, - 141, 2, 142, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 138, 2, 139, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 136, 123, 137, 129, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 122, 130, 131, 132 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 3, 6, 9, 12, 15, 18, 21, 22, - 25, 28, 31, 34, 37, 38, 42, 45, 47, 50, - 52, 55, 58, 60, 63, 66, 69, 74, 78, 82, - 85, 89, 93, 94, 96, 98, 100, 104, 106, 111, - 115, 122, 128, 129, 133, 137, 139, 143, 148, 149, - 151, 155, 157, 161, 166, 168, 170, 175, 180, 182, - 184, 186, 188, 190, 195, 200, 205, 207, 212, 217, - 222, 224, 226, 231, 236, 241, 246, 251, 253, 258, - 260, 265, 271, 273, 275, 280, 282, 284, 286, 288, - 290, 292, 294, 299, 301, 303, 305, 307, 309, 311, - 313, 315, 317, 322, 324, 326, 331, 336, 341, 343, - 348, 350, 352, 357, 362, 364, 365, 367, 368, 371, - 376, 380, 386, 387, 390, 392, 394, 398, 402, 404, - 410, 412, 416, 417, 419, 421, 423, 425, 431, 435, - 439, 443, 447, 451, 455, 459, 463, 466, 469, 472, - 477, 482, 486, 488, 492, 494, 499, 500, 503, 506, - 510, 513, 515, 520, 528, 529, 531, 532, 534, 536, - 538, 540, 542, 544, 546, 548, 550, 552, 555, 558, - 560, 562, 564, 566, 568, 570, 571, 573, 575, 578, - 581, 584, 587, 589, 591, 594, 597, 600, 605, 606, - 609, 612, 615, 618, 621, 624, 628, 631, 635, 641, - 642, 645, 648, 651, 654, 660, 668, 670, 673, 676, - 679, 682, 685, 690, 693, 696, 698, 700, 704, 706, - 710, 712, 714, 720, 722, 724, 726, 729, 731, 734, - 736, 739, 741, 744, 749, 755, 766, 768 -}; - -static const short yyrhs[] = { 145, - 0, 0, 145, 203, 0, 145, 202, 0, 145, 191, - 0, 145, 206, 0, 145, 154, 0, 145, 148, 0, - 0, 146, 203, 0, 146, 202, 0, 146, 191, 0, - 146, 206, 0, 146, 148, 0, 0, 147, 182, 133, - 0, 147, 148, 0, 133, 0, 168, 133, 0, 149, - 0, 172, 133, 0, 178, 133, 0, 151, 0, 211, - 133, 0, 213, 133, 0, 214, 133, 0, 37, 134, - 7, 135, 0, 64, 7, 133, 0, 150, 146, 9, - 0, 74, 3, 0, 162, 152, 136, 0, 153, 146, - 137, 0, 0, 157, 0, 117, 0, 158, 0, 157, - 121, 158, 0, 156, 0, 162, 212, 208, 159, 0, - 212, 208, 159, 0, 162, 212, 208, 134, 155, 135, - 0, 212, 208, 134, 155, 135, 0, 0, 138, 160, - 139, 0, 138, 127, 139, 0, 174, 0, 160, 121, - 175, 0, 160, 139, 138, 175, 0, 0, 162, 0, - 138, 163, 139, 0, 164, 0, 163, 121, 164, 0, - 163, 139, 138, 164, 0, 16, 0, 18, 0, 24, - 134, 185, 135, 0, 26, 134, 176, 135, 0, 33, - 0, 34, 0, 35, 0, 36, 0, 38, 0, 39, - 134, 177, 135, 0, 39, 134, 7, 135, 0, 41, - 134, 7, 135, 0, 43, 0, 44, 134, 7, 135, - 0, 45, 134, 7, 135, 0, 45, 134, 177, 135, - 0, 48, 0, 51, 0, 53, 134, 177, 135, 0, - 54, 134, 7, 135, 0, 55, 134, 7, 135, 0, - 56, 134, 177, 135, 0, 57, 134, 7, 135, 0, - 58, 0, 60, 134, 177, 135, 0, 61, 0, 62, - 134, 185, 135, 0, 63, 134, 52, 3, 135, 0, - 66, 0, 69, 0, 73, 134, 173, 135, 0, 75, - 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, - 0, 84, 0, 85, 134, 210, 135, 0, 87, 0, - 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, - 93, 0, 94, 0, 95, 0, 98, 134, 173, 135, - 0, 101, 0, 103, 0, 106, 134, 175, 135, 0, - 107, 134, 212, 135, 0, 108, 134, 212, 135, 0, - 111, 0, 113, 134, 8, 135, 0, 114, 0, 115, - 0, 116, 134, 215, 135, 0, 119, 134, 212, 135, - 0, 210, 0, 0, 102, 0, 0, 166, 167, 0, - 26, 175, 140, 180, 0, 38, 140, 180, 0, 32, - 212, 185, 141, 177, 0, 0, 170, 121, 0, 170, - 0, 171, 0, 170, 121, 171, 0, 185, 141, 177, - 0, 185, 0, 46, 184, 136, 169, 137, 0, 174, - 0, 173, 121, 174, 0, 0, 175, 0, 5, 0, - 6, 0, 3, 0, 175, 142, 175, 140, 175, 0, - 175, 123, 175, 0, 175, 124, 175, 0, 175, 126, - 175, 0, 175, 125, 175, 0, 175, 127, 175, 0, - 175, 128, 175, 0, 175, 10, 175, 0, 175, 11, - 175, 0, 129, 175, 0, 125, 175, 0, 127, 175, - 0, 134, 212, 135, 175, 0, 99, 134, 212, 135, - 0, 134, 175, 135, 0, 177, 0, 176, 121, 177, - 0, 175, 0, 49, 32, 212, 185, 0, 0, 179, - 180, 0, 181, 133, 0, 161, 214, 133, 0, 162, - 133, 0, 133, 0, 161, 212, 208, 159, 0, 161, - 212, 165, 208, 134, 155, 135, 0, 0, 185, 0, - 0, 3, 0, 4, 0, 3, 0, 4, 0, 60, - 0, 95, 0, 116, 0, 22, 0, 118, 0, 188, - 0, 97, 188, 0, 112, 188, 0, 112, 0, 50, - 0, 42, 0, 20, 0, 47, 0, 52, 0, 0, - 70, 0, 70, 0, 100, 187, 0, 96, 187, 0, - 76, 187, 0, 59, 187, 0, 71, 0, 28, 0, - 29, 3, 0, 29, 4, 0, 162, 189, 0, 190, - 136, 192, 137, 0, 0, 192, 193, 0, 161, 203, - 0, 40, 3, 0, 40, 4, 0, 162, 194, 0, - 86, 140, 0, 196, 181, 133, 0, 77, 140, 0, - 197, 182, 133, 0, 195, 136, 196, 197, 137, 0, - 0, 140, 4, 0, 72, 3, 0, 72, 4, 0, - 162, 200, 0, 201, 199, 136, 147, 137, 0, 201, - 140, 3, 136, 151, 147, 137, 0, 198, 0, 200, - 133, 0, 194, 133, 0, 78, 3, 0, 78, 4, - 0, 162, 204, 0, 205, 136, 147, 137, 0, 127, - 208, 0, 32, 207, 0, 185, 0, 207, 0, 134, - 208, 135, 0, 208, 0, 209, 121, 208, 0, 93, - 0, 111, 0, 104, 184, 136, 179, 137, 0, 117, - 0, 4, 0, 186, 0, 32, 212, 0, 172, 0, - 46, 3, 0, 211, 0, 104, 3, 0, 214, 0, - 110, 3, 0, 109, 161, 212, 209, 0, 110, 184, - 136, 179, 137, 0, 110, 184, 105, 134, 181, 135, - 183, 136, 166, 137, 0, 5, 0, 5, 143, 5, - 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 227, 230, 231, 232, 233, 234, 235, 236, 239, 240, - 241, 242, 243, 244, 247, 248, 249, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 263, 265, 268, 271, - 273, 275, 278, 279, 282, 285, 286, 287, 291, 295, - 298, 304, 311, 312, 313, 316, 317, 318, 321, 322, - 325, 329, 330, 331, 334, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 398, 399, 402, 403, 408, - 412, 418, 425, 426, 427, 430, 431, 437, 442, 448, - 456, 457, 470, 471, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 494, 495, 498, 504, 509, 510, 515, 516, - 517, 518, 521, 524, 535, 536, 539, 540, 541, 544, - 546, 547, 548, 549, 552, 553, 554, 555, 556, 568, - 570, 571, 572, 573, 574, 577, 578, 581, 582, 583, - 584, 585, 586, 587, 590, 591, 594, 601, 606, 607, - 610, 614, 615, 618, 630, 631, 634, 635, 638, 653, - 654, 657, 658, 661, 669, 677, 684, 687, 689, 692, - 693, 696, 701, 707, 708, 711, 712, 713, 716, 718, - 721, 723, 726, 737, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 749, 762, 766, 779, 781 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","aIDENTIFIER", -"aKNOWNTYPE","aNUM","aHEXNUM","aSTRING","aUUID","aEOF","SHL","SHR","tAG GREGATABLE", -"tALLOCATE","tAPPOBJECT","tARRAYS","tASYNC","tASYNCUUID","tAUTOHANDLE", "tBINDABLE", -"tBOOLEAN","tBROADCAST","tBYTE","tBYTECOUNT","tCALLAS","tCALLBACK","tCA SE","tCDECL", -"tCHAR","tCOCLASS","tCODE","tCOMMSTATUS","tCONST","tCONTEXTHANDLE","tCO NTEXTHANDLENOSERIALIZE", -"tCONTEXTHANDLESERIALIZE","tCONTROL","tCPPQUOTE","tDEFAULT","tDEFAULTVA LUE", -"tDISPINTERFACE","tDLLNAME","tDOUBLE","tDUAL","tENDPOINT","tENTRY","tEN UM","tERRORSTATUST", -"tEXPLICITHANDLE","tEXTERN","tFLOAT","tHANDLE","tHANDLET","tHELPCONTEXT ","tHELPFILE", -"tHELPSTRING","tHELPSTRINGCONTEXT","tHELPSTRINGDLL","tHIDDEN","tHYPER", "tID", -"tIDEMPOTENT","tIIDIS","tIMPLICITHANDLE","tIMPORT","tIMPORTLIB","tIN"," tINCLUDE", -"tINLINE","tINPUTSYNC","tINT","tINT64","tINTERFACE","tLENGTHIS","tLIBRA RY","tLOCAL", -"tLONG","tMETHODS","tMODULE","tNONCREATABLE","tOBJECT","tODL","tOLEAUTO MATION", -"tOPTIONAL","tOUT","tPOINTERDEFAULT","tPROPERTIES","tPROPGET","tPROPPUT ","tPROPPUTREF", -"tPTR","tPUBLIC","tREADONLY","tREF","tRESTRICTED","tRETVAL","tSHORT","t SIGNED", -"tSIZEIS","tSIZEOF","tSMALL","tSOURCE","tSTDCALL","tSTRING","tSTRUCT"," tSWITCH", -"tSWITCHIS","tSWITCHTYPE","tTRANSMITAS","tTYPEDEF","tUNION","tUNIQUE"," tUNSIGNED", -"tUUID","tV1ENUM","tVARARG","tVERSION","tVOID","tWCHAR","tWIREMARSHAL", "tPOINTERTYPE", -"','","COND","'|'","'&'","'-'","'+'","'*'","'/'","'~'","CAST","PPTR","N EG","';'", -"'('","')'","'{'","'}'","'['","']'","':'","'='","'?'","'.'","input","gb l_statements", -"imp_statements","int_statements","statement","cppquote","import_start" ,"import", -"libraryhdr","library_start","librarydef","m_args","no_args","args","ar g","array", -"array_list","m_attributes","attributes","attrib_list","attribute","cal lconv", -"cases","case","constdef","enums","enum_list","enum","enumdef","m_exprs ","m_expr", -"expr","expr_list_const","expr_const","externdef","fields","field","s_f ield", -"funcdef","m_ident","t_ident","ident","base_type","m_int","int_std","co class", -"coclasshdr","coclassdef","coclass_ints","coclass_int","dispinterface", "dispinterfacehdr", -"dispint_props","dispint_meths","dispinterfacedef","inherit","interface ","interfacehdr", -"interfacedef","interfacedec","module","modulehdr","moduledef","p_ident ","pident", -"pident_list","pointer_type","structdef","type","typedef","uniondef","v ersion", NULL -}; -#endif - -static const short yyr1[] = { 0, - 144, 145, 145, 145, 145, 145, 145, 145, 146, 146, - 146, 146, 146, 146, 147, 147, 147, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 149, 150, 151, 152, - 153, 154, 155, 155, 156, 157, 157, 157, 158, 158, - 158, 158, 159, 159, 159, 160, 160, 160, 161, 161, - 162, 163, 163, 163, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 165, 165, 166, 166, 167, - 167, 168, 169, 169, 169, 170, 170, 171, 171, 172, - 173, 173, 174, 174, 175, 175, 175, 175, 175, 175, - 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, - 175, 175, 176, 176, 177, 178, 179, 179, 180, 180, - 180, 180, 181, 182, 183, 183, 184, 184, 184, 185, - 185, 185, 185, 185, 186, 186, 186, 186, 186, 186, - 186, 186, 186, 186, 186, 187, 187, 188, 188, 188, - 188, 188, 188, 188, 189, 189, 190, 191, 192, 192, - 193, 194, 194, 195, 196, 196, 197, 197, 198, 199, - 199, 200, 200, 201, 202, 202, 202, 203, 203, 204, - 204, 205, 206, 207, 207, 208, 208, 208, 209, 209, - 210, 210, 211, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 213, 214, 214, 215, 215 -}; - -static const short yyr2[] = { 0, - 1, 0, 2, 2, 2, 2, 2, 2, 0, 2, - 2, 2, 2, 2, 0, 3, 2, 1, 2, 1, - 2, 2, 1, 2, 2, 2, 4, 3, 3, 2, - 3, 3, 0, 1, 1, 1, 3, 1, 4, 3, - 6, 5, 0, 3, 3, 1, 3, 4, 0, 1, - 3, 1, 3, 4, 1, 1, 4, 4, 1, 1, - 1, 1, 1, 4, 4, 4, 1, 4, 4, 4, - 1, 1, 4, 4, 4, 4, 4, 1, 4, 1, - 4, 5, 1, 1, 4, 1, 1, 1, 1, 1, - 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 1, 1, 4, 4, 4, 1, 4, - 1, 1, 4, 4, 1, 0, 1, 0, 2, 4, - 3, 5, 0, 2, 1, 1, 3, 3, 1, 5, - 1, 3, 0, 1, 1, 1, 1, 5, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 4, - 4, 3, 1, 3, 1, 4, 0, 2, 2, 3, - 2, 1, 4, 7, 0, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, - 1, 1, 1, 1, 1, 0, 1, 1, 2, 2, - 2, 2, 1, 1, 2, 2, 2, 4, 0, 2, - 2, 2, 2, 2, 2, 3, 2, 3, 5, 0, - 2, 2, 2, 2, 5, 7, 1, 2, 2, 2, - 2, 2, 4, 2, 2, 1, 1, 3, 1, 3, - 1, 1, 5, 1, 1, 1, 2, 1, 2, 1, - 2, 1, 2, 4, 5, 10, 1, 3 -}; - -static const short yydefact[] = { 2, - 1, 0, 0, 0, 167, 0, 0, 0, 167, 49, - 167, 18, 0, 8, 20, 9, 23, 9, 7, 0, - 0, 0, 0, 0, 5, 0, 0, 217, 0, 210, - 4, 3, 0, 6, 0, 0, 0, 235, 183, 175, - 194, 0, 182, 167, 184, 181, 185, 186, 188, 193, - 186, 186, 0, 186, 167, 167, 180, 234, 176, 238, - 236, 177, 240, 0, 242, 0, 202, 203, 168, 169, - 0, 0, 0, 212, 213, 0, 0, 50, 0, 55, - 56, 0, 0, 59, 60, 61, 62, 63, 0, 0, - 67, 0, 0, 71, 72, 0, 0, 0, 0, 0, - 78, 0, 80, 0, 0, 83, 84, 0, 86, 87, - 88, 89, 90, 91, 92, 0, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 0, 104, 105, 0, 0, - 0, 109, 0, 111, 112, 0, 0, 0, 52, 115, - 0, 0, 0, 0, 0, 0, 197, 204, 214, 222, - 19, 21, 22, 199, 219, 0, 218, 0, 0, 15, - 24, 25, 26, 237, 239, 187, 192, 191, 190, 178, - 189, 241, 243, 179, 170, 171, 172, 173, 174, 0, - 0, 123, 0, 28, 157, 0, 0, 157, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 133, 0, 133, 0, 0, 0, 0, 0, - 0, 0, 51, 29, 14, 0, 12, 11, 10, 13, - 32, 195, 196, 30, 220, 221, 31, 49, 0, 49, - 0, 211, 15, 49, 0, 27, 0, 125, 126, 129, - 156, 49, 0, 0, 0, 226, 227, 229, 244, 49, - 49, 0, 137, 135, 136, 0, 0, 0, 0, 0, - 155, 0, 153, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 131, 134, - 231, 232, 0, 0, 0, 0, 0, 0, 247, 0, - 0, 53, 0, 198, 0, 200, 205, 0, 0, 0, - 49, 0, 49, 223, 17, 0, 0, 122, 130, 124, - 0, 162, 233, 0, 50, 158, 0, 225, 224, 0, - 0, 0, 245, 57, 0, 148, 149, 147, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 58, 65, 64, 66, 68, 69, 70, 73, 74, 75, - 76, 77, 79, 81, 0, 133, 85, 93, 103, 106, - 107, 108, 110, 0, 113, 114, 54, 201, 207, 0, - 206, 209, 0, 15, 215, 116, 16, 127, 128, 242, - 161, 159, 228, 230, 165, 0, 152, 0, 145, 146, - 139, 140, 142, 141, 143, 144, 0, 154, 82, 132, - 248, 43, 208, 49, 117, 0, 160, 0, 166, 151, - 150, 0, 133, 163, 216, 0, 118, 138, 0, 0, - 46, 33, 0, 45, 0, 44, 234, 0, 38, 34, - 36, 0, 0, 0, 0, 246, 119, 47, 0, 164, - 0, 0, 43, 0, 49, 48, 37, 43, 33, 40, - 49, 121, 33, 39, 0, 120, 0, 42, 41, 0, - 0, 0 -}; - -static const short yydefgoto[] = { 460, - 1, 141, 234, 305, 15, 16, 17, 146, 18, 19, - 428, 429, 430, 431, 414, 420, 306, 78, 138, 139, - 406, 423, 437, 21, 237, 238, 239, 60, 278, 279, - 261, 262, 263, 23, 242, 316, 317, 307, 408, 71, - 246, 61, 167, 62, 147, 24, 217, 228, 296, 26, - 27, 230, 301, 28, 159, 29, 30, 218, 219, 150, - 33, 220, 247, 248, 249, 140, 63, 433, 36, 65, - 290 -}; - -static const short yypact[] = {-32768, - 514, 533, -109, 177, 188, 15, 30, 207, 188, -79, - 188,-32768, 742,-32768,-32768,-32768,-32768,-32768,-32768, 24, - -83, -54, -36, -20,-32768, -27, -5,-32768, -11, 2, --32768,-32768, 17,-32768, 6, 42, 60,-32768,-32768,-32768, --32768, 533,-32768, 215,-32768,-32768,-32768, 54,-32768,-32768, - 54, 54, 29, 54, 265, 270, 29,-32768,-32768,-32768, --32768,-32768,-32768, 299,-32768, 175,-32768,-32768,-32768,-32768, - 66, 533, 83,-32768,-32768, 91, 533,-32768, -74,-32768, --32768, 96, 98,-32768,-32768,-32768,-32768,-32768, 102, 117, --32768, 119, 126,-32768,-32768, 129, 131, 141, 145, 151, --32768, 160,-32768, 161, 162,-32768,-32768, 163,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 164,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 167,-32768,-32768, 178, 180, - 182,-32768, 184,-32768,-32768, 186, 187, -88,-32768,-32768, - 498, 595, 274, 306, 279, 189,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 225,-32768, 284, 191,-32768, --32768,-32768,-32768,-32768, 192,-32768,-32768,-32768,-32768,-32768, --32768, 192, -71,-32768,-32768,-32768,-32768,-32768,-32768, 183, - 194, 299, 299,-32768,-32768, 394, 198,-32768, 299, 220, - 106, 316, 326, 130, 220, 328, 329, 220, 330, 220, - 299, 287, 220, -45, 220, 220, 533, 533, 332, 336, - 533, 742, 204,-32768,-32768, 32,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 152, 203, -57, - 212,-32768,-32768, 616, 220,-32768, 213, 237,-32768, 214, --32768, -30, -9, 394, 394,-32768,-32768,-32768, 239, -79, - -10, 235,-32768,-32768,-32768, 240, 220, 220, 220, 472, - 357, -61,-32768, 241, 243, 244, 247, 254, 255, 257, - 258, 268, 269, 271, 276, 281, 372, -50,-32768, 357, --32768,-32768, 282, -46, 72, 283, 288, 289, 262, 292, - 293,-32768, 742,-32768, -14,-32768,-32768, 290, 533, 296, - 154, 358, 626,-32768,-32768, 533, 298,-32768,-32768, 299, - 220,-32768,-32768, 533, 301,-32768, 302,-32768,-32768, 297, - 394, 303,-32768,-32768, 533, 294, 294, 294, 238, 304, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 307, 220,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 436,-32768,-32768,-32768,-32768,-32768, 394, --32768,-32768, 314,-32768,-32768, 353,-32768,-32768,-32768, 318, --32768,-32768,-32768,-32768, 299, 321,-32768, 220, 294, 294, - 31, 59, 35, 35, 18, 18, 260,-32768,-32768,-32768, --32768, 319,-32768, 636,-32768, 394,-32768, 322,-32768,-32768, - 294, 220, 407,-32768,-32768, 331,-32768, 357, 49, -72, --32768, 234, -16,-32768, 220, 324, -34, 325,-32768, 342, --32768, 533, 394, 220, 339,-32768,-32768, 357, 220,-32768, - 349, 394, -4, 346, -98, 357,-32768, 56, 234,-32768, - -98,-32768, 234,-32768, 333,-32768, 355,-32768,-32768, 464, - 491,-32768 -}; - -static const short yypgoto[] = {-32768, --32768, 475, -220, 8,-32768,-32768, 193,-32768,-32768,-32768, - -236,-32768,-32768, 55, -380,-32768, -8, -1,-32768, -198, --32768,-32768,-32768,-32768,-32768,-32768, 195, 5, 308, -329, - -167,-32768, -179,-32768, 309, -365, -206, 197,-32768, 21, - -63,-32768, 63, 171,-32768,-32768, 500,-32768,-32768, -13, --32768,-32768,-32768,-32768,-32768, -12,-32768, 501, 4,-32768, --32768, 502, 266, -227,-32768, 311, 10, 1,-32768, 3, --32768 -}; - - -#define YYLAST 861 - - -static const short yytable[] = { 20, - 180, 77, 64, 37, 32, 22, 148, 149, 14, 434, - 35, 265, 303, 292, 269, 270, 319, 320, 273, 298, - 275, 435, 243, 300, 66, 4, 400, 331, 332, 76, - 187, 79, 212, -168, 312, 280, 73, 280, 285, 13, - 331, 332, 164, 322, 331, 332, 72, 281, 425, 151, - 213, 253, 143, 254, 255, 308, 41, 8, 13, 340, - 143, 188, 450, 4, -168, 282, 426, 454, 331, 332, - 356, 4, 183, 341, 356, 76, 79, 186, 152, 452, - 13, 331, 332, 421, 357, 456, -35, 48, 359, 326, - 327, 328, 329, 384, 367, 8, 153, 144, 49, 50, - -35, 145, 312, 8, 51, 155, 313, 13, 253, 145, - 254, 255, 264, 168, 169, 154, 171, 244, 240, 241, - 436, 157, 312, 166, 52, 252, 323, 13, 54, 449, - 156, 379, 253, 413, 254, 255, 268, 276, 161, 216, - 216, 158, 402, 37, 37, 22, 22, 256, 215, 215, - 35, 35, 160, 404, 334, 335, 336, 337, 338, 339, - 398, 337, 338, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 339, 257, 162, 258, 339, 259, 416, 67, - 68, 181, 260, 335, 336, 337, 338, 424, 280, 453, - 69, 70, 163, 413, 333, 334, 335, 336, 337, 338, - 339, 182, 148, 149, 256, 443, 360, 286, 287, 74, - 75, 291, 455, 339, 448, 184, 457, 165, 70, 295, - 411, 299, 253, 170, 254, 255, 185, 174, 256, 189, - 257, 190, 258, 314, 259, 191, 37, 38, 22, 260, - 315, 299, 314, 35, 418, 280, 240, 331, 332, 315, - 192, 327, 193, 39, 257, 40, 258, 438, 259, 194, - 330, 41, 195, 260, 196, 42, 444, 172, 70, 331, - 332, 446, 173, 70, 197, 43, 222, 223, 198, 44, - 45, 225, 226, 46, 199, 47, 231, 232, 294, 13, - 372, 13, 48, 200, 201, 202, 203, 204, 368, 370, - 205, 175, 176, 49, 50, 37, 376, 22, 224, 51, - 229, 206, 35, 207, 370, 208, 380, 209, 256, 210, - 211, 409, 266, 235, 227, 386, 233, -168, 236, 52, - 53, 250, 267, 54, 271, 272, 274, 55, 277, 288, - 289, 293, 297, 56, 257, 57, 258, 302, 259, 309, - 427, 59, 38, 260, 311, 331, 332, 310, 177, 321, - 333, 334, 335, 336, 337, 338, 331, 332, 39, 324, - 40, 13, 387, 325, 355, 342, 41, 343, 344, 339, - 42, 345, 333, 334, 335, 336, 337, 338, 346, 347, - 43, 348, 349, 178, 44, 45, 175, 176, 46, 412, - 47, 339, 350, 351, 364, 352, 37, 48, 22, 253, - 353, 254, 255, 35, 179, 354, 358, 361, 49, 50, - 432, 7, 362, 363, 51, 243, 365, 366, 371, 369, - 377, 383, 442, 381, 382, 339, 314, 385, 388, 432, - 401, 399, 314, 315, 52, 53, 403, 432, 54, 315, - 407, 432, 55, 177, 405, 410, 413, 417, 56, 440, - 57, 439, 441, 461, 422, 58, 59, 458, 333, 334, - 335, 336, 337, 338, 253, 38, 254, 255, 445, 333, - 334, 335, 336, 337, 338, 451, 13, 339, 178, 459, - 462, 39, 142, 40, 374, 447, 251, 373, 339, 41, - 25, 31, 34, 42, 378, 256, 214, 0, 318, 179, - 0, 0, 284, 43, 283, 0, 0, 44, 45, 0, - 244, 46, 0, 47, 0, 0, 0, 245, 0, 2, - 48, 257, 0, 419, 3, 259, 38, 4, 0, 0, - 260, 49, 50, 5, 0, 2, 6, 51, 0, 0, - 3, 0, 39, 4, 40, 0, 0, 0, 0, 5, - 41, 7, 6, 0, 42, 0, 0, 52, 53, 8, - 256, 54, 0, 0, 43, 55, 0, 7, 44, 45, - 0, 56, 46, 57, 47, 8, 0, 0, 58, 59, - 0, 48, 0, 0, 0, 0, 257, 0, 258, 0, - 259, 9, 49, 50, 0, 260, 10, 11, 51, 0, - 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, - 0, 0, 10, 11, 0, 0, 2, 0, 52, 53, - 12, 3, 54, 0, 4, 13, 55, 0, 0, 0, - 5, 0, 56, 6, 57, 0, 12, 2, 0, 58, - 59, 13, 3, 0, 0, 0, 0, 2, 7, 0, - 0, 5, 3, 0, 6, 0, 8, 2, 0, 0, - 0, 5, 3, 0, 6, 0, 0, 0, 0, 7, - 0, 5, 0, 0, 6, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 9, 7, - 0, 0, 0, 10, 11, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, - 0, 0, 0, 0, 10, 11, 0, 12, 0, 9, - 0, 221, 13, 0, 10, 11, 0, 0, 0, 9, - 0, 0, 0, 0, 10, 11, 0, 0, 12, 0, - 0, 0, 304, 13, 0, 0, 0, 80, 12, 81, - 0, 0, 375, 13, 0, 82, 0, 83, 12, 0, - 0, 0, 415, 13, 84, 85, 86, 87, 0, 88, - 89, 0, 90, 0, 91, 92, 93, 0, 0, 94, - 0, 0, 95, 0, 96, 97, 98, 99, 100, 101, - 0, 102, 103, 104, 105, 0, 0, 106, 0, 0, - 107, 0, 0, 0, 108, 0, 109, 0, 0, 0, - 110, 111, 112, 113, 114, 115, 116, 0, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 126, - 0, 0, 127, 0, 128, 0, 0, 129, 130, 131, - 0, 0, 132, 0, 133, 134, 135, 136, 0, 0, - 137 -}; - -static const short yycheck[] = { 1, - 64, 10, 2, 1, 1, 1, 20, 20, 1, 26, - 1, 191, 233, 212, 194, 195, 244, 245, 198, 77, - 200, 38, 32, 230, 134, 40, 356, 10, 11, 9, - 105, 11, 121, 105, 133, 203, 7, 205, 206, 138, - 10, 11, 42, 250, 10, 11, 32, 93, 121, 133, - 139, 3, 29, 5, 6, 235, 28, 72, 138, 121, - 29, 136, 443, 40, 136, 111, 139, 448, 10, 11, - 121, 40, 72, 135, 121, 55, 56, 77, 133, 445, - 138, 10, 11, 413, 135, 451, 121, 59, 135, 257, - 258, 259, 260, 321, 293, 72, 133, 74, 70, 71, - 135, 78, 133, 72, 76, 133, 137, 138, 3, 78, - 5, 6, 7, 51, 52, 136, 54, 127, 182, 183, - 137, 133, 133, 70, 96, 189, 137, 138, 100, 134, - 136, 311, 3, 138, 5, 6, 7, 201, 133, 141, - 142, 140, 370, 141, 142, 141, 142, 99, 141, 142, - 141, 142, 136, 374, 124, 125, 126, 127, 128, 142, - 340, 127, 128, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 142, 125, 133, 127, 142, 129, 406, 3, - 4, 7, 134, 125, 126, 127, 128, 139, 356, 134, - 3, 4, 133, 138, 123, 124, 125, 126, 127, 128, - 142, 136, 216, 216, 99, 433, 135, 207, 208, 3, - 4, 211, 449, 142, 442, 133, 453, 3, 4, 228, - 388, 230, 3, 53, 5, 6, 136, 57, 99, 134, - 125, 134, 127, 242, 129, 134, 234, 4, 234, 134, - 242, 250, 251, 234, 412, 413, 310, 10, 11, 251, - 134, 419, 134, 20, 125, 22, 127, 425, 129, 134, - 260, 28, 134, 134, 134, 32, 434, 3, 4, 10, - 11, 439, 3, 4, 134, 42, 3, 4, 134, 46, - 47, 3, 4, 50, 134, 52, 3, 4, 137, 138, - 137, 138, 59, 134, 134, 134, 134, 134, 295, 299, - 134, 3, 4, 70, 71, 303, 306, 303, 3, 76, - 86, 134, 303, 134, 314, 134, 314, 134, 99, 134, - 134, 385, 7, 141, 136, 325, 136, 136, 135, 96, - 97, 134, 7, 100, 7, 7, 7, 104, 52, 8, - 5, 138, 140, 110, 125, 112, 127, 136, 129, 137, - 117, 118, 4, 134, 141, 10, 11, 121, 60, 121, - 123, 124, 125, 126, 127, 128, 10, 11, 20, 135, - 22, 138, 135, 134, 3, 135, 28, 135, 135, 142, - 32, 135, 123, 124, 125, 126, 127, 128, 135, 135, - 42, 135, 135, 95, 46, 47, 3, 4, 50, 140, - 52, 142, 135, 135, 143, 135, 404, 59, 404, 3, - 135, 5, 6, 404, 116, 135, 135, 135, 70, 71, - 422, 64, 135, 135, 76, 32, 135, 135, 133, 140, - 133, 135, 432, 133, 133, 142, 445, 135, 135, 441, - 5, 135, 451, 445, 96, 97, 133, 449, 100, 451, - 133, 453, 104, 60, 102, 135, 138, 136, 110, 135, - 112, 138, 121, 0, 134, 117, 118, 135, 123, 124, - 125, 126, 127, 128, 3, 4, 5, 6, 140, 123, - 124, 125, 126, 127, 128, 140, 138, 142, 95, 135, - 0, 20, 18, 22, 302, 441, 188, 301, 142, 28, - 1, 1, 1, 32, 310, 99, 9, -1, 243, 116, - -1, -1, 205, 42, 204, -1, -1, 46, 47, -1, - 127, 50, -1, 52, -1, -1, -1, 134, -1, 32, - 59, 125, -1, 127, 37, 129, 4, 40, -1, -1, - 134, 70, 71, 46, -1, 32, 49, 76, -1, -1, - 37, -1, 20, 40, 22, -1, -1, -1, -1, 46, - 28, 64, 49, -1, 32, -1, -1, 96, 97, 72, - 99, 100, -1, -1, 42, 104, -1, 64, 46, 47, - -1, 110, 50, 112, 52, 72, -1, -1, 117, 118, - -1, 59, -1, -1, -1, -1, 125, -1, 127, -1, - 129, 104, 70, 71, -1, 134, 109, 110, 76, -1, - -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, - -1, -1, 109, 110, -1, -1, 32, -1, 96, 97, - 133, 37, 100, -1, 40, 138, 104, -1, -1, -1, - 46, -1, 110, 49, 112, -1, 133, 32, -1, 117, - 118, 138, 37, -1, -1, -1, -1, 32, 64, -1, - -1, 46, 37, -1, 49, -1, 72, 32, -1, -1, - -1, 46, 37, -1, 49, -1, -1, -1, -1, 64, - -1, 46, -1, -1, 49, -1, -1, -1, -1, 64, - -1, -1, -1, -1, -1, -1, -1, -1, 104, 64, - -1, -1, -1, 109, 110, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, - -1, -1, -1, -1, 109, 110, -1, 133, -1, 104, - -1, 137, 138, -1, 109, 110, -1, -1, -1, 104, - -1, -1, -1, -1, 109, 110, -1, -1, 133, -1, - -1, -1, 137, 138, -1, -1, -1, 16, 133, 18, - -1, -1, 137, 138, -1, 24, -1, 26, 133, -1, - -1, -1, 137, 138, 33, 34, 35, 36, -1, 38, - 39, -1, 41, -1, 43, 44, 45, -1, -1, 48, - -1, -1, 51, -1, 53, 54, 55, 56, 57, 58, - -1, 60, 61, 62, 63, -1, -1, 66, -1, -1, - 69, -1, -1, -1, 73, -1, 75, -1, -1, -1, - 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, - 89, 90, 91, 92, 93, 94, 95, -1, -1, 98, - -1, -1, 101, -1, 103, -1, -1, 106, 107, 108, - -1, -1, 111, -1, 113, 114, 115, 116, -1, -1, - 119 -}; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/bison.simple" -/* This file comes from bison-1.28. */ - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -#ifndef YYSTACK_USE_ALLOCA -#ifdef alloca -#define YYSTACK_USE_ALLOCA -#else /* alloca not defined */ -#ifdef __GNUC__ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386)) -#define YYSTACK_USE_ALLOCA -#include <alloca.h> -#else /* not sparc */ -/* We think this test detects Watcom and Microsoft C. */ -/* This used to test MSDOS, but that is a bad idea - since that symbol is in the user namespace. */ -#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__) -#if 0 /* No need for malloc.h, which pollutes the namespace; - instead, just don't use alloca. */ -#include <malloc.h> -#endif -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -/* I don't know what this was needed for, but it pollutes the namespace. - So I turned it off. rms, 2 May 1997. */ -/* #include <malloc.h> */ - #pragma alloca -#define YYSTACK_USE_ALLOCA -#else /* not MSDOS, or __TURBOC__, or _AIX */ -#if 0 -#ifdef __hpux /* haible(a)ilog.fr says this works for HPUX 9.05 and up, - and on HPUX 10. Eventually we can turn this on. */ -#define YYSTACK_USE_ALLOCA -#define alloca __builtin_alloca -#endif /* __hpux */ -#endif -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc */ -#endif /* not GNU C */ -#endif /* alloca not defined */ -#endif /* YYSTACK_USE_ALLOCA not defined */ - -#ifdef YYSTACK_USE_ALLOCA -#define YYSTACK_ALLOC alloca -#else -#define YYSTACK_ALLOC malloc -#endif - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif [truncated at 1000 lines; 6707 more skipped]
19 years, 8 months
1
0
0
0
← Newer
1
...
17
18
19
20
21
22
23
...
48
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Results per page:
10
25
50
100
200