372 changes: 372 additions & 0 deletions def/opengl32.def

Large diffs are not rendered by default.

482 changes: 482 additions & 0 deletions def/rpcrt4.def

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions def/shell32.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,280 @@
LIBRARY shell32
EXETYPE NT
SUBSYSTEM WINDOWS
EXPORTS
_CDefFolderMenu_Create2@36 = CDefFolderMenu_Create2
_CDefFolderMenu_Create@36 = CDefFolderMenu_Create
_CallCPLEntry16@24 = CallCPLEntry16
_CheckEscapesA@8 = CheckEscapesA
_CheckEscapesW@8 = CheckEscapesW
_CommandLineToArgvW@8 = CommandLineToArgvW
_DAD_AutoScroll@12 = DAD_AutoScroll
_DAD_DragEnterEx2@16 = DAD_DragEnterEx2
_DAD_DragEnterEx@12 = DAD_DragEnterEx
_DAD_DragLeave@0 = DAD_DragLeave
_DAD_DragMove@8 = DAD_DragMove
_DAD_SetDragImage@8 = DAD_SetDragImage
_DAD_ShowDragImage@4 = DAD_ShowDragImage
_DoEnvironmentSubstA@8 = DoEnvironmentSubstA
_DoEnvironmentSubstW@8 = DoEnvironmentSubstW
_DragAcceptFiles@8 = DragAcceptFiles
_DragFinish@4 = DragFinish
_DragQueryFile@16 = DragQueryFile
_DragQueryFileA@16 = DragQueryFileA
_DragQueryFileAorW@24 = DragQueryFileAorW
_DragQueryFileW@16 = DragQueryFileW
_DragQueryPoint@8 = DragQueryPoint
_DriveType@4 = DriveType
_DuplicateIcon@8 = DuplicateIcon
_ExtractAssociatedIconA@12 = ExtractAssociatedIconA
_ExtractAssociatedIconExA@16 = ExtractAssociatedIconExA
_ExtractAssociatedIconExW@16 = ExtractAssociatedIconExW
_ExtractAssociatedIconW@12 = ExtractAssociatedIconW
_ExtractIconA@12 = ExtractIconA
_ExtractIconEx@20 = ExtractIconEx
_ExtractIconExA@20 = ExtractIconExA
_ExtractIconExW@20 = ExtractIconExW
_ExtractIconResInfoA@20 = ExtractIconResInfoA
_ExtractIconResInfoW@20 = ExtractIconResInfoW
_ExtractIconW@12 = ExtractIconW
_ExtractVersionResource16W@8 = ExtractVersionResource16W
_FindExeDlgProc@16 = FindExeDlgProc
_FindExecutableA@12 = FindExecutableA
_FindExecutableW@12 = FindExecutableW
_FreeIconList@8 = FreeIconList
_GetFileNameFromBrowse@28 = GetFileNameFromBrowse
_ILAppendID@12 = ILAppendID
_ILClone@4 = ILClone
_ILCloneFirst@4 = ILCloneFirst
_ILCombine@8 = ILCombine
_ILCreateFromPath@4 = ILCreateFromPath
_ILCreateFromPathA@4 = ILCreateFromPathA
_ILCreateFromPathW@4 = ILCreateFromPathW
_ILFindChild@8 = ILFindChild
_ILFindLastID@4 = ILFindLastID
_ILFree@4 = ILFree
_ILGetNext@4 = ILGetNext
_ILGetSize@4 = ILGetSize
_ILIsEqual@8 = ILIsEqual
_ILIsParent@12 = ILIsParent
_ILLoadFromStream@8 = ILLoadFromStream
_ILRemoveLastID@4 = ILRemoveLastID
_ILSaveToStream@8 = ILSaveToStream
_InternalExtractIconListA@12 = InternalExtractIconListA
_InternalExtractIconListW@12 = InternalExtractIconListW
_IsLFNDrive@4 = IsLFNDrive
_IsLFNDriveA@4 = IsLFNDriveA
_IsLFNDriveW@4 = IsLFNDriveW
_IsNetDrive@4 = IsNetDrive
_IsUserAnAdmin@0 = IsUserAnAdmin
_OpenRegStream@16 = OpenRegStream
_PathCleanupSpec@8 = PathCleanupSpec
_PathGetShortPath@4 = PathGetShortPath
_PathIsExe@4 = PathIsExe
_PathIsSlowA@8 = PathIsSlowA
_PathIsSlowW@8 = PathIsSlowW
_PathMakeUniqueName@20 = PathMakeUniqueName
_PathProcessCommand@16 = PathProcessCommand
_PathQualify@4 = PathQualify
_PathResolve@12 = PathResolve
_PathYetAnotherMakeUniqueName@16 = PathYetAnotherMakeUniqueName
_PickIconDlg@16 = PickIconDlg
_PifMgr_CloseProperties@8 = PifMgr_CloseProperties
_PifMgr_GetProperties@20 = PifMgr_GetProperties
_PifMgr_OpenProperties@16 = PifMgr_OpenProperties
_PifMgr_SetProperties@20 = PifMgr_SetProperties
_ReadCabinetState@8 = ReadCabinetState
_RealDriveType@8 = RealDriveType
_RealShellExecuteA@40 = RealShellExecuteA
_RealShellExecuteExA@44 = RealShellExecuteExA
_RealShellExecuteExW@44 = RealShellExecuteExW
_RealShellExecuteW@40 = RealShellExecuteW
_RegenerateUserEnvironment@8 = RegenerateUserEnvironment
_RestartDialog@12 = RestartDialog
_RestartDialogEx@16 = RestartDialogEx
_SHAddFromPropSheetExtArray@12 = SHAddFromPropSheetExtArray
_SHAddToRecentDocs@8 = SHAddToRecentDocs
_SHAlloc@4 = SHAlloc
_SHAllocShared@12 = SHAllocShared
_SHAppBarMessage@8 = SHAppBarMessage
_SHBindToParent@16 = SHBindToParent
_SHBrowseForFolder@4 = SHBrowseForFolder
_SHBrowseForFolderA@4 = SHBrowseForFolderA
_SHBrowseForFolderW@4 = SHBrowseForFolderW
_SHCLSIDFromString@8 = SHCLSIDFromString
_SHChangeNotification_Lock@16 = SHChangeNotification_Lock
_SHChangeNotification_Unlock@4 = SHChangeNotification_Unlock
_SHChangeNotify@16 = SHChangeNotify
_SHChangeNotifyDeregister@4 = SHChangeNotifyDeregister
_SHChangeNotifyRegister@24 = SHChangeNotifyRegister
_SHCloneSpecialIDList@12 = SHCloneSpecialIDList
_SHCoCreateInstance@20 = SHCoCreateInstance
_SHCreateDirectory@8 = SHCreateDirectory
_SHCreateDirectoryExA@12 = SHCreateDirectoryExA
_SHCreateDirectoryExW@12 = SHCreateDirectoryExW
_SHCreateFileExtractIconW@16 = SHCreateFileExtractIconW
_SHCreateProcessAsUserW@4 = SHCreateProcessAsUserW
_SHCreatePropSheetExtArray@12 = SHCreatePropSheetExtArray
_SHCreateQueryCancelAutoPlayMoniker@4 = SHCreateQueryCancelAutoPlayMoniker
_SHCreateShellFolderView@8 = SHCreateShellFolderView
_SHCreateShellFolderViewEx@8 = SHCreateShellFolderViewEx
_SHCreateShellItem@16 = SHCreateShellItem
_SHCreateStdEnumFmtEtc@12 = SHCreateStdEnumFmtEtc
_SHDefExtractIconA@24 = SHDefExtractIconA
_SHDefExtractIconW@24 = SHDefExtractIconW
_SHDestroyPropSheetExtArray@4 = SHDestroyPropSheetExtArray
_SHDoDragDrop@20 = SHDoDragDrop
_SHEmptyRecycleBinA@12 = SHEmptyRecycleBinA
_SHEmptyRecycleBinW@12 = SHEmptyRecycleBinW
_SHEnumerateUnreadMailAccountsW@16 = SHEnumerateUnreadMailAccountsW
_SHExtractIconsW@32 = SHExtractIconsW
_SHFileOperation@4 = SHFileOperation
_SHFileOperationA@4 = SHFileOperationA
_SHFileOperationW@4 = SHFileOperationW
_SHFindFiles@8 = SHFindFiles
_SHFind_InitMenuPopup@16 = SHFind_InitMenuPopup
_SHFlushClipboard@0 = SHFlushClipboard
_SHFlushSFCache@0 = SHFlushSFCache
_SHFormatDrive@16 = SHFormatDrive
_SHFree@4 = SHFree
_SHFreeNameMappings@4 = SHFreeNameMappings
_SHFreeShared@8 = SHFreeShared
_SHGetAttributesFromDataObject@16 = SHGetAttributesFromDataObject
_SHGetDataFromIDListA@20 = SHGetDataFromIDListA
_SHGetDataFromIDListW@20 = SHGetDataFromIDListW
_SHGetDesktopFolder@4 = SHGetDesktopFolder
_SHGetDiskFreeSpaceA@16 = SHGetDiskFreeSpaceA
_SHGetDiskFreeSpaceExA@16 = SHGetDiskFreeSpaceExA
_SHGetDiskFreeSpaceExW@16 = SHGetDiskFreeSpaceExW
_SHGetFileInfo@20 = SHGetFileInfo
_SHGetFileInfoA@20 = SHGetFileInfoA
_SHGetFileInfoW@20 = SHGetFileInfoW
_SHGetFolderLocation@20 = SHGetFolderLocation
_SHGetFolderPathA@20 = SHGetFolderPathA
_SHGetFolderPathAndSubDirA@24 = SHGetFolderPathAndSubDirA
_SHGetFolderPathAndSubDirW@24 = SHGetFolderPathAndSubDirW
_SHGetFolderPathW@20 = SHGetFolderPathW
_SHGetIconOverlayIndexA@8 = SHGetIconOverlayIndexA
_SHGetIconOverlayIndexW@8 = SHGetIconOverlayIndexW
_SHGetInstanceExplorer@4 = SHGetInstanceExplorer
_SHGetMalloc@4 = SHGetMalloc
_SHGetNewLinkInfo@20 = SHGetNewLinkInfo
_SHGetNewLinkInfoA@20 = SHGetNewLinkInfoA
_SHGetNewLinkInfoW@20 = SHGetNewLinkInfoW
_SHGetPathFromIDList@8 = SHGetPathFromIDList
_SHGetPathFromIDListA@8 = SHGetPathFromIDListA
_SHGetPathFromIDListW@8 = SHGetPathFromIDListW
_SHGetRealIDL@12 = SHGetRealIDL
_SHGetSetFolderCustomSettingsW@12 = SHGetSetFolderCustomSettingsW
_SHGetSetSettings@12 = SHGetSetSettings
_SHGetSettings@8 = SHGetSettings
_SHGetShellStyleHInstance@0 = SHGetShellStyleHInstance
_SHGetSpecialFolderLocation@12 = SHGetSpecialFolderLocation
_SHGetSpecialFolderPath@16 = SHGetSpecialFolderPath
_SHGetSpecialFolderPathA@16 = SHGetSpecialFolderPathA
_SHGetSpecialFolderPathW@16 = SHGetSpecialFolderPathW
_SHGetUnreadMailCountW@24 = SHGetUnreadMailCountW
_SHHandleUpdateImage@4 = SHHandleUpdateImage
_SHILCreateFromPath@12 = SHILCreateFromPath
_SHInvokePrinterCommandA@20 = SHInvokePrinterCommandA
_SHInvokePrinterCommandW@20 = SHInvokePrinterCommandW
_SHIsFileAvailableOffline@8 = SHIsFileAvailableOffline
_SHLimitInputEdit@8 = SHLimitInputEdit
_SHLoadInProc@4 = SHLoadInProc
_SHLoadNonloadedIconOverlayIdentifiers@0 = SHLoadNonloadedIconOverlayIdentifiers
_SHLoadOLE@4 = SHLoadOLE
_SHLockShared@8 = SHLockShared
_SHMapIDListToImageListIndexAsync@36 = SHMapIDListToImageListIndexAsync
_SHMapPIDLToSystemImageListIndex@12 = SHMapPIDLToSystemImageListIndex
_SHMultiFileProperties@8 = SHMultiFileProperties
_SHObjectProperties@16 = SHObjectProperties
_SHOpenFolderAndSelectItems@16 = SHOpenFolderAndSelectItems
_SHOpenPropSheetW@28 = SHOpenPropSheetW
_SHParseDisplayName@20 = SHParseDisplayName
_SHPathPrepareForWriteA@16 = SHPathPrepareForWriteA
_SHPathPrepareForWriteW@16 = SHPathPrepareForWriteW
_SHPropStgCreate@32 = SHPropStgCreate
_SHPropStgReadMultiple@20 = SHPropStgReadMultiple
_SHPropStgWriteMultiple@24 = SHPropStgWriteMultiple
_SHQueryRecycleBinA@8 = SHQueryRecycleBinA
_SHQueryRecycleBinW@8 = SHQueryRecycleBinW
_SHReplaceFromPropSheetExtArray@16 = SHReplaceFromPropSheetExtArray
_SHRestricted@4 = SHRestricted
_SHRunControlPanel@8 = SHRunControlPanel
_SHSetInstanceExplorer@4 = SHSetInstanceExplorer
_SHSetLocalizedName@12 = SHSetLocalizedName
_SHSetUnreadMailCountW@12 = SHSetUnreadMailCountW
_SHShellFolderView_Message@12 = SHShellFolderView_Message
_SHSimpleIDListFromPath@4 = SHSimpleIDListFromPath
_SHStartNetConnectionDialogW@12 = SHStartNetConnectionDialogW
_SHTestTokenMembership@8 = SHTestTokenMembership
_SHUnlockShared@4 = SHUnlockShared
_SHUpdateImageA@16 = SHUpdateImageA
_SHUpdateImageW@16 = SHUpdateImageW
_SHUpdateRecycleBinIcon@0 = SHUpdateRecycleBinIcon
_SHValidateUNC@12 = SHValidateUNC
_SheChangeDirA@4 = SheChangeDirA
_SheChangeDirExA@4 = SheChangeDirExA
_SheChangeDirExW@4 = SheChangeDirExW
_SheChangeDirW@4 = SheChangeDirW
_SheConvertPathW@12 = SheConvertPathW
_SheFullPathA@12 = SheFullPathA
_SheFullPathW@12 = SheFullPathW
_SheGetCurDrive@0 = SheGetCurDrive
_SheGetDirA@8 = SheGetDirA
_SheGetDirExW@12 = SheGetDirExW
_SheGetDirW@8 = SheGetDirW
_SheGetPathOffsetW@4 = SheGetPathOffsetW
_SheRemoveQuotesA@4 = SheRemoveQuotesA
_SheRemoveQuotesW@4 = SheRemoveQuotesW
_SheSetCurDrive@4 = SheSetCurDrive
_SheShortenPathA@8 = SheShortenPathA
_SheShortenPathW@8 = SheShortenPathW
_ShellAboutA@16 = ShellAboutA
_ShellAboutW@16 = ShellAboutW
_ShellExecuteA@24 = ShellExecuteA
_ShellExecuteEx@4 = ShellExecuteEx
_ShellExecuteExA@4 = ShellExecuteExA
_ShellExecuteExW@4 = ShellExecuteExW
_ShellExecuteW@24 = ShellExecuteW
_ShellHookProc@12 = ShellHookProc
_ShellMessageBoxA = ShellMessageBoxA
_ShellMessageBoxW = ShellMessageBoxW
_Shell_GetCachedImageIndex@12 = Shell_GetCachedImageIndex
_Shell_GetImageLists@8 = Shell_GetImageLists
_Shell_MergeMenus@24 = Shell_MergeMenus
_Shell_NotifyIcon@8 = Shell_NotifyIcon
_Shell_NotifyIconA@8 = Shell_NotifyIconA
_Shell_NotifyIconW@8 = Shell_NotifyIconW
_SignalFileOpen@4 = SignalFileOpen
_StrChrA@8 = StrChrA
_StrChrIA@8 = StrChrIA
_StrChrIW@8 = StrChrIW
_StrChrW@8 = StrChrW
_StrCmpNA@12 = StrCmpNA
_StrCmpNIA@12 = StrCmpNIA
_StrCmpNIW@12 = StrCmpNIW
_StrCmpNW@12 = StrCmpNW
_StrCpyNA@12 = StrCpyNA
_StrCpyNW@12 = StrCpyNW
_StrNCmpA@12 = StrNCmpA
_StrNCmpIA@12 = StrNCmpIA
_StrNCmpIW@12 = StrNCmpIW
_StrNCmpW@12 = StrNCmpW
_StrNCpyA@12 = StrNCpyA
_StrNCpyW@12 = StrNCpyW
_StrRChrA@12 = StrRChrA
_StrRChrIA@12 = StrRChrIA
_StrRChrIW@12 = StrRChrIW
_StrRChrW@12 = StrRChrW
_StrRStrA@12 = StrRStrA
_StrRStrIA@12 = StrRStrIA
_StrRStrIW@12 = StrRStrIW
_StrRStrW@12 = StrRStrW
_StrStrA@8 = StrStrA
_StrStrIA@8 = StrStrIA
_StrStrIW@8 = StrStrIW
_StrStrW@8 = StrStrW
_WOWShellExecute@28 = WOWShellExecute
_Win32DeleteFile@4 = Win32DeleteFile
_WriteCabinetState@4 = WriteCabinetState
16 changes: 16 additions & 0 deletions def/version.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
LIBRARY version
EXETYPE NT
SUBSYSTEM WINDOWS
EXPORTS
_GetFileVersionInfoA@16 = GetFileVersionInfoA
_GetFileVersionInfoSizeA@8 = GetFileVersionInfoSizeA
_GetFileVersionInfoSizeW@8 = GetFileVersionInfoSizeW
_GetFileVersionInfoW@16 = GetFileVersionInfoW
_VerFindFileA@32 = VerFindFileA
_VerFindFileW@32 = VerFindFileW
_VerInstallFileA@32 = VerInstallFileA
_VerInstallFileW@32 = VerInstallFileW
_VerLanguageNameA@12 = VerLanguageNameA
_VerLanguageNameW@12 = VerLanguageNameW
_VerQueryValueA@16 = VerQueryValueA
_VerQueryValueW@16 = VerQueryValueW
216 changes: 216 additions & 0 deletions def/wininet.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
LIBRARY wininet
EXETYPE NT
SUBSYSTEM WINDOWS
EXPORTS
_CommitUrlCacheEntryA@44 = CommitUrlCacheEntryA
_CommitUrlCacheEntryW@44 = CommitUrlCacheEntryW
_CreateUrlCacheContainerA@32 = CreateUrlCacheContainerA
_CreateUrlCacheContainerW@32 = CreateUrlCacheContainerW
_CreateUrlCacheEntryA@20 = CreateUrlCacheEntryA
_CreateUrlCacheEntryW@20 = CreateUrlCacheEntryW
_CreateUrlCacheGroup@8 = CreateUrlCacheGroup
_DeleteIE3Cache@16 = DeleteIE3Cache
_DeleteUrlCacheContainerA@8 = DeleteUrlCacheContainerA
_DeleteUrlCacheContainerW@8 = DeleteUrlCacheContainerW
_DeleteUrlCacheEntry@4 = DeleteUrlCacheEntry
_DeleteUrlCacheEntryA@4 = DeleteUrlCacheEntryA
_DeleteUrlCacheEntryW@4 = DeleteUrlCacheEntryW
_DeleteUrlCacheGroup@16 = DeleteUrlCacheGroup
_DoConnectoidsExist@0 = DoConnectoidsExist
_ExportCookieFileA@8 = ExportCookieFileA
_ExportCookieFileW@8 = ExportCookieFileW
_FindCloseUrlCache@4 = FindCloseUrlCache
_FindFirstUrlCacheContainerA@16 = FindFirstUrlCacheContainerA
_FindFirstUrlCacheContainerW@16 = FindFirstUrlCacheContainerW
_FindFirstUrlCacheEntryA@12 = FindFirstUrlCacheEntryA
_FindFirstUrlCacheEntryExA@40 = FindFirstUrlCacheEntryExA
_FindFirstUrlCacheEntryExW@40 = FindFirstUrlCacheEntryExW
_FindFirstUrlCacheEntryW@12 = FindFirstUrlCacheEntryW
_FindFirstUrlCacheGroup@24 = FindFirstUrlCacheGroup
_FindNextUrlCacheContainerA@12 = FindNextUrlCacheContainerA
_FindNextUrlCacheContainerW@12 = FindNextUrlCacheContainerW
_FindNextUrlCacheEntryA@12 = FindNextUrlCacheEntryA
_FindNextUrlCacheEntryExA@24 = FindNextUrlCacheEntryExA
_FindNextUrlCacheEntryExW@24 = FindNextUrlCacheEntryExW
_FindNextUrlCacheEntryW@12 = FindNextUrlCacheEntryW
_FindNextUrlCacheGroup@12 = FindNextUrlCacheGroup
_FreeUrlCacheSpaceA@12 = FreeUrlCacheSpaceA
_FreeUrlCacheSpaceW@12 = FreeUrlCacheSpaceW
_FtpCommandA@24 = FtpCommandA
_FtpCommandW@24 = FtpCommandW
_FtpCreateDirectoryA@8 = FtpCreateDirectoryA
_FtpCreateDirectoryW@8 = FtpCreateDirectoryW
_FtpDeleteFileA@8 = FtpDeleteFileA
_FtpDeleteFileW@8 = FtpDeleteFileW
_FtpFindFirstFileA@20 = FtpFindFirstFileA
_FtpFindFirstFileW@20 = FtpFindFirstFileW
_FtpGetCurrentDirectoryA@12 = FtpGetCurrentDirectoryA
_FtpGetCurrentDirectoryW@12 = FtpGetCurrentDirectoryW
_FtpGetFileA@28 = FtpGetFileA
_FtpGetFileEx@28 = FtpGetFileEx
_FtpGetFileSize@8 = FtpGetFileSize
_FtpGetFileW@28 = FtpGetFileW
_FtpOpenFileA@20 = FtpOpenFileA
_FtpOpenFileW@20 = FtpOpenFileW
_FtpPutFileA@20 = FtpPutFileA
_FtpPutFileEx@20 = FtpPutFileEx
_FtpPutFileW@20 = FtpPutFileW
_FtpRemoveDirectoryA@8 = FtpRemoveDirectoryA
_FtpRemoveDirectoryW@8 = FtpRemoveDirectoryW
_FtpRenameFileA@12 = FtpRenameFileA
_FtpRenameFileW@12 = FtpRenameFileW
_FtpSetCurrentDirectoryA@8 = FtpSetCurrentDirectoryA
_FtpSetCurrentDirectoryW@8 = FtpSetCurrentDirectoryW
_GetDiskInfoA@16 = GetDiskInfoA
_GetUrlCacheConfigInfoA@12 = GetUrlCacheConfigInfoA
_GetUrlCacheConfigInfoW@12 = GetUrlCacheConfigInfoW
_GetUrlCacheEntryInfoA@12 = GetUrlCacheEntryInfoA
_GetUrlCacheEntryInfoExA@28 = GetUrlCacheEntryInfoExA
_GetUrlCacheEntryInfoExW@28 = GetUrlCacheEntryInfoExW
_GetUrlCacheEntryInfoW@12 = GetUrlCacheEntryInfoW
_GetUrlCacheGroupAttributeA@28 = GetUrlCacheGroupAttributeA
_GetUrlCacheGroupAttributeW@28 = GetUrlCacheGroupAttributeW
_GetUrlCacheHeaderData@8 = GetUrlCacheHeaderData
_GopherCreateLocatorA@28 = GopherCreateLocatorA
_GopherCreateLocatorW@28 = GopherCreateLocatorW
_GopherFindFirstFileA@24 = GopherFindFirstFileA
_GopherFindFirstFileW@24 = GopherFindFirstFileW
_GopherGetAttributeA@32 = GopherGetAttributeA
_GopherGetAttributeW@32 = GopherGetAttributeW
_GopherGetLocatorTypeA@8 = GopherGetLocatorTypeA
_GopherGetLocatorTypeW@8 = GopherGetLocatorTypeW
_GopherOpenFileA@20 = GopherOpenFileA
_GopherOpenFileW@20 = GopherOpenFileW
_HttpAddRequestHeadersA@16 = HttpAddRequestHeadersA
_HttpAddRequestHeadersW@16 = HttpAddRequestHeadersW
_HttpCheckDavCompliance@20 = HttpCheckDavCompliance
_HttpCheckDavComplianceA@20 = HttpCheckDavComplianceA
_HttpCheckDavComplianceW@20 = HttpCheckDavComplianceW
_HttpEndRequestA@16 = HttpEndRequestA
_HttpEndRequestW@16 = HttpEndRequestW
_HttpOpenRequestA@32 = HttpOpenRequestA
_HttpOpenRequestW@32 = HttpOpenRequestW
_HttpQueryInfoA@20 = HttpQueryInfoA
_HttpQueryInfoW@20 = HttpQueryInfoW
_HttpSendRequestA@20 = HttpSendRequestA
_HttpSendRequestExA@20 = HttpSendRequestExA
_HttpSendRequestExW@20 = HttpSendRequestExW
_HttpSendRequestW@20 = HttpSendRequestW
_ImportCookieFileA@4 = ImportCookieFileA
_ImportCookieFileW@4 = ImportCookieFileW
_IncrementUrlCacheHeaderData@8 = IncrementUrlCacheHeaderData
_InternetAlgIdToStringA@16 = InternetAlgIdToStringA
_InternetAlgIdToStringW@16 = InternetAlgIdToStringW
_InternetAttemptConnect@4 = InternetAttemptConnect
_InternetAutodial@8 = InternetAutodial
_InternetAutodialCallback@8 = InternetAutodialCallback
_InternetAutodialHangup@4 = InternetAutodialHangup
_InternetCanonicalizeUrlA@16 = InternetCanonicalizeUrlA
_InternetCanonicalizeUrlW@16 = InternetCanonicalizeUrlW
_InternetCheckConnectionA@12 = InternetCheckConnectionA
_InternetCheckConnectionW@12 = InternetCheckConnectionW
_InternetCloseHandle@4 = InternetCloseHandle
_InternetCombineUrlA@20 = InternetCombineUrlA
_InternetCombineUrlW@20 = InternetCombineUrlW
_InternetConfirmZoneCrossing@16 = InternetConfirmZoneCrossing
_InternetConfirmZoneCrossingA@16 = InternetConfirmZoneCrossingA
_InternetConfirmZoneCrossingW@16 = InternetConfirmZoneCrossingW
_InternetConnectA@32 = InternetConnectA
_InternetConnectW@32 = InternetConnectW
_InternetCrackUrlA@16 = InternetCrackUrlA
_InternetCrackUrlW@16 = InternetCrackUrlW
_InternetCreateUrlA@16 = InternetCreateUrlA
_InternetCreateUrlW@16 = InternetCreateUrlW
_InternetDial@20 = InternetDial
_InternetDialA@20 = InternetDialA
_InternetDialW@20 = InternetDialW
_InternetErrorDlg@20 = InternetErrorDlg
_InternetFindNextFileA@8 = InternetFindNextFileA
_InternetFindNextFileW@8 = InternetFindNextFileW
_InternetFortezzaCommand@12 = InternetFortezzaCommand
_InternetGetCertByURL@12 = InternetGetCertByURL
_InternetGetCertByURLA@12 = InternetGetCertByURLA
_InternetGetConnectedState@8 = InternetGetConnectedState
_InternetGetConnectedStateEx@16 = InternetGetConnectedStateEx
_InternetGetConnectedStateExA@16 = InternetGetConnectedStateExA
_InternetGetConnectedStateExW@16 = InternetGetConnectedStateExW
_InternetGetCookieA@16 = InternetGetCookieA
_InternetGetCookieW@16 = InternetGetCookieW
_InternetGetLastResponseInfoA@12 = InternetGetLastResponseInfoA
_InternetGetLastResponseInfoW@12 = InternetGetLastResponseInfoW
_InternetGoOnline@12 = InternetGoOnline
_InternetGoOnlineA@12 = InternetGoOnlineA
_InternetGoOnlineW@12 = InternetGoOnlineW
_InternetHangUp@8 = InternetHangUp
_InternetLockRequestFile@8 = InternetLockRequestFile
_InternetOpenA@20 = InternetOpenA
_InternetOpenUrlA@24 = InternetOpenUrlA
_InternetOpenUrlW@24 = InternetOpenUrlW
_InternetOpenW@20 = InternetOpenW
_InternetQueryDataAvailable@16 = InternetQueryDataAvailable
_InternetQueryFortezzaStatus@8 = InternetQueryFortezzaStatus
_InternetQueryOptionA@16 = InternetQueryOptionA
_InternetQueryOptionW@16 = InternetQueryOptionW
_InternetReadFile@16 = InternetReadFile
_InternetReadFileExA@16 = InternetReadFileExA
_InternetReadFileExW@16 = InternetReadFileExW
_InternetSecurityProtocolToStringA@16 = InternetSecurityProtocolToStringA
_InternetSecurityProtocolToStringW@16 = InternetSecurityProtocolToStringW
_InternetSetCookieA@12 = InternetSetCookieA
_InternetSetCookieW@12 = InternetSetCookieW
_InternetSetDialState@12 = InternetSetDialState
_InternetSetDialStateA@12 = InternetSetDialStateA
_InternetSetDialStateW@12 = InternetSetDialStateW
_InternetSetFilePointer@20 = InternetSetFilePointer
_InternetSetOptionA@16 = InternetSetOptionA
_InternetSetOptionExA@20 = InternetSetOptionExA
_InternetSetOptionExW@20 = InternetSetOptionExW
_InternetSetOptionW@16 = InternetSetOptionW
_InternetSetStatusCallback@8 = InternetSetStatusCallback
_InternetSetStatusCallbackA@8 = InternetSetStatusCallbackA
_InternetSetStatusCallbackW@8 = InternetSetStatusCallbackW
_InternetShowSecurityInfoByURL@8 = InternetShowSecurityInfoByURL
_InternetShowSecurityInfoByURLA@8 = InternetShowSecurityInfoByURLA
_InternetShowSecurityInfoByURLW@8 = InternetShowSecurityInfoByURLW
_InternetTimeFromSystemTime@16 = InternetTimeFromSystemTime
_InternetTimeFromSystemTimeA@16 = InternetTimeFromSystemTimeA
_InternetTimeFromSystemTimeW@16 = InternetTimeFromSystemTimeW
_InternetTimeToSystemTime@12 = InternetTimeToSystemTime
_InternetTimeToSystemTimeA@12 = InternetTimeToSystemTimeA
_InternetTimeToSystemTimeW@12 = InternetTimeToSystemTimeW
_InternetUnlockRequestFile@4 = InternetUnlockRequestFile
_InternetWriteFile@16 = InternetWriteFile
_InternetWriteFileExA@16 = InternetWriteFileExA
_InternetWriteFileExW@16 = InternetWriteFileExW
_IsHostInProxyBypassList@12 = IsHostInProxyBypassList
_IsUrlCacheEntryExpiredA@12 = IsUrlCacheEntryExpiredA
_IsUrlCacheEntryExpiredW@12 = IsUrlCacheEntryExpiredW
_LoadUrlCacheContent@0 = LoadUrlCacheContent
_ParseX509EncodedCertificateForListBoxEntry@16 = ParseX509EncodedCertificateForListBoxEntry
_PerformOperationOverUrlCacheA@40 = PerformOperationOverUrlCacheA
_ReadUrlCacheEntryStream@20 = ReadUrlCacheEntryStream
_RegisterUrlCacheNotification@24 = RegisterUrlCacheNotification
_ResumeSuspendedDownload@8 = ResumeSuspendedDownload
_RetrieveUrlCacheEntryFileA@16 = RetrieveUrlCacheEntryFileA
_RetrieveUrlCacheEntryFileW@16 = RetrieveUrlCacheEntryFileW
_RetrieveUrlCacheEntryStreamA@20 = RetrieveUrlCacheEntryStreamA
_RetrieveUrlCacheEntryStreamW@20 = RetrieveUrlCacheEntryStreamW
_RunOnceUrlCache@16 = RunOnceUrlCache
_SetUrlCacheConfigInfoA@8 = SetUrlCacheConfigInfoA
_SetUrlCacheConfigInfoW@8 = SetUrlCacheConfigInfoW
_SetUrlCacheEntryGroup@28 = SetUrlCacheEntryGroup
_SetUrlCacheEntryGroupA@28 = SetUrlCacheEntryGroupA
_SetUrlCacheEntryGroupW@28 = SetUrlCacheEntryGroupW
_SetUrlCacheEntryInfoA@12 = SetUrlCacheEntryInfoA
_SetUrlCacheEntryInfoW@12 = SetUrlCacheEntryInfoW
_SetUrlCacheGroupAttributeA@24 = SetUrlCacheGroupAttributeA
_SetUrlCacheGroupAttributeW@24 = SetUrlCacheGroupAttributeW
_SetUrlCacheHeaderData@8 = SetUrlCacheHeaderData
_ShowClientAuthCerts@4 = ShowClientAuthCerts
_ShowSecurityInfo@8 = ShowSecurityInfo
_ShowX509EncodedCertificate@12 = ShowX509EncodedCertificate
_UnlockUrlCacheEntryFile@8 = UnlockUrlCacheEntryFile
_UnlockUrlCacheEntryFileA@8 = UnlockUrlCacheEntryFileA
_UnlockUrlCacheEntryFileW@8 = UnlockUrlCacheEntryFileW
_UnlockUrlCacheEntryStream@8 = UnlockUrlCacheEntryStream
_UpdateUrlCacheContentPath@4 = UpdateUrlCacheContentPath
187 changes: 187 additions & 0 deletions def/winspool.def
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
LIBRARY winspool
EXETYPE NT
SUBSYSTEM WINDOWS
EXPORTS
_AbortPrinter@4 = AbortPrinter
_AddFormA@12 = AddFormA
_AddFormW@12 = AddFormW
_AddJobA@20 = AddJobA
_AddJobW@20 = AddJobW
_AddMonitorA@12 = AddMonitorA
_AddMonitorW@12 = AddMonitorW
_AddPerMachineConnectionA@16 = AddPerMachineConnectionA
_AddPerMachineConnectionW@16 = AddPerMachineConnectionW
_AddPortA@12 = AddPortA
_AddPortExA@16 = AddPortExA
_AddPortExW@16 = AddPortExW
_AddPortW@12 = AddPortW
_AddPrintProcessorA@16 = AddPrintProcessorA
_AddPrintProcessorW@16 = AddPrintProcessorW
_AddPrintProvidorA@12 = AddPrintProvidorA
_AddPrintProvidorW@12 = AddPrintProvidorW
_AddPrinterA@12 = AddPrinterA
_AddPrinterConnectionA@4 = AddPrinterConnectionA
_AddPrinterConnectionUI@12 = AddPrinterConnectionUI
_AddPrinterConnectionW@4 = AddPrinterConnectionW
_AddPrinterDriverA@12 = AddPrinterDriverA
_AddPrinterDriverExA@16 = AddPrinterDriverExA
_AddPrinterDriverExW@16 = AddPrinterDriverExW
_AddPrinterDriverW@12 = AddPrinterDriverW
_AddPrinterW@12 = AddPrinterW
_AdvancedDocumentPropertiesA@20 = AdvancedDocumentPropertiesA
_AdvancedDocumentPropertiesW@20 = AdvancedDocumentPropertiesW
_AdvancedSetupDialog@16 = AdvancedSetupDialog
_ClosePrinter@4 = ClosePrinter
_CloseSpoolFileHandle@8 = CloseSpoolFileHandle
_ClusterSplClose@4 = ClusterSplClose
_ClusterSplIsAlive@4 = ClusterSplIsAlive
_ClusterSplOpen@20 = ClusterSplOpen
_CommitSpoolData@12 = CommitSpoolData
_ConfigurePortA@12 = ConfigurePortA
_ConfigurePortW@12 = ConfigurePortW
_ConnectToPrinterDlg@8 = ConnectToPrinterDlg
_ConvertAnsiDevModeToUnicodeDevmode@16 = ConvertAnsiDevModeToUnicodeDevmode
_ConvertUnicodeDevModeToAnsiDevmode@16 = ConvertUnicodeDevModeToAnsiDevmode
_CreatePrinterIC@8 = CreatePrinterIC
_DeleteFormA@8 = DeleteFormA
_DeleteFormW@8 = DeleteFormW
_DeleteMonitorA@12 = DeleteMonitorA
_DeleteMonitorW@12 = DeleteMonitorW
_DeletePerMachineConnectionA@8 = DeletePerMachineConnectionA
_DeletePerMachineConnectionW@8 = DeletePerMachineConnectionW
_DeletePortA@12 = DeletePortA
_DeletePortW@12 = DeletePortW
_DeletePrintProcessorA@12 = DeletePrintProcessorA
_DeletePrintProcessorW@12 = DeletePrintProcessorW
_DeletePrintProvidorA@12 = DeletePrintProvidorA
_DeletePrintProvidorW@12 = DeletePrintProvidorW
_DeletePrinter@4 = DeletePrinter
_DeletePrinterConnectionA@4 = DeletePrinterConnectionA
_DeletePrinterConnectionW@4 = DeletePrinterConnectionW
_DeletePrinterDataA@8 = DeletePrinterDataA
_DeletePrinterDataExA@12 = DeletePrinterDataExA
_DeletePrinterDataExW@12 = DeletePrinterDataExW
_DeletePrinterDataW@8 = DeletePrinterDataW
_DeletePrinterDriverA@12 = DeletePrinterDriverA
_DeletePrinterDriverExA@20 = DeletePrinterDriverExA
_DeletePrinterDriverExW@20 = DeletePrinterDriverExW
_DeletePrinterDriverW@12 = DeletePrinterDriverW
_DeletePrinterIC@4 = DeletePrinterIC
_DeletePrinterKeyA@8 = DeletePrinterKeyA
_DeletePrinterKeyW@8 = DeletePrinterKeyW
_DevQueryPrint@12 = DevQueryPrint
_DevQueryPrintEx@4 = DevQueryPrintEx
_DeviceCapabilities@20 = DeviceCapabilities
_DeviceCapabilitiesA@20 = DeviceCapabilitiesA
_DeviceCapabilitiesW@20 = DeviceCapabilitiesW
_DeviceMode@16 = DeviceMode
_DevicePropertySheets@8 = DevicePropertySheets
_DocumentEvent@28 = DocumentEvent
_DocumentPropertiesA@24 = DocumentPropertiesA
_DocumentPropertiesW@24 = DocumentPropertiesW
_DocumentPropertySheets@8 = DocumentPropertySheets
_EndDocPrinter@4 = EndDocPrinter
_EndPagePrinter@4 = EndPagePrinter
_EnumFormsA@24 = EnumFormsA
_EnumFormsW@24 = EnumFormsW
_EnumJobsA@32 = EnumJobsA
_EnumJobsW@32 = EnumJobsW
_EnumMonitorsA@24 = EnumMonitorsA
_EnumMonitorsW@24 = EnumMonitorsW
_EnumPerMachineConnectionsA@20 = EnumPerMachineConnectionsA
_EnumPerMachineConnectionsW@20 = EnumPerMachineConnectionsW
_EnumPortsA@24 = EnumPortsA
_EnumPortsW@24 = EnumPortsW
_EnumPrintProcessorDatatypesA@28 = EnumPrintProcessorDatatypesA
_EnumPrintProcessorDatatypesW@28 = EnumPrintProcessorDatatypesW
_EnumPrintProcessorsA@28 = EnumPrintProcessorsA
_EnumPrintProcessorsW@28 = EnumPrintProcessorsW
_EnumPrinterDataA@36 = EnumPrinterDataA
_EnumPrinterDataExA@24 = EnumPrinterDataExA
_EnumPrinterDataExW@24 = EnumPrinterDataExW
_EnumPrinterDataW@36 = EnumPrinterDataW
_EnumPrinterDriversA@28 = EnumPrinterDriversA
_EnumPrinterDriversW@28 = EnumPrinterDriversW
_EnumPrinterKeyA@20 = EnumPrinterKeyA
_EnumPrinterKeyW@20 = EnumPrinterKeyW
_EnumPrinterPropertySheets@16 = EnumPrinterPropertySheets
_EnumPrintersA@28 = EnumPrintersA
_EnumPrintersW@28 = EnumPrintersW
_ExtDeviceMode@32 = ExtDeviceMode
_FindClosePrinterChangeNotification@4 = FindClosePrinterChangeNotification
_FindFirstPrinterChangeNotification@16 = FindFirstPrinterChangeNotification
_FindNextPrinterChangeNotification@16 = FindNextPrinterChangeNotification
_ForceUnloadDriver@4 = ForceUnloadDriver
_FreePrinterNotifyInfo@4 = FreePrinterNotifyInfo
_GetDefaultPrinterA@8 = GetDefaultPrinterA
_GetDefaultPrinterW@8 = GetDefaultPrinterW
_GetFormA@24 = GetFormA
_GetFormW@24 = GetFormW
_GetJobA@24 = GetJobA
_GetJobW@24 = GetJobW
_GetPrintProcessorDirectoryA@24 = GetPrintProcessorDirectoryA
_GetPrintProcessorDirectoryW@24 = GetPrintProcessorDirectoryW
_GetPrinterA@20 = GetPrinterA
_GetPrinterDataA@24 = GetPrinterDataA
_GetPrinterDataExA@28 = GetPrinterDataExA
_GetPrinterDataExW@28 = GetPrinterDataExW
_GetPrinterDataW@24 = GetPrinterDataW
_GetPrinterDriverA@24 = GetPrinterDriverA
_GetPrinterDriverDirectoryA@24 = GetPrinterDriverDirectoryA
_GetPrinterDriverDirectoryW@24 = GetPrinterDriverDirectoryW
_GetPrinterDriverW@24 = GetPrinterDriverW
_GetPrinterHTMLViewA@20 = GetPrinterHTMLViewA
_GetPrinterHTMLViewW@20 = GetPrinterHTMLViewW
_GetPrinterW@20 = GetPrinterW
_GetPrinterWebInformation@16 = GetPrinterWebInformation
_GetSpoolFileHandle@4 = GetSpoolFileHandle
_InitializeDll@12 = InitializeDll
_LoadPrinterDriver@4 = LoadPrinterDriver
_OpenPrinterA@12 = OpenPrinterA
_OpenPrinterW@12 = OpenPrinterW
_PlayGdiScriptOnPrinterIC@24 = PlayGdiScriptOnPrinterIC
_PrinterMessageBoxA@24 = PrinterMessageBoxA
_PrinterMessageBoxW@24 = PrinterMessageBoxW
_PrinterProperties@8 = PrinterProperties
_PublishPrinterA@24 = PublishPrinterA
_PublishPrinterW@24 = PublishPrinterW
_QueryColorProfile@24 = QueryColorProfile
_QueryRemoteFonts@12 = QueryRemoteFonts
_QuerySpoolMode@12 = QuerySpoolMode
_ReadPrinter@16 = ReadPrinter
_RefCntLoadDriver@16 = RefCntLoadDriver
_RefCntUnloadDriver@8 = RefCntUnloadDriver
_ResetPrinterA@8 = ResetPrinterA
_ResetPrinterW@8 = ResetPrinterW
_ScheduleJob@8 = ScheduleJob
_SeekPrinter@24 = SeekPrinter
_SetAllocFailCount@20 = SetAllocFailCount
_SetDefaultPrinterA@4 = SetDefaultPrinterA
_SetDefaultPrinterW@4 = SetDefaultPrinterW
_SetFormA@16 = SetFormA
_SetFormW@16 = SetFormW
_SetJobA@20 = SetJobA
_SetJobW@20 = SetJobW
_SetPortA@16 = SetPortA
_SetPortW@16 = SetPortW
_SetPrinterA@16 = SetPrinterA
_SetPrinterDataA@20 = SetPrinterDataA
_SetPrinterDataExA@24 = SetPrinterDataExA
_SetPrinterDataExW@24 = SetPrinterDataExW
_SetPrinterDataW@20 = SetPrinterDataW
_SetPrinterHTMLViewA@12 = SetPrinterHTMLViewA
_SetPrinterHTMLViewW@12 = SetPrinterHTMLViewW
_SetPrinterW@16 = SetPrinterW
_SplDriverUnloadComplete@4 = SplDriverUnloadComplete
_SplReadPrinter@12 = SplReadPrinter
_SpoolerDevQueryPrintW@20 = SpoolerDevQueryPrintW
_SpoolerInit@0 = SpoolerInit
_SpoolerPrinterEvent@16 = SpoolerPrinterEvent
_StartDocDlgA@8 = StartDocDlgA
_StartDocDlgW@8 = StartDocDlgW
_StartDocPrinterA@12 = StartDocPrinterA
_StartDocPrinterW@12 = StartDocPrinterW
_StartPagePrinter@4 = StartPagePrinter
_WaitForPrinterChange@8 = WaitForPrinterChange
_WritePrinter@16 = WritePrinter
_XcvDataW@32 = XcvDataW
161 changes: 161 additions & 0 deletions mak/COPY
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ COPY=\
$(IMPDIR)\core\stdc\wchar_.d \
$(IMPDIR)\core\stdc\wctype.d \
\
$(IMPDIR)\core\sys\unwind.d \
\
$(IMPDIR)\core\sys\freebsd\dlfcn.d \
$(IMPDIR)\core\sys\freebsd\execinfo.d \
\
Expand Down Expand Up @@ -72,6 +74,7 @@ COPY=\
$(IMPDIR)\core\sys\linux\sys\inotify.d \
$(IMPDIR)\core\sys\linux\sys\mman.d \
$(IMPDIR)\core\sys\linux\sys\signalfd.d \
$(IMPDIR)\core\sys\linux\sys\socket.d \
$(IMPDIR)\core\sys\linux\sys\sysinfo.d \
$(IMPDIR)\core\sys\linux\sys\xattr.d \
\
Expand Down Expand Up @@ -139,6 +142,7 @@ COPY=\
$(IMPDIR)\core\sys\solaris\execinfo.d \
$(IMPDIR)\core\sys\solaris\libelf.d \
$(IMPDIR)\core\sys\solaris\link.d \
$(IMPDIR)\core\sys\solaris\time.d \
$(IMPDIR)\core\sys\solaris\sys\elf.d \
$(IMPDIR)\core\sys\solaris\sys\elf_386.d \
$(IMPDIR)\core\sys\solaris\sys\elf_amd64.d \
Expand All @@ -150,13 +154,170 @@ COPY=\
$(IMPDIR)\core\sys\solaris\sys\types.d \
$(IMPDIR)\core\sys\solaris\sys\priocntl.d \
\
$(IMPDIR)\core\sys\windows\accctrl.d \
$(IMPDIR)\core\sys\windows\aclapi.d \
$(IMPDIR)\core\sys\windows\aclui.d \
$(IMPDIR)\core\sys\windows\basetsd.d \
$(IMPDIR)\core\sys\windows\basetyps.d \
$(IMPDIR)\core\sys\windows\cderr.d \
$(IMPDIR)\core\sys\windows\cguid.d \
$(IMPDIR)\core\sys\windows\com.d \
$(IMPDIR)\core\sys\windows\comcat.d \
$(IMPDIR)\core\sys\windows\commctrl.d \
$(IMPDIR)\core\sys\windows\commdlg.d \
$(IMPDIR)\core\sys\windows\core.d \
$(IMPDIR)\core\sys\windows\cpl.d \
$(IMPDIR)\core\sys\windows\cplext.d \
$(IMPDIR)\core\sys\windows\custcntl.d \
$(IMPDIR)\core\sys\windows\dbghelp.d \
$(IMPDIR)\core\sys\windows\dbghelp_types.d \
$(IMPDIR)\core\sys\windows\dbt.d \
$(IMPDIR)\core\sys\windows\dde.d \
$(IMPDIR)\core\sys\windows\ddeml.d \
$(IMPDIR)\core\sys\windows\dhcpcsdk.d \
$(IMPDIR)\core\sys\windows\dlgs.d \
$(IMPDIR)\core\sys\windows\dll.d \
$(IMPDIR)\core\sys\windows\docobj.d \
$(IMPDIR)\core\sys\windows\errorrep.d \
$(IMPDIR)\core\sys\windows\exdisp.d \
$(IMPDIR)\core\sys\windows\exdispid.d \
$(IMPDIR)\core\sys\windows\httpext.d \
$(IMPDIR)\core\sys\windows\idispids.d \
$(IMPDIR)\core\sys\windows\imagehlp.d \
$(IMPDIR)\core\sys\windows\imm.d \
$(IMPDIR)\core\sys\windows\intshcut.d \
$(IMPDIR)\core\sys\windows\ipexport.d \
$(IMPDIR)\core\sys\windows\iphlpapi.d \
$(IMPDIR)\core\sys\windows\ipifcons.d \
$(IMPDIR)\core\sys\windows\iprtrmib.d \
$(IMPDIR)\core\sys\windows\iptypes.d \
$(IMPDIR)\core\sys\windows\isguids.d \
$(IMPDIR)\core\sys\windows\lm.d \
$(IMPDIR)\core\sys\windows\lmaccess.d \
$(IMPDIR)\core\sys\windows\lmalert.d \
$(IMPDIR)\core\sys\windows\lmapibuf.d \
$(IMPDIR)\core\sys\windows\lmat.d \
$(IMPDIR)\core\sys\windows\lmaudit.d \
$(IMPDIR)\core\sys\windows\lmbrowsr.d \
$(IMPDIR)\core\sys\windows\lmchdev.d \
$(IMPDIR)\core\sys\windows\lmconfig.d \
$(IMPDIR)\core\sys\windows\lmcons.d \
$(IMPDIR)\core\sys\windows\lmerr.d \
$(IMPDIR)\core\sys\windows\lmerrlog.d \
$(IMPDIR)\core\sys\windows\lmmsg.d \
$(IMPDIR)\core\sys\windows\lmremutl.d \
$(IMPDIR)\core\sys\windows\lmrepl.d \
$(IMPDIR)\core\sys\windows\lmserver.d \
$(IMPDIR)\core\sys\windows\lmshare.d \
$(IMPDIR)\core\sys\windows\lmsname.d \
$(IMPDIR)\core\sys\windows\lmstats.d \
$(IMPDIR)\core\sys\windows\lmsvc.d \
$(IMPDIR)\core\sys\windows\lmuse.d \
$(IMPDIR)\core\sys\windows\lmuseflg.d \
$(IMPDIR)\core\sys\windows\lmwksta.d \
$(IMPDIR)\core\sys\windows\lzexpand.d \
$(IMPDIR)\core\sys\windows\mapi.d \
$(IMPDIR)\core\sys\windows\mciavi.d \
$(IMPDIR)\core\sys\windows\mcx.d \
$(IMPDIR)\core\sys\windows\mgmtapi.d \
$(IMPDIR)\core\sys\windows\mmsystem.d \
$(IMPDIR)\core\sys\windows\msacm.d \
$(IMPDIR)\core\sys\windows\mshtml.d \
$(IMPDIR)\core\sys\windows\mswsock.d \
$(IMPDIR)\core\sys\windows\nb30.d \
$(IMPDIR)\core\sys\windows\nddeapi.d \
$(IMPDIR)\core\sys\windows\nspapi.d \
$(IMPDIR)\core\sys\windows\ntdef.d \
$(IMPDIR)\core\sys\windows\ntdll.d \
$(IMPDIR)\core\sys\windows\ntldap.d \
$(IMPDIR)\core\sys\windows\ntsecapi.d \
$(IMPDIR)\core\sys\windows\ntsecpkg.d \
$(IMPDIR)\core\sys\windows\oaidl.d \
$(IMPDIR)\core\sys\windows\objbase.d \
$(IMPDIR)\core\sys\windows\objfwd.d \
$(IMPDIR)\core\sys\windows\objidl.d \
$(IMPDIR)\core\sys\windows\objsafe.d \
$(IMPDIR)\core\sys\windows\ocidl.d \
$(IMPDIR)\core\sys\windows\odbcinst.d \
$(IMPDIR)\core\sys\windows\ole.d \
$(IMPDIR)\core\sys\windows\ole2.d \
$(IMPDIR)\core\sys\windows\ole2ver.d \
$(IMPDIR)\core\sys\windows\oleacc.d \
$(IMPDIR)\core\sys\windows\oleauto.d \
$(IMPDIR)\core\sys\windows\olectl.d \
$(IMPDIR)\core\sys\windows\olectlid.d \
$(IMPDIR)\core\sys\windows\oledlg.d \
$(IMPDIR)\core\sys\windows\oleidl.d \
$(IMPDIR)\core\sys\windows\pbt.d \
$(IMPDIR)\core\sys\windows\powrprof.d \
$(IMPDIR)\core\sys\windows\prsht.d \
$(IMPDIR)\core\sys\windows\psapi.d \
$(IMPDIR)\core\sys\windows\rapi.d \
$(IMPDIR)\core\sys\windows\ras.d \
$(IMPDIR)\core\sys\windows\rasdlg.d \
$(IMPDIR)\core\sys\windows\raserror.d \
$(IMPDIR)\core\sys\windows\rassapi.d \
$(IMPDIR)\core\sys\windows\reason.d \
$(IMPDIR)\core\sys\windows\regstr.d \
$(IMPDIR)\core\sys\windows\richedit.d \
$(IMPDIR)\core\sys\windows\richole.d \
$(IMPDIR)\core\sys\windows\rpc.d \
$(IMPDIR)\core\sys\windows\rpcdce.d \
$(IMPDIR)\core\sys\windows\rpcdce2.d \
$(IMPDIR)\core\sys\windows\rpcdcep.d \
$(IMPDIR)\core\sys\windows\rpcndr.d \
$(IMPDIR)\core\sys\windows\rpcnsi.d \
$(IMPDIR)\core\sys\windows\rpcnsip.d \
$(IMPDIR)\core\sys\windows\rpcnterr.d \
$(IMPDIR)\core\sys\windows\schannel.d \
$(IMPDIR)\core\sys\windows\secext.d \
$(IMPDIR)\core\sys\windows\security.d \
$(IMPDIR)\core\sys\windows\servprov.d \
$(IMPDIR)\core\sys\windows\setupapi.d \
$(IMPDIR)\core\sys\windows\shellapi.d \
$(IMPDIR)\core\sys\windows\shldisp.d \
$(IMPDIR)\core\sys\windows\shlguid.d \
$(IMPDIR)\core\sys\windows\shlobj.d \
$(IMPDIR)\core\sys\windows\shlwapi.d \
$(IMPDIR)\core\sys\windows\snmp.d \
$(IMPDIR)\core\sys\windows\sql.d \
$(IMPDIR)\core\sys\windows\sqlext.d \
$(IMPDIR)\core\sys\windows\sqltypes.d \
$(IMPDIR)\core\sys\windows\sqlucode.d \
$(IMPDIR)\core\sys\windows\sspi.d \
$(IMPDIR)\core\sys\windows\stacktrace.d \
$(IMPDIR)\core\sys\windows\stat.d \
$(IMPDIR)\core\sys\windows\subauth.d \
$(IMPDIR)\core\sys\windows\threadaux.d \
$(IMPDIR)\core\sys\windows\tlhelp32.d \
$(IMPDIR)\core\sys\windows\tmschema.d \
$(IMPDIR)\core\sys\windows\unknwn.d \
$(IMPDIR)\core\sys\windows\uuid.d \
$(IMPDIR)\core\sys\windows\vfw.d \
$(IMPDIR)\core\sys\windows\w32api.d \
$(IMPDIR)\core\sys\windows\winbase.d \
$(IMPDIR)\core\sys\windows\winber.d \
$(IMPDIR)\core\sys\windows\wincon.d \
$(IMPDIR)\core\sys\windows\wincrypt.d \
$(IMPDIR)\core\sys\windows\windef.d \
$(IMPDIR)\core\sys\windows\windows.d \
$(IMPDIR)\core\sys\windows\winerror.d \
$(IMPDIR)\core\sys\windows\wingdi.d \
$(IMPDIR)\core\sys\windows\winhttp.d \
$(IMPDIR)\core\sys\windows\wininet.d \
$(IMPDIR)\core\sys\windows\winioctl.d \
$(IMPDIR)\core\sys\windows\winldap.d \
$(IMPDIR)\core\sys\windows\winnetwk.d \
$(IMPDIR)\core\sys\windows\winnls.d \
$(IMPDIR)\core\sys\windows\winnt.d \
$(IMPDIR)\core\sys\windows\winperf.d \
$(IMPDIR)\core\sys\windows\winreg.d \
$(IMPDIR)\core\sys\windows\winsock2.d \
$(IMPDIR)\core\sys\windows\winspool.d \
$(IMPDIR)\core\sys\windows\winsvc.d \
$(IMPDIR)\core\sys\windows\winuser.d \
$(IMPDIR)\core\sys\windows\winver.d \
$(IMPDIR)\core\sys\windows\wtsapi32.d \
$(IMPDIR)\core\sys\windows\wtypes.d \
\
$(IMPDIR)\etc\linux\memoryerror.d
166 changes: 166 additions & 0 deletions mak/MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ MANIFEST=\
src\core\sync\rwmutex.d \
src\core\sync\semaphore.d \
\
src\core\sys\unwind.d \
\
src\core\sys\freebsd\dlfcn.d \
src\core\sys\freebsd\execinfo.d \
src\core\sys\freebsd\time.d \
Expand All @@ -95,10 +97,12 @@ MANIFEST=\
src\core\sys\linux\termios.d \
src\core\sys\linux\time.d \
src\core\sys\linux\tipc.d \
src\core\sys\linux\unistd.d \
\
src\core\sys\linux\sys\inotify.d \
src\core\sys\linux\sys\mman.d \
src\core\sys\linux\sys\signalfd.d \
src\core\sys\linux\sys\socket.d \
src\core\sys\linux\sys\sysinfo.d \
src\core\sys\linux\sys\xattr.d \
\
Expand Down Expand Up @@ -169,6 +173,7 @@ MANIFEST=\
src\core\sys\solaris\execinfo.d \
src\core\sys\solaris\libelf.d \
src\core\sys\solaris\link.d \
src\core\sys\solaris\time.d \
\
src\core\sys\solaris\sys\elf.d \
src\core\sys\solaris\sys\elf_386.d \
Expand All @@ -181,14 +186,171 @@ MANIFEST=\
src\core\sys\solaris\sys\procset.d \
src\core\sys\solaris\sys\types.d \
\
src\core\sys\windows\accctrl.d \
src\core\sys\windows\aclapi.d \
src\core\sys\windows\aclui.d \
src\core\sys\windows\basetsd.d \
src\core\sys\windows\basetyps.d \
src\core\sys\windows\cderr.d \
src\core\sys\windows\cguid.d \
src\core\sys\windows\com.d \
src\core\sys\windows\comcat.d \
src\core\sys\windows\commctrl.d \
src\core\sys\windows\commdlg.d \
src\core\sys\windows\core.d \
src\core\sys\windows\cpl.d \
src\core\sys\windows\cplext.d \
src\core\sys\windows\custcntl.d \
src\core\sys\windows\dbghelp.d \
src\core\sys\windows\dbghelp_types.d \
src\core\sys\windows\dbt.d \
src\core\sys\windows\dde.d \
src\core\sys\windows\ddeml.d \
src\core\sys\windows\dhcpcsdk.d \
src\core\sys\windows\dlgs.d \
src\core\sys\windows\dll.d \
src\core\sys\windows\docobj.d \
src\core\sys\windows\errorrep.d \
src\core\sys\windows\exdisp.d \
src\core\sys\windows\exdispid.d \
src\core\sys\windows\httpext.d \
src\core\sys\windows\idispids.d \
src\core\sys\windows\imagehlp.d \
src\core\sys\windows\imm.d \
src\core\sys\windows\intshcut.d \
src\core\sys\windows\ipexport.d \
src\core\sys\windows\iphlpapi.d \
src\core\sys\windows\ipifcons.d \
src\core\sys\windows\iprtrmib.d \
src\core\sys\windows\iptypes.d \
src\core\sys\windows\isguids.d \
src\core\sys\windows\lm.d \
src\core\sys\windows\lmaccess.d \
src\core\sys\windows\lmalert.d \
src\core\sys\windows\lmapibuf.d \
src\core\sys\windows\lmat.d \
src\core\sys\windows\lmaudit.d \
src\core\sys\windows\lmbrowsr.d \
src\core\sys\windows\lmchdev.d \
src\core\sys\windows\lmconfig.d \
src\core\sys\windows\lmcons.d \
src\core\sys\windows\lmerr.d \
src\core\sys\windows\lmerrlog.d \
src\core\sys\windows\lmmsg.d \
src\core\sys\windows\lmremutl.d \
src\core\sys\windows\lmrepl.d \
src\core\sys\windows\lmserver.d \
src\core\sys\windows\lmshare.d \
src\core\sys\windows\lmsname.d \
src\core\sys\windows\lmstats.d \
src\core\sys\windows\lmsvc.d \
src\core\sys\windows\lmuse.d \
src\core\sys\windows\lmuseflg.d \
src\core\sys\windows\lmwksta.d \
src\core\sys\windows\lzexpand.d \
src\core\sys\windows\mapi.d \
src\core\sys\windows\mciavi.d \
src\core\sys\windows\mcx.d \
src\core\sys\windows\mgmtapi.d \
src\core\sys\windows\mmsystem.d \
src\core\sys\windows\msacm.d \
src\core\sys\windows\mshtml.d \
src\core\sys\windows\mswsock.d \
src\core\sys\windows\nb30.d \
src\core\sys\windows\nddeapi.d \
src\core\sys\windows\nspapi.d \
src\core\sys\windows\ntdef.d \
src\core\sys\windows\ntdll.d \
src\core\sys\windows\ntldap.d \
src\core\sys\windows\ntsecapi.d \
src\core\sys\windows\ntsecpkg.d \
src\core\sys\windows\oaidl.d \
src\core\sys\windows\objbase.d \
src\core\sys\windows\objfwd.d \
src\core\sys\windows\objidl.d \
src\core\sys\windows\objsafe.d \
src\core\sys\windows\ocidl.d \
src\core\sys\windows\odbcinst.d \
src\core\sys\windows\ole.d \
src\core\sys\windows\ole2.d \
src\core\sys\windows\ole2ver.d \
src\core\sys\windows\oleacc.d \
src\core\sys\windows\oleauto.d \
src\core\sys\windows\olectl.d \
src\core\sys\windows\olectlid.d \
src\core\sys\windows\oledlg.d \
src\core\sys\windows\oleidl.d \
src\core\sys\windows\pbt.d \
src\core\sys\windows\powrprof.d \
src\core\sys\windows\prsht.d \
src\core\sys\windows\psapi.d \
src\core\sys\windows\rapi.d \
src\core\sys\windows\ras.d \
src\core\sys\windows\rasdlg.d \
src\core\sys\windows\raserror.d \
src\core\sys\windows\rassapi.d \
src\core\sys\windows\reason.d \
src\core\sys\windows\regstr.d \
src\core\sys\windows\richedit.d \
src\core\sys\windows\richole.d \
src\core\sys\windows\rpc.d \
src\core\sys\windows\rpcdce.d \
src\core\sys\windows\rpcdce2.d \
src\core\sys\windows\rpcdcep.d \
src\core\sys\windows\rpcndr.d \
src\core\sys\windows\rpcnsi.d \
src\core\sys\windows\rpcnsip.d \
src\core\sys\windows\rpcnterr.d \
src\core\sys\windows\schannel.d \
src\core\sys\windows\secext.d \
src\core\sys\windows\security.d \
src\core\sys\windows\servprov.d \
src\core\sys\windows\setupapi.d \
src\core\sys\windows\shellapi.d \
src\core\sys\windows\shldisp.d \
src\core\sys\windows\shlguid.d \
src\core\sys\windows\shlobj.d \
src\core\sys\windows\shlwapi.d \
src\core\sys\windows\snmp.d \
src\core\sys\windows\sql.d \
src\core\sys\windows\sqlext.d \
src\core\sys\windows\sqltypes.d \
src\core\sys\windows\sqlucode.d \
src\core\sys\windows\sspi.d \
src\core\sys\windows\stacktrace.d \
src\core\sys\windows\stat.d \
src\core\sys\windows\subauth.d \
src\core\sys\windows\threadaux.d \
src\core\sys\windows\tlhelp32.d \
src\core\sys\windows\tmschema.d \
src\core\sys\windows\unknwn.d \
src\core\sys\windows\uuid.d \
src\core\sys\windows\vfw.d \
src\core\sys\windows\w32api.d \
src\core\sys\windows\winbase.d \
src\core\sys\windows\winber.d \
src\core\sys\windows\wincon.d \
src\core\sys\windows\wincrypt.d \
src\core\sys\windows\windef.d \
src\core\sys\windows\windows.d \
src\core\sys\windows\winerror.d \
src\core\sys\windows\wingdi.d \
src\core\sys\windows\winhttp.d \
src\core\sys\windows\wininet.d \
src\core\sys\windows\winioctl.d \
src\core\sys\windows\winldap.d \
src\core\sys\windows\winnetwk.d \
src\core\sys\windows\winnls.d \
src\core\sys\windows\winnt.d \
src\core\sys\windows\winperf.d \
src\core\sys\windows\winreg.d \
src\core\sys\windows\winsock2.d \
src\core\sys\windows\winspool.d \
src\core\sys\windows\winsvc.d \
src\core\sys\windows\winuser.d \
src\core\sys\windows\winver.d \
src\core\sys\windows\wtsapi32.d \
src\core\sys\windows\wtypes.d \
\
src\gc\bits.d \
src\gc\config.d \
Expand Down Expand Up @@ -224,6 +386,7 @@ MANIFEST=\
src\rt\deh_win32.d \
src\rt\deh_win64_posix.d \
src\rt\dmain2.d \
src\rt\dwarfeh.d \
src\rt\dylib_fixes.c \
src\rt\invariant.d \
src\rt\lifetime.d \
Expand All @@ -248,6 +411,9 @@ MANIFEST=\
src\rt\trace.d \
src\rt\tracegc.d \
\
src\rt\backtrace\dwarf.d \
src\rt\backtrace\elf.d \
\
src\rt\util\array.d \
src\rt\util\hash.d \
src\rt\util\random.d \
Expand Down
160 changes: 160 additions & 0 deletions mak/SRCS
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ SRCS=\
src\core\sync\rwmutex.d \
src\core\sync\semaphore.d \
\
src\core\sys\unwind.d \
\
src\core\sys\freebsd\execinfo.d \
src\core\sys\freebsd\sys\event.d \
\
Expand All @@ -68,14 +70,171 @@ SRCS=\
src\core\sys\solaris\sys\types.d \
src\core\sys\solaris\sys\procset.d \
\
src\core\sys\windows\accctrl.d \
src\core\sys\windows\aclapi.d \
src\core\sys\windows\aclui.d \
src\core\sys\windows\basetsd.d \
src\core\sys\windows\basetyps.d \
src\core\sys\windows\cderr.d \
src\core\sys\windows\cguid.d \
src\core\sys\windows\com.d \
src\core\sys\windows\comcat.d \
src\core\sys\windows\commctrl.d \
src\core\sys\windows\commdlg.d \
src\core\sys\windows\core.d \
src\core\sys\windows\cpl.d \
src\core\sys\windows\cplext.d \
src\core\sys\windows\custcntl.d \
src\core\sys\windows\dbghelp.d \
src\core\sys\windows\dbghelp_types.d \
src\core\sys\windows\dbt.d \
src\core\sys\windows\dde.d \
src\core\sys\windows\ddeml.d \
src\core\sys\windows\dhcpcsdk.d \
src\core\sys\windows\dlgs.d \
src\core\sys\windows\dll.d \
src\core\sys\windows\docobj.d \
src\core\sys\windows\errorrep.d \
src\core\sys\windows\exdisp.d \
src\core\sys\windows\exdispid.d \
src\core\sys\windows\httpext.d \
src\core\sys\windows\idispids.d \
src\core\sys\windows\imagehlp.d \
src\core\sys\windows\imm.d \
src\core\sys\windows\intshcut.d \
src\core\sys\windows\ipexport.d \
src\core\sys\windows\iphlpapi.d \
src\core\sys\windows\ipifcons.d \
src\core\sys\windows\iprtrmib.d \
src\core\sys\windows\iptypes.d \
src\core\sys\windows\isguids.d \
src\core\sys\windows\lm.d \
src\core\sys\windows\lmaccess.d \
src\core\sys\windows\lmalert.d \
src\core\sys\windows\lmapibuf.d \
src\core\sys\windows\lmat.d \
src\core\sys\windows\lmaudit.d \
src\core\sys\windows\lmbrowsr.d \
src\core\sys\windows\lmchdev.d \
src\core\sys\windows\lmconfig.d \
src\core\sys\windows\lmcons.d \
src\core\sys\windows\lmerr.d \
src\core\sys\windows\lmerrlog.d \
src\core\sys\windows\lmmsg.d \
src\core\sys\windows\lmremutl.d \
src\core\sys\windows\lmrepl.d \
src\core\sys\windows\lmserver.d \
src\core\sys\windows\lmshare.d \
src\core\sys\windows\lmsname.d \
src\core\sys\windows\lmstats.d \
src\core\sys\windows\lmsvc.d \
src\core\sys\windows\lmuse.d \
src\core\sys\windows\lmuseflg.d \
src\core\sys\windows\lmwksta.d \
src\core\sys\windows\lzexpand.d \
src\core\sys\windows\mapi.d \
src\core\sys\windows\mciavi.d \
src\core\sys\windows\mcx.d \
src\core\sys\windows\mgmtapi.d \
src\core\sys\windows\mmsystem.d \
src\core\sys\windows\msacm.d \
src\core\sys\windows\mshtml.d \
src\core\sys\windows\mswsock.d \
src\core\sys\windows\nb30.d \
src\core\sys\windows\nddeapi.d \
src\core\sys\windows\nspapi.d \
src\core\sys\windows\ntdef.d \
src\core\sys\windows\ntdll.d \
src\core\sys\windows\ntldap.d \
src\core\sys\windows\ntsecapi.d \
src\core\sys\windows\ntsecpkg.d \
src\core\sys\windows\oaidl.d \
src\core\sys\windows\objbase.d \
src\core\sys\windows\objfwd.d \
src\core\sys\windows\objidl.d \
src\core\sys\windows\objsafe.d \
src\core\sys\windows\ocidl.d \
src\core\sys\windows\odbcinst.d \
src\core\sys\windows\ole.d \
src\core\sys\windows\ole2.d \
src\core\sys\windows\ole2ver.d \
src\core\sys\windows\oleacc.d \
src\core\sys\windows\oleauto.d \
src\core\sys\windows\olectl.d \
src\core\sys\windows\olectlid.d \
src\core\sys\windows\oledlg.d \
src\core\sys\windows\oleidl.d \
src\core\sys\windows\pbt.d \
src\core\sys\windows\powrprof.d \
src\core\sys\windows\prsht.d \
src\core\sys\windows\psapi.d \
src\core\sys\windows\rapi.d \
src\core\sys\windows\ras.d \
src\core\sys\windows\rasdlg.d \
src\core\sys\windows\raserror.d \
src\core\sys\windows\rassapi.d \
src\core\sys\windows\reason.d \
src\core\sys\windows\regstr.d \
src\core\sys\windows\richedit.d \
src\core\sys\windows\richole.d \
src\core\sys\windows\rpc.d \
src\core\sys\windows\rpcdce.d \
src\core\sys\windows\rpcdce2.d \
src\core\sys\windows\rpcdcep.d \
src\core\sys\windows\rpcndr.d \
src\core\sys\windows\rpcnsi.d \
src\core\sys\windows\rpcnsip.d \
src\core\sys\windows\rpcnterr.d \
src\core\sys\windows\schannel.d \
src\core\sys\windows\secext.d \
src\core\sys\windows\security.d \
src\core\sys\windows\servprov.d \
src\core\sys\windows\setupapi.d \
src\core\sys\windows\shellapi.d \
src\core\sys\windows\shldisp.d \
src\core\sys\windows\shlguid.d \
src\core\sys\windows\shlobj.d \
src\core\sys\windows\shlwapi.d \
src\core\sys\windows\snmp.d \
src\core\sys\windows\sql.d \
src\core\sys\windows\sqlext.d \
src\core\sys\windows\sqltypes.d \
src\core\sys\windows\sqlucode.d \
src\core\sys\windows\sspi.d \
src\core\sys\windows\stacktrace.d \
src\core\sys\windows\stat.d \
src\core\sys\windows\subauth.d \
src\core\sys\windows\threadaux.d \
src\core\sys\windows\tlhelp32.d \
src\core\sys\windows\tmschema.d \
src\core\sys\windows\unknwn.d \
src\core\sys\windows\uuid.d \
src\core\sys\windows\vfw.d \
src\core\sys\windows\w32api.d \
src\core\sys\windows\winbase.d \
src\core\sys\windows\winber.d \
src\core\sys\windows\wincon.d \
src\core\sys\windows\wincrypt.d \
src\core\sys\windows\windef.d \
src\core\sys\windows\windows.d \
src\core\sys\windows\winerror.d \
src\core\sys\windows\wingdi.d \
src\core\sys\windows\winhttp.d \
src\core\sys\windows\wininet.d \
src\core\sys\windows\winioctl.d \
src\core\sys\windows\winldap.d \
src\core\sys\windows\winnetwk.d \
src\core\sys\windows\winnls.d \
src\core\sys\windows\winnt.d \
src\core\sys\windows\winperf.d \
src\core\sys\windows\winreg.d \
src\core\sys\windows\winsock2.d \
src\core\sys\windows\winspool.d \
src\core\sys\windows\winsvc.d \
src\core\sys\windows\winuser.d \
src\core\sys\windows\winver.d \
src\core\sys\windows\wtsapi32.d \
src\core\sys\windows\wtypes.d \
\
src\gc\bits.d \
src\gc\config.d \
Expand Down Expand Up @@ -108,6 +267,7 @@ SRCS=\
src\rt\deh_win32.d \
src\rt\deh_win64_posix.d \
src\rt\dmain2.d \
src\rt\dwarfeh.d \
src\rt\invariant.d \
src\rt\lifetime.d \
src\rt\llmath.d \
Expand Down
2 changes: 1 addition & 1 deletion src/core/bitop.d
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ version (DigitalMars) version (AnyX86) @system // not pure
uint outpl(uint port_address, uint value);
}

