Differences From Artifact [1a3947efdf6afa74]:
- File
src/win32/wininet.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [f0c30efc42e2bee3]:
- File
src/win32/wininet.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
5 * * 5 * *
6 * Translated from MinGW Windows headers * 6 * Translated from MinGW Windows headers *
7 * by Stewart Gordon * 7 * by Stewart Gordon *
8 * * 8 * *
9 * Placed into public domain * 9 * Placed into public domain *
10 \***********************************************************************/ 10 \***********************************************************************/
11 module win32.wininet; 11 module win32.wininet;
> 12 pragma(lib, "wininet");
12 13
13 // FIXME: check types and grouping of constants 14 // FIXME: check types and grouping of constants
14 15
15 import win32.windows; 16 import win32.windows;
16 17
17 enum { 18 enum {
18 INTERNET_INVALID_PORT_NUMBER = 0, 19 INTERNET_INVALID_PORT_NUMBER = 0,
................................................................................................................................................................................
213 INTERNET_STATUS_CONNECTION_CLOSED = 51, 214 INTERNET_STATUS_CONNECTION_CLOSED = 51,
214 INTERNET_STATUS_HANDLE_CREATED = 60, 215 INTERNET_STATUS_HANDLE_CREATED = 60,
215 INTERNET_STATUS_HANDLE_CLOSING = 70, 216 INTERNET_STATUS_HANDLE_CLOSING = 70,
216 INTERNET_STATUS_REQUEST_COMPLETE = 100, 217 INTERNET_STATUS_REQUEST_COMPLETE = 100,
217 INTERNET_STATUS_REDIRECT = 110 218 INTERNET_STATUS_REDIRECT = 110
218 } 219 }
219 220
220 const INTERNET_INVALID_STATUS_CALLBACK <
221 = cast(INTERNET_STATUS_CALLBACK) -1; <
222 <
223 enum { 221 enum {
224 FTP_TRANSFER_TYPE_UNKNOWN = 0, 222 FTP_TRANSFER_TYPE_UNKNOWN = 0,
225 FTP_TRANSFER_TYPE_ASCII = 1, 223 FTP_TRANSFER_TYPE_ASCII = 1,
226 FTP_TRANSFER_TYPE_BINARY = 2, 224 FTP_TRANSFER_TYPE_BINARY = 2,
227 FTP_TRANSFER_TYPE_MASK = 3 225 FTP_TRANSFER_TYPE_MASK = 3
228 } 226 }
229 227
................................................................................................................................................................................
614 } 612 }
615 613
616 enum { 614 enum {
617 INTERNET_CACHE_GROUP_ADD = 0, 615 INTERNET_CACHE_GROUP_ADD = 0,
618 INTERNET_CACHE_GROUP_REMOVE = 1 616 INTERNET_CACHE_GROUP_REMOVE = 1
619 } 617 }
620 618
> 619 mixin DECLARE_HANDLE!("HINTERNET"); // doesn't work - bug
621 alias HANDLE HINTERNET; | 620 /*struct HINTERNET {
> 621 HANDLE h;
> 622 alias h this;
> 623 }*/
622 alias HANDLE* LPHINTERNET; | 624 alias HINTERNET* LPHINTERNET;
623 625
624 alias LONGLONG GROUPID; 626 alias LONGLONG GROUPID;
625 alias WORD INTERNET_PORT; 627 alias WORD INTERNET_PORT;
626 alias WORD* LPINTERNET_PORT; 628 alias WORD* LPINTERNET_PORT;
627 629
628 enum INTERNET_SCHEME { 630 enum INTERNET_SCHEME {
629 INTERNET_SCHEME_PARTIAL = -2, 631 INTERNET_SCHEME_PARTIAL = -2,
................................................................................................................................................................................
716 DWORD dwKeySize; 718 DWORD dwKeySize;
717 } 719 }
718 alias INTERNET_CERTIFICATE_INFO* LPINTERNET_CERTIFICATE_INFO; 720 alias INTERNET_CERTIFICATE_INFO* LPINTERNET_CERTIFICATE_INFO;
719 721
720 extern (Windows) alias void function(HINTERNET, DWORD, DWORD, PVOID, DWORD) 722 extern (Windows) alias void function(HINTERNET, DWORD, DWORD, PVOID, DWORD)
721 INTERNET_STATUS_CALLBACK; 723 INTERNET_STATUS_CALLBACK;
722 alias INTERNET_STATUS_CALLBACK* LPINTERNET_STATUS_CALLBACK; 724 alias INTERNET_STATUS_CALLBACK* LPINTERNET_STATUS_CALLBACK;
> 725
> 726 const INTERNET_INVALID_STATUS_CALLBACK
> 727 = cast(INTERNET_STATUS_CALLBACK) -1;
723 728
724 struct GOPHER_FIND_DATAA { 729 struct GOPHER_FIND_DATAA {
725 CHAR[MAX_GOPHER_DISPLAY_TEXT+1] DisplayString; 730 CHAR[MAX_GOPHER_DISPLAY_TEXT+1] DisplayString;
726 DWORD GopherType; 731 DWORD GopherType;
727 DWORD SizeLow; 732 DWORD SizeLow;
728 DWORD SizeHigh; 733 DWORD SizeHigh;
729 FILETIME LastModificationTime; 734 FILETIME LastModificationTime;