Differences From Artifact [886c2dae4f8ee53d]:
- File        
src/win32/windows.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 [17920ef67c1aa508]:
- File        
src/win32/windows.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.
 
    1  /***********************************************************************\              1  /***********************************************************************\
    2  *                               windows.d                               *              2  *                               windows.d                               *
    3  *                                                                       *              3  *                                                                       *
    4  *                       Windows API header module                       *              4  *                       Windows API header module                       *
    5  *                                                                       *              5  *                                                                       *
    6  *             Translated from MinGW API for MS-Windows 3.10             *        |     6  *             Translated from MinGW API for MS-Windows 4.0              *
    7  *                                                                       *              7  *                                                                       *
    8  *                       Placed into public domain                       *              8  *                       Placed into public domain                       *
    9  \***********************************************************************/              9  \***********************************************************************/
   10  module win32.windows;                                                                 10  module win32.windows;
   11                                                                                        11  
   12  /*                                                                                    12  /*
   13          windows.h - main header file for the Win32 API                                13          windows.h - main header file for the Win32 API
................................................................................................................................................................................
   21          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                          21          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   22                                                                                        22  
   23  */                                                                                    23  */
   24                                                                                        24  
   25  public import win32.w32api;                                                           25  public import win32.w32api;
   26  public import win32.core;                                                             26  public import win32.core;
   27                                                                                        27  
   28  // We can't use static if for imports, build gets confused.                      <
   29  version (WindowsVista) {                                                         <
   30          public import win32.winsvc;                                              <
   31  } else version (Windows2003) {                                                   <
   32          public import win32.winsvc;                                              <
   33  } else version (WindowsXP) {                                                     <
   34          public import win32.winsvc;                                              <
   35  } else version (WindowsNTonly) {                                                 <
   36          public import win32.winsvc;                                              <
   37  }                                                                                <
   38                                                                                   <
   39  public import win32.cderr;                                                            28  public import win32.cderr;
   40  public import win32.dde;                                                              29  public import win32.dde;
   41  public import win32.ddeml;                                                            30  public import win32.ddeml;
   42  public import win32.dlgs;                                                             31  public import win32.dlgs;
   43  public import win32.imm;                                                              32  public import win32.imm;
   44  public import win32.lzexpand;                                                         33  public import win32.lzexpand;
   45  public import win32.mmsystem;                                                         34  public import win32.mmsystem;
   46  public import win32.nb30;                                                             35  public import win32.nb30;
   47                                                                                   <
   48                                                                                   <
                                                                                        >    36  public import win32.winsvc;
   49                                                                                        37  
   50  public import win32.rpc;                                                              38  public import win32.rpc;
   51  public import win32.shellapi;                                                         39  public import win32.shellapi;
   52  public import win32.winperf;                                                          40  public import win32.winperf;
   53  public import win32.commdlg;                                                          41  public import win32.commdlg;
   54  public import win32.winspool;                                                         42  public import win32.winspool;
   55  public import win32.ole2;                                                             43  public import win32.ole2;
................................................................................................................................................................................
   60          public import win32.winsock;                                                  48          public import win32.winsock;
   61  } else {                                                                              49  } else {
   62          public import win32.winsock2;                                                 50          public import win32.winsock2;
   63          public import win32.ws2tcpip;                                                 51          public import win32.ws2tcpip;
   64  }                                                                                     52  }
   65                                                                                        53  
   66  /+                                                                                    54  /+
   67  #if (_WIN32_WINNT >= 0x0400)                                                     |    55  #if (_WIN32_WINNT >= 0x400)
   68  #include <winsock2.h>                                                                 56  #include <winsock2.h>
   69  /*                                                                                    57  /*
   70   * MS likes to include mswsock.h here as well,                                        58   * MS likes to include mswsock.h here as well,
   71   * but that can cause undefined symbols if                                            59   * but that can cause undefined symbols if
   72   * winsock2.h is included before windows.h                                            60   * winsock2.h is included before windows.h
   73   */                                                                                   61   */
   74  #else                                                                                 62  #else
   75  #include <winsock.h>                                                                  63  #include <winsock.h>
   76  #endif /*  (_WIN32_WINNT >= 0x0400) */                                           |    64  #endif /*  (_WIN32_WINNT >= 0x400) */
   77  +/                                                                                    65  +/