version (AnyX86)
version (DigitalMars) version (AnyX86)
{
/**
* Calculates the number of set bits in a 32-bit integer
Expand Down
8 changes: 4 additions & 4 deletions src/core/checkedint.d
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ unittest
* y = right operand
* overflow = set if an overflow occurs, is not affected otherwise
* Returns:
* the sum
* the difference
*/

pragma(inline, true)
Expand Down Expand Up @@ -253,7 +253,7 @@ unittest
* y = right operand
* overflow = set if an overflow occurs, is not affected otherwise
* Returns:
* the sum
* the difference
*/

pragma(inline, true)
Expand Down Expand Up @@ -379,7 +379,7 @@ unittest
* y = right operand
* overflow = set if an overflow occurs, is not affected otherwise
* Returns:
* the sum
* the product
*/

pragma(inline, true)
Expand Down Expand Up @@ -456,7 +456,7 @@ unittest
* y = right operand
* overflow = set if an overflow occurs, is not affected otherwise
* Returns:
* the sum
* the product
*/

pragma(inline, true)
Expand Down
26 changes: 16 additions & 10 deletions src/core/cpuid.d
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,12 @@ struct CacheInfo
/// data size is much greater than code size for critical loops).
size_t size;
/// Number of ways of associativity, eg:
/// 1 = direct mapped
/// 2 = 2-way set associative
/// 3 = 3-way set associative
/// ubyte.max = fully associative
/// $(UL
/// $(LI 1 = direct mapped)
/// $(LI 2 = 2-way set associative)
/// $(LI 3 = 3-way set associative)
/// $(LI ubyte.max = fully associative)
/// )
ubyte associativity;
/// Number of bytes read into the cache when a cache miss occurs.
uint lineSize;
Expand Down Expand Up @@ -219,18 +221,22 @@ public:
///
/// The major 32-bit x86 microarchitecture 'dynasties' have been:
///
/// * Intel P6 (PentiumPro, PII, PIII, PM, Core, Core2).
/// * AMD Athlon (K7, K8, K10).
/// * Intel NetBurst (Pentium 4, Pentium D).
/// * In-order Pentium (Pentium1, PMMX, Atom)
/// $(UL
/// $(LI Intel P6 (PentiumPro, PII, PIII, PM, Core, Core2). )
/// $(LI AMD Athlon (K7, K8, K10). )
/// $(LI Intel NetBurst (Pentium 4, Pentium D). )
/// $(LI In-order Pentium (Pentium1, PMMX, Atom) )
/// )
///
/// Other early CPUs (Nx586, AMD K5, K6, Centaur C3, Transmeta,
/// Cyrix, Rise) were mostly in-order.
///
/// Some new processors do not fit into the existing categories:
///
/// * Intel Atom 230/330 (family 6, model 0x1C) is an in-order core.
/// * Centaur Isiah = VIA Nano (family 6, model F) is an out-of-order core.
/// $(UL
/// $(LI Intel Atom 230/330 (family 6, model 0x1C) is an in-order core. )
/// $(LI Centaur Isiah = VIA Nano (family 6, model F) is an out-of-order core. )
/// )
///
/// Within each dynasty, the optimisation techniques are largely
/// identical (eg, use instruction pairing for group 4). Major
Expand Down
24 changes: 7 additions & 17 deletions src/core/demangle.d
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ private struct Demangle
//throw new ParseException( msg );
debug(info) printf( "error: %.*s\n", cast(int) msg.length, msg.ptr );
throw __ctfe ? new ParseException(msg)
: cast(ParseException) cast(void*) typeid(ParseException).init;
: cast(ParseException) cast(void*) typeid(ParseException).initializer;

}

