//===--- WinSDK.modulemap -------------------------------------------------===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2014 - 2018 Apple Inc. and the Swift project authors // Licensed under Apache License v2.0 with Runtime Library Exception // // See https://swift.org/LICENSE.txt for license information // See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors // //===----------------------------------------------------------------------===// module WinSDK [system] { module WinSock2 { header "WinSock2.h" header "WS2tcpip.h" header "MSWSock.h" header "../shared/afunix.h" export * link "WS2_32.Lib" } module WinSock { header "winsock.h" } module core { module acl { header "AclAPI.h" export * } module com { header "combaseapi.h" export * } module compress { header "compressapi.h" export * } module console { header "consoleapi.h" header "consoleapi2.h" header "consoleapi3.h" export * } // api-ms-win-appmodel-runtime-l1 module appmodel { header "appmodel.h" export * } // api-ms-win-core-errhandling-l1-1-0.dll module errhandling { header "errhandlingapi.h" export * } // api-ms-win-core-file-l1-1-0.dll module file { header "fileapi.h" export * } // api-ms-win-core-handle-l1-1-0.dll module handle { header "handleapi.h" export * } // api-ms-win-heapapi-l1-1-0.dll module heap { header "heapapi.h" export * } // api-ms-win-core-interlocked-l1-1-0.dll module interlocked { header "interlockedapi.h" export * } // iphlpapi.dll module iphlp { header "iphlpapi.h" export * link "iphlpapi.lib" } // api-ms-win-core-libloader-l1-1-0.dll module libloader { header "libloaderapi.h" export * } // api-ms-win-core-memory-l1-1-0.dll module memory { header "memoryapi.h" export * link "OneCore.Lib" } // api-ms-win-core-namedpipe-l1-1-2-0.dll module namedpipe { header "namedpipeapi.h" export * } // api-ms-win-core-Path-l1-0.dll module path { header "PathCch.h" export * link "pathcch.lib" } // api-ms-win-core-processthreads-l1-1-2.dll module processthreads { header "processthreadsapi.h" export * } // api-ms-win-core-synch-l1-2-0.dll module synch { header "synchapi.h" export * } // api-ms-win-core-sysinfo-l1-1-0.dll module sysinfo { header "sysinfoapi.h" export * } // api-ms-win-core-timezone-l1-1-0.dll module timezone { header "timezoneapi.h" export * } // api-ms-win-core-version-l1-1-0.dll module version { header "winver.h" export * link "Version.Lib" } } module ActiveX { header "OCIdl.h" export * } module Controls { module CommCtrl { header "CommCtrl.h" export * link "ComCtl32.Lib" } module CommDlg { header "commdlg.h" export * link "ComDlg32.Lib" } } explicit module DirectX { module Direct3D11 { header "d3d11.h" header "d3d11_1.h" header "d3d11_2.h" header "d3d11_3.h" header "d3d11_4.h" export * link "d3d11.lib" link "dxgi.lib" } module Direct3D12 { header "d3d12.h" export * link "d3d12.lib" link "dxgi.lib" } // FIXME(compnerd) DXGI is part of the Direct3D interfaces currently; we // should split it out, but because it is part of the D3D11 interfaces, this // separate module is meant to augment the uncovered portions only. module _DXGI { header "../shared/dxgi1_6.h" header "dxgidebug.h" export * link "dxgi.lib" } module D3DCompiler { header "d3dcompiler.h" export * link "d3dcompiler.lib" } module XAudio29 { header "xaudio2.h" header "xaudio2fx.h" export * link "xaudio2.lib" } // XInput 1.4 (Windows 10, XBox) is newer than the XInput 9.1.0 which was // part of Vista. module XInput14 { header "Xinput.h" export * link "xinput.lib" } module DirectInput8 { header "dinput.h" export * link "dinput8.lib" } link "dxguid.lib" } // FIXME(compnerd) this is a hack for the HWND typedef for DbgHelp module __DirectX { header "directmanipulation.h" export * } module DFS { header "LMDFS.h" header "LM.h" export * link "NetAPI32.Lib" } module DWM { header "dwmapi.h" export * link "dwmapi.lib" } module FCI { header "fci.h" export * link "Cabinet.Lib" } module Internationalization { module WinNLS { header "winnls.h" export * } module IMM { header "immdev.h" header "imm.h" export * link "Imm32.lib" } } module Multimedia { module DigitalVideo { header "Digitalv.h" export * } module Video { header "Vfw.h" export * link "Vfw32.Lib" } header "mmeapi.h" header "mmddk.h" header "mmsystem.h" header "mmiscapi.h" header "timeapi.h" header "joystickapi.h" export * link "WinMM.Lib" } module Networking { header "winnetwk.h" export * link "Mpr.Lib" } module Security { header "../shared/sddl.h" module AuthZ { header "AuthZ.h" export * link "AuthZ.Lib" } module SmartCard { header "winscard.h" export * link "winscard.lib" } module WinCrypt { header "wincrypt.h" export * link "Crypt32.Lib" } } module Shell { header "ShlObj.h" export * } module AppNotify { header "appnotify.h" export * link "appnotify.lib" } module ShellAPI { header "shellapi.h" header "Shlwapi.h" export * link "shell32.lib" link "ShLwApi.Lib" } module ShellCore { header "ShellScalingApi.h" export * link "shcore.lib" } module System { module DbgHelp { header "DbgHelp.h" export * link "DbgHelp.Lib" } module IOCTL { header "winioctl.h" export * } module MCX { header "mcx.h" export * } } module OLE32 { header "oaidl.h" header "oleauto.h" export * link "OleAut32.Lib" } module Performance { module PerfLib { header "perflib.h" export * link "AdvAPI32.Lib" } module PDH { header "Pdh.h" export * link "Pdh.Lib" } header "winperf.h" export * } module Printing { header "winspool.h" export * link "WinSpool.Lib" } module PSAPI { header "Psapi.h" export * link "psapi.lib" } module RichEdit { header "Richedit.h" export * } module Sensors { header "sensors.h" header "SensorsApi.h" export * link "sensorsapi.lib" } module ToolHelp { header "TlHelp32.h" export * link "kernel32.Lib" } module UI { module XAML { module Hosting { header "windows.ui.xaml.hosting.desktopwindowxamlsource.h" export * } } } module URLMonikers { header "urlmon.h" export * link "Urlmon.Lib" } module User { header "WinUser.h" export * link "User32.Lib" } module UserEnv { header "UserEnv.h" export * link "UserEnv.Lib" } module WER { header "WerApi.h" export * } module WIC { header "wincodec.h" export * link "windowscodecs.lib" } module WinBase { header "winbase.h" export * } module WinCred { header "wincred.h" export * link "AdvAPI32.lib" } module WinDNS { header "WinDNS.h" export * link "DnsAPI.Lib" } module WinGDI { header "wingdi.h" export * link "Gdi32.Lib" } module WinNT { header "winnt.h" export * } module WinReg { header "winreg.h" export * link "AdvAPI32.Lib" } module WinRPC { header "../shared/rpc.h" header "../shared/rpcndr.h" export * link "RpcRT4.Lib" } module WinSVC { header "winsvc.h" export * link "AdvAPI32.Lib" } module WinSafer { header "winsafer.h" export * link "AdvAPI32.Lib" } module WinUSB { header "winusb.h" export * link "winusb.lib" } // TODO(compnerd) does it make sense to implicitly export this API surface? // It seems to be meant for device drivers. module WLANAPI { header "wlanapi.h" header "wlanihv.h" header "wlclient.h" link "wlanapi.lib" } }