summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/davclnt.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/davclnt.rs')
-rw-r--r--vendor/winapi/src/um/davclnt.rs104
1 files changed, 104 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/davclnt.rs b/vendor/winapi/src/um/davclnt.rs
new file mode 100644
index 0000000..9bfc5a3
--- /dev/null
+++ b/vendor/winapi/src/um/davclnt.rs
@@ -0,0 +1,104 @@
+// 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
+//! This module defines the DAV specific functions that are exposed to the user
+use shared::minwindef::{BOOL, DWORD, LPDWORD, PBYTE, PULONG, ULONG};
+use um::winnt::{HANDLE, LPCWSTR, LPWSTR, PVOID, PWSTR};
+pub type OPAQUE_HANDLE = DWORD;
+STRUCT!{struct DAV_CALLBACK_AUTH_BLOB {
+ pBuffer: PVOID,
+ ulSize: ULONG,
+ ulType: ULONG,
+}}
+pub type PDAV_CALLBACK_AUTH_BLOB = *mut DAV_CALLBACK_AUTH_BLOB;
+STRUCT!{struct DAV_CALLBACK_AUTH_UNP {
+ pszUserName: LPWSTR,
+ ulUserNameLength: ULONG,
+ pszPassword: LPWSTR,
+ ulPasswordLength: ULONG,
+}}
+pub type PDAV_CALLBACK_AUTH_UNP = *mut DAV_CALLBACK_AUTH_UNP;
+STRUCT!{struct DAV_CALLBACK_CRED {
+ AuthBlob: DAV_CALLBACK_AUTH_BLOB,
+ UNPBlob: DAV_CALLBACK_AUTH_UNP,
+ bAuthBlobValid: BOOL,
+ bSave: BOOL,
+}}
+pub type PDAV_CALLBACK_CRED = *mut DAV_CALLBACK_CRED;
+pub const DAV_AUTHN_SCHEME_BASIC: DWORD = 0x00000001;
+pub const DAV_AUTHN_SCHEME_NTLM: DWORD = 0x00000002;
+pub const DAV_AUTHN_SCHEME_PASSPORT: DWORD = 0x00000004;
+pub const DAV_AUTHN_SCHEME_DIGEST: DWORD = 0x00000008;
+pub const DAV_AUTHN_SCHEME_NEGOTIATE: DWORD = 0x00000010;
+pub const DAV_AUTHN_SCHEME_CERT: DWORD = 0x00010000;
+pub const DAV_AUTHN_SCHEME_FBA: DWORD = 0x00100000;
+ENUM!{enum AUTHNEXTSTEP {
+ DefaultBehavior,
+ RetryRequest,
+ CancelRequest,
+}}
+FN!{stdcall PFNDAVAUTHCALLBACK_FREECRED(
+ pbuffer: PVOID,
+) -> DWORD}
+FN!{stdcall PFNDAVAUTHCALLBACK(
+ lpwzServerName: LPWSTR,
+ lpwzRemoteName: LPWSTR,
+ dwAuthScheme: DWORD,
+ dwFlags: DWORD,
+ pCallbackCred: PDAV_CALLBACK_CRED,
+ NextStep: *mut AUTHNEXTSTEP,
+ pFreeCred: *mut PFNDAVAUTHCALLBACK_FREECRED,
+) -> DWORD}
+extern "system" {
+ pub fn DavAddConnection(
+ ConnectionHandle: *mut HANDLE,
+ RemoteName: LPCWSTR,
+ UserName: LPCWSTR,
+ Password: LPCWSTR,
+ ClientCert: PBYTE,
+ CertSize: DWORD,
+ ) -> DWORD;
+ pub fn DavDeleteConnection(
+ ConnectionHandle: HANDLE,
+ ) -> DWORD;
+ pub fn DavGetUNCFromHTTPPath(
+ HttpPath: LPCWSTR,
+ UncPath: LPWSTR,
+ lpSize: LPDWORD,
+ ) -> DWORD;
+ pub fn DavGetHTTPFromUNCPath(
+ UncPath: LPCWSTR,
+ HttpPath: LPWSTR,
+ lpSize: LPDWORD,
+ ) -> DWORD;
+ pub fn DavGetTheLockOwnerOfTheFile(
+ FileName: LPCWSTR,
+ LockOwnerName: PWSTR,
+ LockOwnerNameLengthInBytes: PULONG,
+ ) -> DWORD;
+ pub fn DavGetExtendedError(
+ hFile: HANDLE,
+ ExtError: *mut DWORD,
+ ExtErrorString: LPWSTR,
+ cChSize: *mut DWORD,
+ ) -> DWORD;
+ pub fn DavFlushFile(
+ hFile: HANDLE,
+ ) -> DWORD;
+ pub fn DavInvalidateCache(
+ URLName: LPWSTR,
+ ) -> DWORD;
+ pub fn DavCancelConnectionsToServer(
+ URLName: LPWSTR,
+ fForce: BOOL,
+ ) -> DWORD;
+ pub fn DavRegisterAuthCallback(
+ CallBack: PFNDAVAUTHCALLBACK,
+ Version: ULONG,
+ ) -> OPAQUE_HANDLE;
+ pub fn DavUnregisterAuthCallback(
+ hCallback: OPAQUE_HANDLE,
+ );
+}