Expand All @@ -95,7 +95,7 @@ private struct Demangle
{
//throw new OverflowException( msg );
debug(info) printf( "overflow: %.*s\n", cast(int) msg.length, msg.ptr );
throw cast(OverflowException) cast(void*) typeid(OverflowException).init;
throw cast(OverflowException) cast(void*) typeid(OverflowException).initializer;
}


Expand Down Expand Up @@ -1722,19 +1722,7 @@ char[] demangleType( const(char)[] buf, char[] dst = null )
*/
char[] mangle(T)(const(char)[] fqn, char[] dst = null) @safe pure nothrow
{
static size_t numToString(char[] dst, size_t val) @safe pure nothrow
{
char[20] buf = void;
size_t i = buf.length;
do
{
buf[--i] = cast(char)(val % 10 + '0');
} while (val /= 10);
immutable len = buf.length - i;
if (dst.length >= len)
dst[0 .. len] = buf[i .. $];
return len;
}
import core.internal.string : numDigits, unsignedToTempString;

static struct DotSplitter
{
Expand Down Expand Up @@ -1764,15 +1752,17 @@ char[] mangle(T)(const(char)[] fqn, char[] dst = null) @safe pure nothrow

size_t len = "_D".length;
foreach (comp; DotSplitter(fqn))
len += numToString(null, comp.length) + comp.length;
len += numDigits(comp.length) + comp.length;
len += T.mangleof.length;
if (dst.length < len) dst.length = len;

size_t i = "_D".length;
dst[0 .. i] = "_D";
foreach (comp; DotSplitter(fqn))
{
i += numToString(dst[i .. $], comp.length);
const ndigits = numDigits(comp.length);
unsignedToTempString(comp.length, dst[i .. i + ndigits]);
i += ndigits;
dst[i .. i + comp.length] = comp[];
i += comp.length;
}
Expand Down
4 changes: 2 additions & 2 deletions src/core/exception.d
Original file line number Diff line number Diff line change
Expand Up @@ -672,7 +672,7 @@ private T staticError(T, Args...)(auto ref Args args)
static assert(__traits(classInstanceSize, T) <= _store.length,
T.stringof ~ " is too large for staticError()");

_store[0 .. __traits(classInstanceSize, T)] = typeid(T).init[];
_store[0 .. __traits(classInstanceSize, T)] = typeid(T).initializer[];
return cast(T) _store.ptr;
}
auto res = (cast(T function() @trusted pure nothrow @nogc) &get)();
Expand All @@ -682,7 +682,7 @@ private T staticError(T, Args...)(auto ref Args args)

// Suppress traceinfo generation when the GC cannot be used. Workaround for
// Bugzilla 14993. We should make stack traces @nogc instead.
private class SuppressTraceInfo : Throwable.TraceInfo
package class SuppressTraceInfo : Throwable.TraceInfo
{
override int opApply(scope int delegate(ref const(char[]))) const { return 0; }
override int opApply(scope int delegate(ref size_t, ref const(char[]))) const { return 0; }
Expand Down
62 changes: 60 additions & 2 deletions src/core/internal/string.d
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ nothrow:

alias UnsignedStringBuf = char[20];

char[] unsignedToTempString(ulong value, char[] buf, uint radix) @safe
char[] unsignedToTempString(ulong value, char[] buf, uint radix = 10) @safe
{
size_t i = buf.length;
do
Expand All @@ -41,7 +41,7 @@ private struct TempStringNoAlloc

auto unsignedToTempString(ulong value, uint radix) @safe
{
TempStringNoAlloc result;
TempStringNoAlloc result = void;
result._len = unsignedToTempString(value, result._buf, radix).length & 0xff;
return result;
}
Expand Down Expand Up @@ -132,6 +132,64 @@ unittest
assert(long.min.signedToTempString(2) == "-1000000000000000000000000000000000000000000000000000000000000000");
}


/********************************
* Determine number of digits that will result from a
* conversion of value to a string.
* Params:
* value = number to convert
* radix = radix
* Returns:
* number of digits
*/
int numDigits(uint radix = 10)(ulong value) @safe
{
int n = 1;
while (1)
{
if (value <= uint.max)
{
uint v = cast(uint)value;
while (1)
{
if (v < radix)
return n;
if (v < radix * radix)
return n + 1;
if (v < radix * radix * radix)
return n + 2;
if (v < radix * radix * radix * radix)
return n + 3;
n += 4;
v /= radix * radix * radix * radix;
}
}
n += 4;
value /= radix * radix * radix * radix;
}
}

unittest
{
assert(0.numDigits == 1);
assert(9.numDigits == 1);
assert(10.numDigits == 2);
assert(99.numDigits == 2);
assert(100.numDigits == 3);
assert(999.numDigits == 3);
assert(1000.numDigits == 4);
assert(9999.numDigits == 4);
assert(10000.numDigits == 5);
assert(99999.numDigits == 5);
assert(uint.max.numDigits == 10);
assert(ulong.max.numDigits == 20);

assert(0.numDigits!2 == 1);
assert(1.numDigits!2 == 1);
assert(2.numDigits!2 == 2);
assert(3.numDigits!2 == 2);
}

int dstrcmp( in char[] s1, in char[] s2 ) @trusted
{
import core.stdc.string : memcmp;
Expand Down
2 changes: 1 addition & 1 deletion src/core/math.d
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*
* Source: $(DRUNTIMESRC core/_math.d)
* Macros:
* TABLE_SV = <table border=1 cellpadding=4 cellspacing=0>
* TABLE_SV = <table border="1" cellpadding="4" cellspacing="0">
* <caption>Special Values</caption>
* $0</table>
*
Expand Down
4 changes: 2 additions & 2 deletions src/core/runtime.d
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ private
extern (C) void* thread_stackBottom();

extern (C) string[] rt_args();
extern (C) CArgs rt_cArgs();
extern (C) CArgs rt_cArgs() @nogc;
}


Expand Down Expand Up @@ -156,7 +156,7 @@ struct Runtime
* }
* ---
*/
static @property CArgs cArgs()
static @property CArgs cArgs() @nogc
{
return rt_cArgs();
}
Expand Down
36 changes: 18 additions & 18 deletions src/core/stdc/config.d
Original file line number Diff line number Diff line change
Expand Up @@ -86,27 +86,27 @@ else version( Posix )
}
}

