mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
The NTAPIs are sometimes required to access some system information. At the very least, the types defined here are useful to expose.
592 lines
9.0 KiB
Plaintext
592 lines
9.0 KiB
Plaintext
//===--- 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"
|
|
|
|
requires cplusplus
|
|
}
|
|
|
|
// 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 DDE {
|
|
header "dde.h"
|
|
header "ddeml.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 LZ32 {
|
|
header "LZExpand.h"
|
|
export *
|
|
|
|
link "Lz32.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 NTAPI {
|
|
header "winternl.h"
|
|
export *
|
|
}
|
|
|
|
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 OLE {
|
|
header "ole2.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"
|
|
}
|
|
}
|
|
|