Skip to content

Commit

Permalink
Add wininet.h bindings.
Browse files Browse the repository at this point in the history
This also includes a single definition from winineti.h, and a list of
symbols dumped from wininet.dll that *aren't* in wininet.h.

Includes the wininet.dll import libs for MinGW.
  • Loading branch information
DanielKeep committed Nov 7, 2016
1 parent e92275b commit c37e387
Show file tree
Hide file tree
Showing 8 changed files with 2,691 additions and 1 deletion.
8 changes: 7 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ headers = ["headers-shared", "headers-um", "headers-vc"]
"um-unknwnbase",
"um-wincon",
"um-wingdi",
"um-wininet",
"um-winineti",
"um-winnt"
]
"um-cguid" = ["shared-guiddef"]
Expand All @@ -69,6 +71,8 @@ headers = ["headers-shared", "headers-um", "headers-vc"]
"um-unknwnbase" = ["shared-guiddef", "shared-minwindef", "um-winnt"]
"um-wincon" = ["shared-minwindef", "shared-windef", "um-minwinbase", "um-wingdi", "um-winnt", "kernel32"]
"um-wingdi" = ["shared-basetsd", "shared-minwindef", "shared-windef", "um-winnt"]
"um-wininet" = ["shared-basetsd", "shared-minwindef", "shared-ntdef", "shared-windef", "um-minwinbase", "um-winineti", "um-winnt", "wininet"]
"um-winineti" = ["shared-minwindef"]
"um-winnt" = ["shared-basetsd", "shared-guiddef", "shared-minwindef", "vc-excpt"]
"headers-vc" = [
"vc-excpt",
Expand All @@ -79,8 +83,10 @@ headers = ["headers-shared", "headers-um", "headers-vc"]
libraries = [
"kernel32",
"ncrypt",
"ole32"
"ole32",
"wininet",
]
"kernel32" = []
"ole32" = []
"ncrypt" = []
"wininet" = []
1 change: 1 addition & 0 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const LIBS: &'static [&'static str] = &[
"kernel32",
"ncrypt",
"ole32",
"wininet",
];
fn main() {
let target = var("TARGET").unwrap();
Expand Down
Binary file added i686/lib/libwininet.a
Binary file not shown.
2 changes: 2 additions & 0 deletions src/um/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,6 @@
#[cfg(feature = "um-unknwnbase")] pub mod unknwnbase;
#[cfg(feature = "um-wincon")] pub mod wincon;
#[cfg(feature = "um-wingdi")] pub mod wingdi;
#[cfg(feature = "um-wininet")] pub mod wininet;
#[cfg(feature = "um-winineti")] pub mod winineti;
#[cfg(feature = "um-winnt")] pub mod winnt;
2,323 changes: 2,323 additions & 0 deletions src/um/wininet.rs

Large diffs are not rendered by default.

146 changes: 146 additions & 0 deletions src/um/winineti.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
// Copyright © 2016 winapi-rs developers
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
//! Windows Internet Services API procedure declarations, types and constants.

// Currently, this only contains `INTERNET_FLAG_BGUPDATE`, which is needed to correctly define
// `wininet::INTERNET_FLAGS_MASK`.

use shared::minwindef::DWORD;
pub const INTERNET_FLAG_BGUPDATE: DWORD = 0x00000008;

// Functions from wininet.dll that *should* be in this header.
// pub fn AppCacheCheckManifest();
// pub fn AppCacheCloseHandle();
// pub fn AppCacheCreateAndCommitFile();
// pub fn AppCacheDeleteGroup();
// pub fn AppCacheDeleteIEGroup();
// pub fn AppCacheDuplicateHandle();
// pub fn AppCacheFinalize();
// pub fn AppCacheFreeDownloadList();
// pub fn AppCacheFreeGroupList();
// pub fn AppCacheFreeIESpace();
// pub fn AppCacheFreeSpace();
// pub fn AppCacheGetDownloadList();
// pub fn AppCacheGetFallbackUrl();
// pub fn AppCacheGetGroupList();
// pub fn AppCacheGetIEGroupList();
// pub fn AppCacheGetInfo();
// pub fn AppCacheGetManifestUrl();
// pub fn AppCacheLookup();
// pub fn CommitUrlCacheEntryBinaryBlob();
// pub fn CreateCacheServerRpcBinding();
// pub fn CreateUrlCacheContainerA();
// pub fn CreateUrlCacheContainerW();
// pub fn CreateUrlCacheEntryExW();
// pub fn DeleteIE3Cache();
// pub fn DeleteUrlCacheContainerA();
// pub fn DeleteUrlCacheContainerW();
// pub fn DoConnectoidsExist();
// pub fn ExportCookieFileA();
// pub fn ExportCookieFileW();
// pub fn FindFirstUrlCacheContainerA();
// pub fn FindFirstUrlCacheContainerW();
// pub fn FindNextUrlCacheContainerA();
// pub fn FindNextUrlCacheContainerW();
// pub fn FindP3PPolicySymbol();
// pub fn ForceNexusLookupExW();
// pub fn FreeP3PObject();
// pub fn FreeUrlCacheSpaceA();
// pub fn FreeUrlCacheSpaceW();
// pub fn GetCacheServerConnection();
// pub fn GetDiskInfoA();
// pub fn GetP3PPolicy();
// pub fn GetP3PRequestStatus();
// pub fn GetUrlCacheConfigInfoA();
// pub fn GetUrlCacheConfigInfoW();
// pub fn GetUrlCacheEntryBinaryBlob();
// pub fn GetUrlCacheHeaderData();
// pub fn HttpCheckDavComplianceA();
// pub fn HttpCheckDavComplianceW();
// pub fn HttpCloseDependencyHandle();
// pub fn HttpDuplicateDependencyHandle();
// pub fn HttpGetServerCredentials();
// pub fn HttpGetTunnelSocket();
// pub fn HttpIsHostHstsEnabled();
// pub fn HttpOpenDependencyHandle();
// pub fn HttpPushClose();
// pub fn HttpPushEnable();
// pub fn HttpPushWait();
// pub fn HttpWebSocketClose();
// pub fn HttpWebSocketCompleteUpgrade();
// pub fn HttpWebSocketQueryCloseStatus();
// pub fn HttpWebSocketReceive();
// pub fn HttpWebSocketSend();
// pub fn HttpWebSocketShutdown();
// pub fn ImportCookieFileA();
// pub fn ImportCookieFileW();
// pub fn IncrementUrlCacheHeaderData();
// pub fn InternalInternetGetCookie();
// pub fn InternetAlgIdToStringA();
// pub fn InternetAlgIdToStringW();
// pub fn InternetAutodialCallback();
// pub fn InternetAutoProxyGetProxyForUrl();
// pub fn InternetAutoProxyOnSendRequestComplete();
// pub fn InternetFortezzaCommand();
// pub fn InternetFreeProxyInfoList();
// pub fn InternetGetCertByURLA();
// pub fn InternetGetProxyForUrl();
// pub fn InternetGetSecurityInfoByURLA();
// pub fn InternetGetSecurityInfoByURLW();
// pub fn InternetQueryFortezzaStatus();
// pub fn InternetSecurityProtocolToStringA();
// pub fn InternetSecurityProtocolToStringW();
// pub fn InternetShowSecurityInfoByURLA();
// pub fn InternetShowSecurityInfoByURLW();
// pub fn InternetWriteFileExA();
// pub fn InternetWriteFileExW();
// pub fn IsDialUpConnection();
// pub fn IsDomainLegalCookieDomainA();
// pub fn IsDomainLegalCookieDomainW();
// pub fn IsHostInProxyBypassList();
// pub fn IsLanConnection();
// pub fn IsProfilesEnabled();
// pub fn IsUrlCacheEntryExpiredA();
// pub fn IsUrlCacheEntryExpiredW();
// pub fn LoadUrlCacheContent();
// pub fn MapResourceToPolicy();
// pub fn ParseX509EncodedCertificateForListBoxEntry();
// pub fn PerformOperationOverUrlCacheA();
// pub fn ReadGuidsForConnectedNetworks();
// pub fn RegisterForNetworkChangeNotification();
// pub fn RegisterUrlCacheNotification();
// pub fn RunOnceUrlCache();
// pub fn SetGlobalJetParameters();
// pub fn SetUrlCacheConfigInfoA();
// pub fn SetUrlCacheConfigInfoW();
// pub fn SetUrlCacheHeaderData();
// pub fn ShowCertificate();
// pub fn ShowClientAuthCerts();
// pub fn ShowSecurityInfo();
// pub fn ShowX509EncodedCertificate();
// pub fn UnRegisterNetworkChangeNotification();
// pub fn UpdateUrlCacheContentPath();
// pub fn UrlCacheCheckEntriesExist();
// pub fn UrlCacheCloseEntryHandle();
// pub fn UrlCacheContainerSetEntryMaximumAge();
// pub fn UrlCacheCreateContainer();
// pub fn UrlCacheFindFirstEntry();
// pub fn UrlCacheFindNextEntry();
// pub fn UrlCacheFreeEntryInfo();
// pub fn UrlCacheFreeGlobalSpace();
// pub fn UrlCacheGetContentPaths();
// pub fn UrlCacheGetEntryInfo();
// pub fn UrlCacheGetGlobalCacheSize();
// pub fn UrlCacheGetGlobalLimit();
// pub fn UrlCacheReadEntryStream();
// pub fn UrlCacheReloadSettings();
// pub fn UrlCacheRetrieveEntryFile();
// pub fn UrlCacheRetrieveEntryStream();
// pub fn UrlCacheServer();
// pub fn UrlCacheSetGlobalLimit();
// pub fn UrlCacheUpdateEntryExtraData();
// pub fn UrlZonesDetach();
Loading

0 comments on commit c37e387

Please sign in to comment.