version( DigitalMars )
version( CRuntime_Microsoft )
{
version( CRuntime_Microsoft )
/* long double is 64 bits, not 80 bits, but is mangled differently
* than double. To distinguish double from long double, create a wrapper to represent
* long double, then recognize that wrapper specially in the compiler
* to generate the correct name mangling and correct function call/return
* ABI conformance.
*/
struct __c_long_double
{
/* long double is 64 bits, not 80 bits, but is mangled differently
* than double. To distinguish double from long double, create a wrapper to represent
* long double, then recognize that wrapper specially in the compiler
* to generate the correct name mangling and correct function call/return
* ABI conformance.
*/
struct __c_long_double
{
pure nothrow @nogc @safe:
this(double d) { ld = d; }
double ld;
alias ld this;
}

alias __c_long_double c_long_double;
pure nothrow @nogc @safe:
this(double d) { ld = d; }
double ld;
alias ld this;
}
else version( X86 )

alias __c_long_double c_long_double;
}
else version( DigitalMars )
{
version( X86 )
{
alias real c_long_double;
}
Expand Down
407 changes: 407 additions & 0 deletions src/core/stdc/errno.d

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions src/core/stdc/string.d
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ else version (FreeBSD)
{
int strerror_r(int errnum, char* buf, size_t buflen);
}
else version (Solaris)
{
int strerror_r(int errnum, char* buf, size_t buflen);
}
else version (CRuntime_Bionic)
{
///
Expand Down
4 changes: 2 additions & 2 deletions src/core/sync/mutex.d
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ class Mutex :
int rc = pthread_mutex_lock( &m_hndl );
if( rc )
{
SyncError syncErr = cast(SyncError) cast(void*) typeid(SyncError).init;
SyncError syncErr = cast(SyncError) cast(void*) typeid(SyncError).initializer;
syncErr.msg = "Unable to lock mutex.";
throw syncErr;
}
Expand Down Expand Up @@ -176,7 +176,7 @@ class Mutex :
int rc = pthread_mutex_unlock( &m_hndl );
if( rc )
{
SyncError syncErr = cast(SyncError) cast(void*) typeid(SyncError).init;
SyncError syncErr = cast(SyncError) cast(void*) typeid(SyncError).initializer;
syncErr.msg = "Unable to unlock mutex.";
throw syncErr;
}
Expand Down
5 changes: 5 additions & 0 deletions src/core/sys/linux/sys/inotify.d
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,11 @@ else version (AArch64)
enum IN_CLOEXEC = 0x80000; // octal!2000000
enum IN_NONBLOCK = 0x800; // octal!4000
}
else version (SystemZ)
{
enum IN_CLOEXEC = 0x80000; // octal!2000000
enum IN_NONBLOCK = 0x800; // octal!4000
}
else
static assert(0, "unimplemented");

Expand Down
19 changes: 19 additions & 0 deletions src/core/sys/linux/sys/socket.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/**
* D header file for GNU/Linux.
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Authors: Paul O'Neil
*/
module core.sys.linux.sys.socket;

public import core.sys.posix.sys.socket;

version(linux):
extern(C):
@nogc:
nothrow:

enum {
AF_RXRPC = 33,
PF_RXRPC = AF_RXRPC,
}
3 changes: 3 additions & 0 deletions src/core/sys/linux/unistd.d
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,6 @@ enum {
/// Offset is relative to the next hole (or EOF if file is not sparse)
SEEK_HOLE = 4
}

/// Prompt for a password without echoing it.
char* getpass(const(char)* prompt);
9 changes: 9 additions & 0 deletions src/core/sys/posix/setjmp.d
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,15 @@ version( CRuntime_Glibc )
double[6] __fpregs;
}
}
else version (SystemZ)
{
struct __s390_jmp_buf
{
c_long[10] __gregs;
c_long[8] __fpregs;
}
alias __jmp_buf = __s390_jmp_buf[1];
}
else
static assert(0, "unimplemented");

Expand Down
44 changes: 37 additions & 7 deletions src/core/sys/posix/signal.d
Original file line number Diff line number Diff line change
Expand Up @@ -108,23 +108,53 @@ union sigval
version( Solaris )
{
import core.sys.posix.unistd;
private int _sigrtmin() { return cast(int) sysconf(_SC_SIGRT_MIN); }
private int _sigrtmax() { return cast(int) sysconf(_SC_SIGRT_MAX); }

alias _sigrtmin SIGRTMIN;
alias _sigrtmax SIGRTMAX;
@property int SIGRTMIN() nothrow @nogc {
__gshared static int sig = -1;
if (sig == -1) {
sig = cast(int)sysconf(_SC_SIGRT_MIN);
}
return sig;
}

@property int SIGRTMAX() nothrow @nogc {
__gshared static int sig = -1;
if (sig == -1) {
sig = cast(int)sysconf(_SC_SIGRT_MAX);
}
return sig;
}
}
else version( Posix )
else version( linux )
{
private extern (C) nothrow @nogc
{
int __libc_current_sigrtmin();
int __libc_current_sigrtmax();
}

alias __libc_current_sigrtmin SIGRTMIN;
alias __libc_current_sigrtmax SIGRTMAX;
@property int SIGRTMIN() nothrow @nogc {
__gshared static int sig = -1;
if (sig == -1) {
sig = __libc_current_sigrtmin();
}
return sig;
}

@property int SIGRTMAX() nothrow @nogc {
__gshared static int sig = -1;
if (sig == -1) {
sig = __libc_current_sigrtmax();
}
return sig;
}
}
else version (FreeBSD) {
// https://github.com/freebsd/freebsd/blob/e79c62ff68fc74d88cb6f479859f6fae9baa5101/sys/sys/signal.h#L117
enum SIGRTMIN = 65;
enum SIGRTMAX = 126;
}
// Note: it appears that FreeBSD (prior to 7) and OSX do not support realtime signals

version( linux )
{
Expand Down
5 changes: 4 additions & 1 deletion src/core/sys/posix/time.d
Original file line number Diff line number Diff line change
Expand Up @@ -247,13 +247,16 @@ else version( FreeBSD )
}
else version (Solaris)
{
enum CLOCK_PROCESS_CPUTIME_ID = 5; // <sys/time_impl.h>
enum CLOCK_THREAD_CPUTIME_ID = 2; // <sys/time_impl.h>

struct itimerspec
{
timespec it_interval;
timespec it_value;
}

enum CLOCK_REALTIME = 0; // <sys/time_impl.h>
enum CLOCK_REALTIME = 3; // <sys/time_impl.h>
enum TIMER_ABSOLUTE = 0x1;

alias int clockid_t;
Expand Down
46 changes: 46 additions & 0 deletions src/core/sys/posix/ucontext.d
Original file line number Diff line number Diff line change
Expand Up @@ -542,6 +542,52 @@ version( CRuntime_Glibc )
mcontext_t uc_mcontext;
}
}
else version (SystemZ)
{
public import core.sys.posix.signal : sigset_t;

enum NGREG = 27;

alias greg_t = c_ulong;
alias gregset_t = align(8) greg_t[NGREG];

align(8) struct __psw_t
{
c_ulong mask;
c_ulong addr;
}

union fpreg_t
{
double d;
float f;
}

struct fpregset_t
{
uint fpc;
fpreg_t[16] fprs;
}

struct mcontext_t
{
__psw_t psw;
c_ulong[16] gregs;
uint[16] aregs;
fpregset_t fpregs;
}

struct ucontext
{
c_ulong uc_flags;
ucontext* uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
}

alias ucontext_t = ucontext;
}
else
static assert(0, "unimplemented");
}
Expand Down
18 changes: 18 additions & 0 deletions src/core/sys/solaris/time.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//Written in the D programming language

/++
D header file for Solaris's extensions to POSIX's time.h.
Copyright: Copyright 2014
License: $(WEB www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
Authors: Kai Nacke
+/
module core.sys.solaris.time;

public import core.sys.posix.time;

version(Solaris):

enum CLOCK_VIRTUAL = 1;
enum CLOCK_HIGHRES = CLOCK_MONOTONIC;
enum CLOCK_PROF = CLOCK_THREAD_CPUTIME_ID;
128 changes: 128 additions & 0 deletions src/core/sys/unwind.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
/**
* Written in the D programming language.
* Equivalent to unwind.h
*
* See_Also:
* Itanium C++ ABI: Exception Handling ($Revision: 1.22 $)
* Source: $(DRUNTIMESRC src/core/sys/_unwind.d)
*/

module core.sys.unwind;

import core.stdc.stdint;

extern (C):

alias uintptr_t _Unwind_Word;
alias intptr_t _Unwind_Sword;
alias uintptr_t _Unwind_Ptr;
alias uintptr_t _Unwind_Internal_Ptr;

alias ulong _Unwind_Exception_Class;

alias uintptr_t _uleb128_t;
alias intptr_t _sleb128_t;

alias int _Unwind_Reason_Code;
enum
{
_URC_NO_REASON = 0,
_URC_FOREIGN_EXCEPTION_CAUGHT = 1,
_URC_FATAL_PHASE2_ERROR = 2,
_URC_FATAL_PHASE1_ERROR = 3,
_URC_NORMAL_STOP = 4,
_URC_END_OF_STACK = 5,
_URC_HANDLER_FOUND = 6,
_URC_INSTALL_CONTEXT = 7,
_URC_CONTINUE_UNWIND = 8
}

alias int _Unwind_Action;
enum _Unwind_Action _UA_SEARCH_PHASE = 1;
enum _Unwind_Action _UA_CLEANUP_PHASE = 2;
enum _Unwind_Action _UA_HANDLER_FRAME = 4;
enum _Unwind_Action _UA_FORCE_UNWIND = 8;
enum _Unwind_Action _UA_END_OF_STACK = 16;

alias _Unwind_Exception_Cleanup_Fn = void function(
_Unwind_Reason_Code reason,
_Unwind_Exception *exc);

struct _Unwind_Exception
{
align(8) _Unwind_Exception_Class exception_class;
_Unwind_Exception_Cleanup_Fn exception_cleanup;
_Unwind_Word private_1;
_Unwind_Word private_2;
}

struct _Unwind_Context;

_Unwind_Reason_Code _Unwind_RaiseException(_Unwind_Exception *exception_object);

alias _Unwind_Stop_Fn = _Unwind_Reason_Code function(
int _version,
_Unwind_Action actions,
_Unwind_Exception_Class exceptionClass,
_Unwind_Exception* exceptionObject,
_Unwind_Context* context,
void* stop_parameter);

_Unwind_Reason_Code _Unwind_ForcedUnwind(
_Unwind_Exception* exception_object,
_Unwind_Stop_Fn stop,
void* stop_parameter);

alias _Unwind_Trace_Fn = _Unwind_Reason_Code function(_Unwind_Context*, void*);

void _Unwind_DeleteException(_Unwind_Exception* exception_object);
void _Unwind_Resume(_Unwind_Exception* exception_object);
_Unwind_Reason_Code _Unwind_Resume_or_Rethrow(_Unwind_Exception* exception_object);
_Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, void*);

_Unwind_Word _Unwind_GetGR(_Unwind_Context* context, int index);
void _Unwind_SetGR(_Unwind_Context* context, int index, _Unwind_Word new_value);
_Unwind_Ptr _Unwind_GetIP(_Unwind_Context* context);
_Unwind_Ptr _Unwind_GetIPInfo(_Unwind_Context* context, int*);
void _Unwind_SetIP(_Unwind_Context* context, _Unwind_Ptr new_value);
_Unwind_Word _Unwind_GetCFA(_Unwind_Context*);
_Unwind_Word _Unwind_GetBSP(_Unwind_Context*);
void* _Unwind_GetLanguageSpecificData(_Unwind_Context*);
_Unwind_Ptr _Unwind_GetRegionStart(_Unwind_Context* context);
void* _Unwind_FindEnclosingFunction(void* pc);

version (X68_64)
{
_Unwind_Ptr _Unwind_GetDataRelBase(_Unwind_Context* context)
{
return _Unwind_GetGR(context, 1);
}

_Unwind_Ptr _Unwind_GetTextRelBase(_Unwind_Context* context)
{
assert(0);
}
}
else
{
_Unwind_Ptr _Unwind_GetDataRelBase(_Unwind_Context* context);
_Unwind_Ptr _Unwind_GetTextRelBase(_Unwind_Context* context);
}


alias _Unwind_Personality_Fn = _Unwind_Reason_Code function(
int _version,
_Unwind_Action actions,
_Unwind_Exception_Class exceptionClass,
_Unwind_Exception* exceptionObject,
_Unwind_Context* context);

struct SjLj_Function_Context;
void _Unwind_SjLj_Register(SjLj_Function_Context *);
void _Unwind_SjLj_Unregister(SjLj_Function_Context *);
_Unwind_Reason_Code _Unwind_SjLj_RaiseException(_Unwind_Exception*);
_Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind(_Unwind_Exception , _Unwind_Stop_Fn, void*);
void _Unwind_SjLj_Resume(_Unwind_Exception*);
_Unwind_Reason_Code _Unwind_SjLj_Resume_or_Rethrow(_Unwind_Exception*);


420 changes: 420 additions & 0 deletions src/core/sys/windows/accctrl.d

Large diffs are not rendered by default.

137 changes: 137 additions & 0 deletions src/core/sys/windows/aclapi.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* Authors: Stewart Gordon
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_aclapi.d)
*/
module core.sys.windows.aclapi;
version (Windows):
pragma(lib, "advapi32");

import core.sys.windows.windows, core.sys.windows.accctrl;

extern (Windows) {
VOID BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, DWORD,
ACCESS_MODE, DWORD);
VOID BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR, DWORD,
ACCESS_MODE, DWORD);
DWORD BuildSecurityDescriptorA(PTRUSTEE_A, PTRUSTEE_A , ULONG,
PEXPLICIT_ACCESS_A, ULONG, PEXPLICIT_ACCESS_A, PSECURITY_DESCRIPTOR,
PULONG, PSECURITY_DESCRIPTOR*);
DWORD BuildSecurityDescriptorW(PTRUSTEE_W, PTRUSTEE_W , ULONG,
PEXPLICIT_ACCESS_W, ULONG, PEXPLICIT_ACCESS_W, PSECURITY_DESCRIPTOR,
PULONG, PSECURITY_DESCRIPTOR*);
VOID BuildTrusteeWithNameA(PTRUSTEE_A, LPSTR);
VOID BuildTrusteeWithNameW(PTRUSTEE_W, LPWSTR);
VOID BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A, POBJECTS_AND_NAME_A,
SE_OBJECT_TYPE, LPSTR, LPSTR, LPSTR);
VOID BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W, POBJECTS_AND_NAME_W,
SE_OBJECT_TYPE, LPWSTR, LPWSTR, LPWSTR);
VOID BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A, POBJECTS_AND_SID,
GUID*, GUID*, PSID);
VOID BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W, POBJECTS_AND_SID,
GUID*, GUID*, PSID);
VOID BuildTrusteeWithSidA(PTRUSTEE_A, PSID);
VOID BuildTrusteeWithSidW(PTRUSTEE_W, PSID);
DWORD GetAuditedPermissionsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK,
PACCESS_MASK);
DWORD GetAuditedPermissionsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK,
PACCESS_MASK);
DWORD GetEffectiveRightsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK);
DWORD GetEffectiveRightsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK);
DWORD GetExplicitEntriesFromAclA(PACL, PULONG, PEXPLICIT_ACCESS_A*);
DWORD GetExplicitEntriesFromAclW(PACL, PULONG, PEXPLICIT_ACCESS_W*);
static if (_WIN32_WINNT >= 0x501) {
DWORD GetInheritanceSourceA(LPSTR, SE_OBJECT_TYPE,
SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*,
PGENERIC_MAPPING, PINHERITED_FROMA);
DWORD GetInheritanceSourceW(LPWSTR, SE_OBJECT_TYPE,
SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*,
PGENERIC_MAPPING, PINHERITED_FROMW);
}
DWORD GetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,
PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
DWORD GetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,
PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
DWORD GetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION,
PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
TRUSTEE_FORM GetTrusteeFormA(PTRUSTEE_A);
TRUSTEE_FORM GetTrusteeFormW(PTRUSTEE_W);
LPSTR GetTrusteeNameA(PTRUSTEE_A);
LPWSTR GetTrusteeNameW(PTRUSTEE_W);
TRUSTEE_TYPE GetTrusteeTypeA(PTRUSTEE_A);
TRUSTEE_TYPE GetTrusteeTypeW(PTRUSTEE_W);
DWORD LookupSecurityDescriptorPartsA(PTRUSTEE_A*, PTRUSTEE_A*, PULONG,
PEXPLICIT_ACCESS_A*, PULONG, PEXPLICIT_ACCESS_A*,
PSECURITY_DESCRIPTOR);
DWORD LookupSecurityDescriptorPartsW(PTRUSTEE_W*, PTRUSTEE_W*, PULONG,
PEXPLICIT_ACCESS_W*, PULONG, PEXPLICIT_ACCESS_W*,
PSECURITY_DESCRIPTOR);
DWORD SetEntriesInAclA(ULONG, PEXPLICIT_ACCESS_A, PACL, PACL*);
DWORD SetEntriesInAclW(ULONG, PEXPLICIT_ACCESS_W, PACL, PACL*);
DWORD SetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,
PSID, PSID, PACL, PACL);
DWORD SetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION,
PSID, PSID, PACL, PACL);
DWORD SetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID,
PSID, PACL, PACL);
VOID BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR,
PTRUSTEE_A, DWORD, ACCESS_MODE, DWORD);
VOID BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR,
PTRUSTEE_W, DWORD, ACCESS_MODE, DWORD);
VOID BuildImpersonateTrusteeA(PTRUSTEE_A, PTRUSTEE_A);
VOID BuildImpersonateTrusteeW(PTRUSTEE_W, PTRUSTEE_W);
PTRUSTEE_A GetMultipleTrusteeA(PTRUSTEE_A);
PTRUSTEE_W GetMultipleTrusteeW(PTRUSTEE_W);
MULTIPLE_TRUSTEE_OPERATION GetMultipleTrusteeOperationA(PTRUSTEE_A);
MULTIPLE_TRUSTEE_OPERATION GetMultipleTrusteeOperationW(PTRUSTEE_W);
}

version (Unicode) {
alias BuildExplicitAccessWithNameW BuildExplicitAccessWithName;
alias BuildSecurityDescriptorW BuildSecurityDescriptor;
alias BuildTrusteeWithNameW BuildTrusteeWithName;
alias BuildTrusteeWithObjectsAndNameW BuildTrusteeWithObjectsAndName;
alias BuildTrusteeWithObjectsAndSidW BuildTrusteeWithObjectsAndSid;
alias BuildTrusteeWithSidW BuildTrusteeWithSid;
alias GetAuditedPermissionsFromAclW GetAuditedPermissionsFromAcl;
alias GetEffectiveRightsFromAclW GetEffectiveRightsFromAcl;
alias GetExplicitEntriesFromAclW GetExplicitEntriesFromAcl;
alias GetNamedSecurityInfoW GetNamedSecurityInfo;
alias GetTrusteeFormW GetTrusteeForm;
alias GetTrusteeNameW GetTrusteeName;
alias GetTrusteeTypeW GetTrusteeType;
alias LookupSecurityDescriptorPartsW LookupSecurityDescriptorParts;
alias SetEntriesInAclW SetEntriesInAcl;
alias SetNamedSecurityInfoW SetNamedSecurityInfo;
alias BuildImpersonateExplicitAccessWithNameW
BuildImpersonateExplicitAccessWithName;
alias BuildImpersonateTrusteeW BuildImpersonateTrustee;
alias GetMultipleTrusteeW GetMultipleTrustee;
alias GetMultipleTrusteeOperationW GetMultipleTrusteeOperation;
} else {
alias BuildExplicitAccessWithNameA BuildExplicitAccessWithName;
alias BuildSecurityDescriptorA BuildSecurityDescriptor;
alias BuildTrusteeWithNameA BuildTrusteeWithName;
alias BuildTrusteeWithObjectsAndNameA BuildTrusteeWithObjectsAndName;
alias BuildTrusteeWithObjectsAndSidA BuildTrusteeWithObjectsAndSid;
alias BuildTrusteeWithSidA BuildTrusteeWithSid;
alias GetAuditedPermissionsFromAclA GetAuditedPermissionsFromAcl;
alias GetEffectiveRightsFromAclA GetEffectiveRightsFromAcl;
alias GetExplicitEntriesFromAclA GetExplicitEntriesFromAcl;
alias GetNamedSecurityInfoA GetNamedSecurityInfo;
alias GetTrusteeFormA GetTrusteeForm;
alias GetTrusteeNameA GetTrusteeName;
alias GetTrusteeTypeA GetTrusteeType;
alias LookupSecurityDescriptorPartsA LookupSecurityDescriptorParts;
alias SetEntriesInAclA SetEntriesInAcl;
alias SetNamedSecurityInfoA SetNamedSecurityInfo;
alias BuildImpersonateExplicitAccessWithNameA
BuildImpersonateExplicitAccessWithName;
alias BuildImpersonateTrusteeA BuildImpersonateTrustee;
alias GetMultipleTrusteeA GetMultipleTrustee;
alias GetMultipleTrusteeOperationA GetMultipleTrusteeOperation;
}
120 changes: 120 additions & 0 deletions src/core/sys/windows/aclui.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
/**
* Windows API header module
*
* Translated from MinGW API for MS-Windows 3.10
*
* Authors: Stewart Gordon
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_aclui.d)
*/
module core.sys.windows.aclui;
version (Windows):
pragma(lib, "aclui");

private import core.sys.windows.w32api;
/*
static assert (_WIN32_WINNT >= 0x500,
"core.sys.windows.aclui is available only if version Windows2000, WindowsXP, Windows2003 "
"or WindowsVista is set");
*/
import core.sys.windows.accctrl, core.sys.windows.commctrl, core.sys.windows.objbase;
private import core.sys.windows.basetyps, core.sys.windows.prsht, core.sys.windows.unknwn, core.sys.windows.windef,
core.sys.windows.winuser;


struct SI_OBJECT_INFO {
DWORD dwFlags;
HINSTANCE hInstance;
LPWSTR pszServerName;
LPWSTR pszObjectName;
LPWSTR pszPageTitle;
GUID guidObjectType;
}
alias SI_OBJECT_INFO* PSI_OBJECT_INFO;

// values for SI_OBJECT_INFO.dwFlags
const DWORD
SI_EDIT_PERMS = 0x00000000,
SI_EDIT_OWNER = 0x00000001,
SI_EDIT_AUDITS = 0x00000002,
SI_CONTAINER = 0x00000004,
SI_READONLY = 0x00000008,
SI_ADVANCED = 0x00000010,
SI_RESET = 0x00000020,
SI_OWNER_READONLY = 0x00000040,
SI_EDIT_PROPERTIES = 0x00000080,
SI_OWNER_RECURSE = 0x00000100,
SI_NO_ACL_PROTECT = 0x00000200,
SI_NO_TREE_APPLY = 0x00000400,
SI_PAGE_TITLE = 0x00000800,
SI_SERVER_IS_DC = 0x00001000,
SI_RESET_DACL_TREE = 0x00004000,
SI_RESET_SACL_TREE = 0x00008000,
SI_OBJECT_GUID = 0x00010000,
SI_EDIT_EFFECTIVE = 0x00020000,
SI_RESET_DACL = 0x00040000,
SI_RESET_SACL = 0x00080000,
SI_RESET_OWNER = 0x00100000,
SI_NO_ADDITIONAL_PERMISSION = 0x00200000,
SI_MAY_WRITE = 0x10000000,
SI_EDIT_ALL = SI_EDIT_PERMS | SI_EDIT_OWNER
| SI_EDIT_AUDITS;

struct SI_ACCESS {
const(GUID)* pguid;
ACCESS_MASK mask;
LPCWSTR pszName;
DWORD dwFlags;
}
alias SI_ACCESS* PSI_ACCESS;

// values for SI_ACCESS.dwFlags
const DWORD
SI_ACCESS_SPECIFIC = 0x00010000,
SI_ACCESS_GENERAL = 0x00020000,
SI_ACCESS_CONTAINER = 0x00040000,
SI_ACCESS_PROPERTY = 0x00080000;


struct SI_INHERIT_TYPE {
const(GUID)* pguid;
ULONG dwFlags;
LPCWSTR pszName;
}
alias SI_INHERIT_TYPE* PSI_INHERIT_TYPE;

/* values for SI_INHERIT_TYPE.dwFlags
INHERIT_ONLY_ACE, CONTAINER_INHERIT_ACE, OBJECT_INHERIT_ACE
defined elsewhere */

enum SI_PAGE_TYPE {
SI_PAGE_PERM,
SI_PAGE_ADVPERM,
SI_PAGE_AUDIT,
SI_PAGE_OWNER
}

const uint PSPCB_SI_INITDIALOG = WM_USER + 1;

interface ISecurityInformation : IUnknown {
HRESULT GetObjectInformation(PSI_OBJECT_INFO);
HRESULT GetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR*, BOOL);
HRESULT SetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
HRESULT GetAccessRights(const(GUID)*, DWORD, PSI_ACCESS*, ULONG*, ULONG*);
HRESULT MapGeneric(const(GUID)*, UCHAR*, ACCESS_MASK*);
HRESULT GetInheritTypes(PSI_INHERIT_TYPE*, ULONG*);
HRESULT PropertySheetPageCallback(HWND, UINT, SI_PAGE_TYPE);
}
alias ISecurityInformation LPSECURITYINFO;

/* Comment from MinGW
* TODO: ISecurityInformation2, IEffectivePermission, ISecurityObjectTypeInfo
*/

// FIXME: linkage attribute?
extern (C) /+DECLSPEC_IMPORT+/ extern const IID IID_ISecurityInformation;

extern (Windows) {
HPROPSHEETPAGE CreateSecurityPage(LPSECURITYINFO psi);
BOOL EditSecurity(HWND hwndOwner, LPSECURITYINFO psi);
}
159 changes: 159 additions & 0 deletions src/core/sys/windows/basetsd.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
/**
* Windows API header module
*
* Translated from MinGW API for MS-Windows 3.12
*
* Authors: Stewart Gordon
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_basetsd.d)
*/
module core.sys.windows.basetsd;
version (Windows):

/* This template is used in these modules to declare constant pointer types,
* in order to support both D 1.x and 2.x.
* Since removed - now supporting only D2
*/
/*template CPtr(T) {
version (D_Version2) {
// must use mixin so that it doesn't cause a syntax error under D1
mixin("alias const(T)* CPtr;");
} else {
alias T* CPtr;
}
}*/

/* [CyberShadow VP 2011.12.22] typedef is now deprecated in D2.
*/
template TypeDef(T) {
version (D_Version2) {
alias T TypeDef;
} else {
// must use mixin so that it doesn't cause a deprecation error under D2
mixin("typedef T TypeDef;");
}
}

// [SnakE 2009-02-23] Moved HANDLE definition here from winnt.d to avoid
// 'forwatd template reference' to CPtr from winnt.d caused by a circular
// import.

alias TypeDef!(void*) HANDLE;
/+struct HANDLE {
const(void)* h;
alias h this;
}+/

package template DECLARE_HANDLE(string name, base = HANDLE) {
mixin ("alias " ~ base.stringof ~ " " ~ name ~ ";");
}
alias HANDLE* PHANDLE, LPHANDLE;

version (Win64) {
alias long __int3264;
const ulong ADDRESS_TAG_BIT = 0x40000000000;

alias long INT_PTR, LONG_PTR;
alias long* PINT_PTR, PLONG_PTR;
alias ulong UINT_PTR, ULONG_PTR, HANDLE_PTR;
alias ulong* PUINT_PTR, PULONG_PTR;
alias int HALF_PTR;
alias int* PHALF_PTR;
alias uint UHALF_PTR;
alias uint* PUHALF_PTR;

uint HandleToULong(void* h) { return(cast(uint) cast(ULONG_PTR) h); }
int HandleToLong(void* h) { return(cast(int) cast(LONG_PTR) h); }
void* ULongToHandle(uint h) { return(cast(void*) cast(UINT_PTR) h); }
void* LongToHandle(int h) { return(cast(void*) cast(INT_PTR) h); }
uint PtrToUlong(void* p) { return(cast(uint) cast(ULONG_PTR) p); }
uint PtrToUint(void* p) { return(cast(uint) cast(UINT_PTR) p); }
ushort PtrToUshort(void* p) { return(cast(ushort) cast(uint) cast(ULONG_PTR) p); }
int PtrToLong(void* p) { return(cast(int) cast(LONG_PTR) p); }
int PtrToInt(void* p) { return(cast(int) cast(INT_PTR) p); }
short PtrToShort(void* p) { return(cast(short) cast(int) cast(LONG_PTR) p); }
void* IntToPtr(int i) { return(cast(void*) cast(INT_PTR) i); }
void* UIntToPtr(uint ui) { return(cast(void*) cast(UINT_PTR) ui); }
void* LongToPtr(int l) { return(cast(void*) cast(LONG_PTR) l); }
void* ULongToPtr(uint ul) { return(cast(void*) cast(ULONG_PTR) ul); }

} else {
alias int __int3264;
const uint ADDRESS_TAG_BIT = 0x80000000;

alias int INT_PTR, LONG_PTR;
alias int* PINT_PTR, PLONG_PTR;
alias uint UINT_PTR, ULONG_PTR, HANDLE_PTR;
alias uint* PUINT_PTR, PULONG_PTR;
alias short HALF_PTR;
alias short* PHALF_PTR;
alias ushort UHALF_PTR;
alias ushort* PUHALF_PTR;

uint HandleToUlong(HANDLE h) { return cast(uint) h; }
int HandleToLong(HANDLE h) { return cast(int) h; }
HANDLE LongToHandle(LONG_PTR h) { return cast(HANDLE)h; }
uint PtrToUlong(const(void)* p) { return cast(uint) p; }
uint PtrToUint(const(void)* p) { return cast(uint) p; }
int PtrToInt(const(void)* p) { return cast(int) p; }
ushort PtrToUshort(const(void)* p) { return cast(ushort) p; }
short PtrToShort(const(void)* p) { return cast(short) p; }
void* IntToPtr(int i) { return cast(void*) i; }
void* UIntToPtr(uint ui) { return cast(void*) ui; }
alias IntToPtr LongToPtr;
alias UIntToPtr ULongToPtr;
}

alias UIntToPtr UintToPtr, UlongToPtr;

enum : UINT_PTR {
MAXUINT_PTR = UINT_PTR.max
}

enum : INT_PTR {
MAXINT_PTR = INT_PTR.max,
MININT_PTR = INT_PTR.min
}

enum : ULONG_PTR {
MAXULONG_PTR = ULONG_PTR.max
}

enum : LONG_PTR {
MAXLONG_PTR = LONG_PTR.max,
MINLONG_PTR = LONG_PTR.min
}

enum : UHALF_PTR {
MAXUHALF_PTR = UHALF_PTR.max
}

enum : HALF_PTR {
MAXHALF_PTR = HALF_PTR.max,
MINHALF_PTR = HALF_PTR.min
}

alias byte INT8;
alias byte* PINT8;
alias ubyte UINT8;
alias ubyte* PUINT8;

alias short INT16;
alias short* PINT16;
alias ushort UINT16;
alias ushort* PUINT16;

alias int LONG32, INT32;
alias int* PLONG32, PINT32;
alias uint ULONG32, DWORD32, UINT32;
alias uint* PULONG32, PDWORD32, PUINT32;

alias ULONG_PTR SIZE_T, DWORD_PTR;
alias ULONG_PTR* PSIZE_T, PDWORD_PTR;
alias LONG_PTR SSIZE_T;
alias LONG_PTR* PSSIZE_T;

alias long LONG64, INT64;
alias long* PLONG64, PINT64;
alias ulong ULONG64, DWORD64, UINT64;
alias ulong* PULONG64, PDWORD64, PUINT64;
27 changes: 27 additions & 0 deletions src/core/sys/windows/basetyps.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/**
* Windows API header module
*
* Translated from MinGW API for MS-Windows 3.10
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_basetyps.d)
*/
module core.sys.windows.basetyps;
version (Windows):

private import core.sys.windows.windef, core.sys.windows.basetsd;

align(1) struct GUID { // size is 16
align(1):
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE[8] Data4;
}
alias GUID UUID, /*IID, CLSID, */FMTID, uuid_t;
alias IID = const(GUID);
alias CLSID = const(GUID);

alias GUID* LPGUID, LPCLSID, LPIID;
alias const(GUID)* LPCGUID, REFGUID, REFIID, REFCLSID, REFFMTID;
alias uint error_status_t, PROPID;
50 changes: 50 additions & 0 deletions src/core/sys/windows/cderr.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_cderr.d)
*/
module core.sys.windows.cderr;
version (Windows):

enum {
CDERR_DIALOGFAILURE = 0xFFFF,
CDERR_GENERALCODES = 0x0000,
CDERR_STRUCTSIZE,
CDERR_INITIALIZATION,
CDERR_NOTEMPLATE,
CDERR_NOHINSTANCE,
CDERR_LOADSTRFAILURE,
CDERR_FINDRESFAILURE,
CDERR_LOADRESFAILURE,
CDERR_LOCKRESFAILURE,
CDERR_MEMALLOCFAILURE,
CDERR_MEMLOCKFAILURE,
CDERR_NOHOOK,
CDERR_REGISTERMSGFAIL,
PDERR_PRINTERCODES = 0x1000,
PDERR_SETUPFAILURE,
PDERR_PARSEFAILURE,
PDERR_RETDEFFAILURE,
PDERR_LOADDRVFAILURE,
PDERR_GETDEVMODEFAIL,
PDERR_INITFAILURE,
PDERR_NODEVICES,
PDERR_NODEFAULTPRN,
PDERR_DNDMMISMATCH,
PDERR_CREATEICFAILURE,
PDERR_PRINTERNOTFOUND,
PDERR_DEFAULTDIFFERENT,
CFERR_CHOOSEFONTCODES = 0x2000,
CFERR_NOFONTS,
CFERR_MAXLESSTHANMIN,
FNERR_FILENAMECODES = 0x3000,
FNERR_SUBCLASSFAILURE,
FNERR_INVALIDFILENAME,
FNERR_BUFFERTOOSMALL,
FRERR_FINDREPLACECODES = 0x4000,
FRERR_BUFFERLENGTHZERO,
CCERR_CHOOSECOLORCODES = 0x5000
}
13 changes: 13 additions & 0 deletions src/core/sys/windows/cguid.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_cguid.d)
*/
module core.sys.windows.cguid;
version (Windows):

private import core.sys.windows.basetyps;

252 changes: 48 additions & 204 deletions src/core/sys/windows/com.d
Original file line number Diff line number Diff line change
Expand Up @@ -7,214 +7,58 @@ import core.atomic;
import core.sys.windows.windows;
//import std.string;

alias WCHAR OLECHAR;
alias LPOLESTR = OLECHAR*;
alias LPCOLESTR = OLECHAR*;

enum
{
rmm = 23, // OLE 2 version number info
rup = 639,
}

enum : int
{
S_OK = 0,
S_FALSE = 0x00000001,
NOERROR = 0,
E_NOTIMPL = cast(int)0x80004001,
E_NOINTERFACE = cast(int)0x80004002,
E_POINTER = cast(int)0x80004003,
E_ABORT = cast(int)0x80004004,
E_FAIL = cast(int)0x80004005,
E_HANDLE = cast(int)0x80070006,
CLASS_E_NOAGGREGATION = cast(int)0x80040110,
E_OUTOFMEMORY = cast(int)0x8007000E,
E_INVALIDARG = cast(int)0x80070057,
E_UNEXPECTED = cast(int)0x8000FFFF,
}

struct GUID { // size is 16
align(1):
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE[8] Data4;
}

enum
{
CLSCTX_INPROC_SERVER = 0x1,
CLSCTX_INPROC_HANDLER = 0x2,
CLSCTX_LOCAL_SERVER = 0x4,
CLSCTX_INPROC_SERVER16 = 0x8,
CLSCTX_REMOTE_SERVER = 0x10,
CLSCTX_INPROC_HANDLER16 = 0x20,
CLSCTX_INPROC_SERVERX86 = 0x40,
CLSCTX_INPROC_HANDLERX86 = 0x80,

CLSCTX_INPROC = (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER),
CLSCTX_ALL = (CLSCTX_INPROC_SERVER| CLSCTX_INPROC_HANDLER| CLSCTX_LOCAL_SERVER),
CLSCTX_SERVER = (CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER),
}

enum
{
COINIT_APARTMENTTHREADED = 0x2,
COINIT_MULTITHREADED = 0x0,
COINIT_DISABLE_OLE1DDE = 0x4,
COINIT_SPEED_OVER_MEMORY = 0x8
}
alias COINIT = DWORD;
enum RPC_E_CHANGED_MODE = 0x80010106;

alias IID = const(GUID);
alias CLSID = const(GUID);

extern (C)
{
extern IID IID_IUnknown;
extern IID IID_IClassFactory;
extern IID IID_IMarshal;
extern IID IID_IMallocSpy;
extern IID IID_IStdMarshalInfo;
extern IID IID_IExternalConnection;
extern IID IID_IMultiQI;
extern IID IID_IEnumUnknown;
extern IID IID_IBindCtx;
extern IID IID_IEnumMoniker;
extern IID IID_IRunnableObject;
extern IID IID_IRunningObjectTable;
extern IID IID_IPersist;
extern IID IID_IPersistStream;
extern IID IID_IMoniker;
extern IID IID_IROTData;
extern IID IID_IEnumString;
extern IID IID_ISequentialStream;
extern IID IID_IStream;
extern IID IID_IEnumSTATSTG;
extern IID IID_IStorage;
extern IID IID_IPersistFile;
extern IID IID_IPersistStorage;
extern IID IID_ILockBytes;
extern IID IID_IEnumFORMATETC;
extern IID IID_IEnumSTATDATA;
extern IID IID_IRootStorage;
extern IID IID_IAdviseSink;
extern IID IID_IAdviseSink2;
extern IID IID_IDataObject;
extern IID IID_IDataAdviseHolder;
extern IID IID_IMessageFilter;
extern IID IID_IRpcChannelBuffer;
extern IID IID_IRpcProxyBuffer;
extern IID IID_IRpcStubBuffer;
extern IID IID_IPSFactoryBuffer;
extern IID IID_IPropertyStorage;
extern IID IID_IPropertySetStorage;
extern IID IID_IEnumSTATPROPSTG;
extern IID IID_IEnumSTATPROPSETSTG;
extern IID IID_IFillLockBytes;
extern IID IID_IProgressNotify;
extern IID IID_ILayoutStorage;
extern IID GUID_NULL;
extern IID IID_IRpcChannel;
extern IID IID_IRpcStub;
extern IID IID_IStubManager;
extern IID IID_IRpcProxy;
extern IID IID_IProxyManager;
extern IID IID_IPSFactory;
extern IID IID_IInternalMoniker;
extern IID IID_IDfReserved1;
extern IID IID_IDfReserved2;
extern IID IID_IDfReserved3;
extern IID IID_IStub;
extern IID IID_IProxy;
extern IID IID_IEnumGeneric;
extern IID IID_IEnumHolder;
extern IID IID_IEnumCallback;
extern IID IID_IOleManager;
extern IID IID_IOlePresObj;
extern IID IID_IDebug;
extern IID IID_IDebugStream;
extern IID IID_StdOle;
extern IID IID_ICreateTypeInfo;
extern IID IID_ICreateTypeInfo2;
extern IID IID_ICreateTypeLib;
extern IID IID_ICreateTypeLib2;
extern IID IID_IDispatch;
extern IID IID_IEnumVARIANT;
extern IID IID_ITypeComp;
extern IID IID_ITypeInfo;
extern IID IID_ITypeInfo2;
extern IID IID_ITypeLib;
extern IID IID_ITypeLib2;
extern IID IID_ITypeChangeEvents;
extern IID IID_IErrorInfo;
extern IID IID_ICreateErrorInfo;
extern IID IID_ISupportErrorInfo;
extern IID IID_IOleAdviseHolder;
extern IID IID_IOleCache;
extern IID IID_IOleCache2;
extern IID IID_IOleCacheControl;
extern IID IID_IParseDisplayName;
extern IID IID_IOleContainer;
extern IID IID_IOleClientSite;
extern IID IID_IOleObject;
extern IID IID_IOleWindow;
extern IID IID_IOleLink;
extern IID IID_IOleItemContainer;
extern IID IID_IOleInPlaceUIWindow;
extern IID IID_IOleInPlaceActiveObject;
extern IID IID_IOleInPlaceFrame;
extern IID IID_IOleInPlaceObject;
extern IID IID_IOleInPlaceSite;
extern IID IID_IContinue;
extern IID IID_IViewObject;
extern IID IID_IViewObject2;
extern IID IID_IDropSource;
extern IID IID_IDropTarget;
extern IID IID_IEnumOLEVERB;
}
public import core.sys.windows.basetyps : GUID, IID, CLSID;

public import core.sys.windows.objbase :
CLSCTX_INPROC, CLSCTX_ALL, CLSCTX_SERVER,
COINIT,
CoBuildVersion, StringFromGUID2,
CoInitialize, CoInitializeEx, CoUninitialize, CoGetCurrentProcess,
CoCreateInstance,
CoFreeLibrary, CoFreeAllLibraries, CoFreeUnusedLibraries;

public import core.sys.windows.ole2ver : rmm, rup;

public import core.sys.windows.unknwn : IUnknown, IClassFactory;

public import core.sys.windows.winerror :
S_OK,
S_FALSE,
NOERROR,
E_NOTIMPL,
E_NOINTERFACE,
E_POINTER,
E_ABORT,
E_FAIL,
E_HANDLE,
CLASS_E_NOAGGREGATION,
E_OUTOFMEMORY,
E_INVALIDARG,
E_UNEXPECTED,
RPC_E_CHANGED_MODE;

public import core.sys.windows.wtypes :
OLECHAR, LPOLESTR, LPCOLESTR;

alias CLSCTX_INPROC_SERVER = core.sys.windows.wtypes.CLSCTX.CLSCTX_INPROC_SERVER ;
alias CLSCTX_INPROC_HANDLER = core.sys.windows.wtypes.CLSCTX.CLSCTX_INPROC_HANDLER ;
alias CLSCTX_LOCAL_SERVER = core.sys.windows.wtypes.CLSCTX.CLSCTX_LOCAL_SERVER ;
alias CLSCTX_INPROC_SERVER16 = core.sys.windows.wtypes.CLSCTX.CLSCTX_INPROC_SERVER16 ;
alias CLSCTX_REMOTE_SERVER = core.sys.windows.wtypes.CLSCTX.CLSCTX_REMOTE_SERVER ;
alias CLSCTX_INPROC_HANDLER16 = core.sys.windows.wtypes.CLSCTX.CLSCTX_INPROC_HANDLER16 ;
alias CLSCTX_INPROC_SERVERX86 = core.sys.windows.wtypes.CLSCTX.CLSCTX_INPROC_SERVERX86 ;
alias CLSCTX_INPROC_HANDLERX86 = core.sys.windows.wtypes.CLSCTX.CLSCTX_INPROC_HANDLERX86;

alias COINIT_APARTMENTTHREADED = COINIT.COINIT_APARTMENTTHREADED;
alias COINIT_MULTITHREADED = COINIT.COINIT_MULTITHREADED ;
alias COINIT_DISABLE_OLE1DDE = COINIT.COINIT_DISABLE_OLE1DDE ;
alias COINIT_SPEED_OVER_MEMORY = COINIT.COINIT_SPEED_OVER_MEMORY;

public import core.sys.windows.uuid;

extern (System)
{

export
{
DWORD CoBuildVersion();

int StringFromGUID2(GUID *rguid, LPOLESTR lpsz, int cbMax);

/* init/uninit */

HRESULT CoInitialize(LPVOID pvReserved);
HRESULT CoInitializeEx(LPVOID pvReserved, DWORD dwCoInit);
void CoUninitialize();
DWORD CoGetCurrentProcess();


HRESULT CoCreateInstance(const(CLSID) *rclsid, IUnknown UnkOuter,
DWORD dwClsContext, const(IID)* riid, void* ppv);

//HINSTANCE CoLoadLibrary(LPOLESTR lpszLibName, BOOL bAutoFree);
void CoFreeLibrary(HINSTANCE hInst);
void CoFreeAllLibraries();
void CoFreeUnusedLibraries();
}

interface IUnknown
{
HRESULT QueryInterface(const(IID)* riid, void** pvObject);
ULONG AddRef();
ULONG Release();
}

interface IClassFactory : IUnknown
{
HRESULT CreateInstance(IUnknown UnkOuter, IID* riid, void** pvObject);
HRESULT LockServer(BOOL fLock);
}

class ComObject : IUnknown
{
extern (System):
Expand Down
73 changes: 73 additions & 0 deletions src/core/sys/windows/comcat.d
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
/**
* Windows API header module
*
* Translated from MinGW Windows headers
*
* Authors: Stewart Gordon
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(DRUNTIMESRC src/core/sys/windows/_comcat.d)
*/
module core.sys.windows.comcat;
version (Windows):

import core.sys.windows.windows, core.sys.windows.ole2;
private import core.sys.windows.basetyps, core.sys.windows.cguid, core.sys.windows.objbase, core.sys.windows.unknwn,
core.sys.windows.windef, core.sys.windows.wtypes;

alias IEnumGUID LPENUMGUID;

interface IEnumGUID : IUnknown {
HRESULT Next(ULONG, GUID*, ULONG*);
HRESULT Skip(ULONG);
HRESULT Reset();
HRESULT Clone(LPENUMGUID*);
}

alias GUID CATID;
alias REFGUID REFCATID;
alias GUID_NULL CATID_NULL;
alias IsEqualGUID IsEqualCATID;

struct CATEGORYINFO {
CATID catid;
LCID lcid;
OLECHAR[128] szDescription;
}
alias CATEGORYINFO* LPCATEGORYINFO;

alias IEnumGUID IEnumCATID;
alias LPENUMGUID LPENUMCATID;
alias IID_IEnumGUID IID_IEnumCATID;

alias IEnumGUID IEnumCLSID;
alias LPENUMGUID LPENUMCLSID;
alias IID_IEnumGUID IID_IEnumCLSID;

interface ICatInformation : IUnknown {
HRESULT EnumCategories(LCID, LPENUMCATEGORYINFO*);
HRESULT GetCategoryDesc(REFCATID, LCID, PWCHAR*);
HRESULT EnumClassesOfCategories(ULONG, CATID*, ULONG, CATID*,
LPENUMCLSID*);
HRESULT IsClassOfCategories(REFCLSID, ULONG, CATID*, ULONG, CATID*);
HRESULT EnumImplCategoriesOfClass(REFCLSID, LPENUMCATID*);
HRESULT EnumReqCategoriesOfClass(REFCLSID, LPENUMCATID*);
}
alias ICatInformation LPCATINFORMATION;

interface ICatRegister : IUnknown {
HRESULT RegisterCategories(ULONG, CATEGORYINFO*);
HRESULT UnRegisterCategories(ULONG, CATID*);
HRESULT RegisterClassImplCategories(REFCLSID, ULONG, CATID*);
HRESULT UnRegisterClassImplCategories(REFCLSID, ULONG, CATID*);
HRESULT RegisterClassReqCategories(REFCLSID, ULONG, CATID*);
HRESULT UnRegisterClassReqCategories(REFCLSID, ULONG, CATID*);
}
alias ICatRegister LPCATREGISTER;

interface IEnumCATEGORYINFO : IUnknown {
HRESULT Next(ULONG, CATEGORYINFO*, ULONG*);
HRESULT Skip(ULONG);
HRESULT Reset();
HRESULT Clone(LPENUMCATEGORYINFO*);
}
alias IEnumCATEGORYINFO LPENUMCATEGORYINFO;
Loading