1/** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6#ifndef _INC_DAVCLNT 7#define _INC_DAVCLNT 8 9#ifdef __cplusplus 10extern "C" { 11#endif 12 13#if (_WIN32_WINNT >= 0x0600) 14#define DAV_AUTHN_SCHEME_BASIC 0x00000001 15#define DAV_AUTHN_SCHEME_NTLM 0x00000002 16#define DAV_AUTHN_SCHEME_PASSPORT 0x00000004 17#define DAV_AUTHN_SCHEME_DIGEST 0x00000008 18#define DAV_AUTHN_SCHEME_NEGOTIATE 0x00000010 19#define DAV_AUTHN_SCHEME_CERT 0x00010000 20#define DAV_AUTHN_SCHEME_FBA 0x00100000 21 22#define OPAQUE_HANDLE DWORD 23 24typedef enum AUTHNEXTSTEP { 25 DefaultBehavior = 0, 26 RetryRequest = 1, 27 CancelRequest = 2 28} AUTHNEXTSTEP; 29 30typedef struct _DAV_CALLBACK_AUTH_BLOB { 31 PVOID pBuffer; 32 ULONG ulSize; 33 ULONG ulType; 34}DAV_CALLBACK_AUTH_BLOB, *PDAV_CALLBACK_AUTH_BLOB; 35 36typedef struct _DAV_CALLBACK_AUTH_UNP { 37 LPWSTR pszUserName; 38 ULONG ulUserNameLength; 39 LPWSTR pszPassword; 40 ULONG ulPasswordLength; 41}DAV_CALLBACK_AUTH_UNP, *PDAV_CALLBACK_AUTH_UNP; 42 43typedef struct _DAV_CALLBACK_CRED { 44 DAV_CALLBACK_AUTH_BLOB AuthBlob; 45 DAV_CALLBACK_AUTH_UNP UNPBlob; 46 WINBOOL bAuthBlobValid; 47 WINBOOL bSave; 48}DAV_CALLBACK_CRED, *PDAV_CALLBACK_CRED; 49 50typedef DWORD (*PFNDAVAUTHCALLBACK_FREECRED)( 51 PVOID pbuffer 52); 53 54typedef DWORD (*PFNDAVAUTHCALLBACK)( 55 LPWSTR lpwzServerName, 56 LPWSTR lpwzRemoteName, 57 DWORD dwAuthScheme, 58 DWORD dwFlags, 59 PDAV_CALLBACK_CRED pCallbackCred, 60 AUTHNEXTSTEP *NextStep, 61 PFNDAVAUTHCALLBACK_FREECRED *pFreeCred 62); 63 64OPAQUE_HANDLE WINAPI DavRegisterAuthCallback( 65 PFNDAVAUTHCALLBACK CallBack, 66 ULONG Version 67); 68 69VOID WINAPI DavUnregisterAuthCallback( 70 OPAQUE_HANDLE hCallback 71); 72 73DWORD WINAPI DavAddConnection( 74 HANDLE *ConnectionHandle, 75 LPCWSTR RemoteName, 76 LPCWSTR UserName, 77 LPCWSTR Password, 78 PBYTE ClientCert, 79 DWORD CertSize 80); 81 82DWORD WINAPI DavCancelConnectionsToServer( 83 LPWSTR lpName, 84 WINBOOL fForce 85); 86 87DWORD WINAPI DavDeleteConnection( 88 HANDLE ConnectionHandle 89); 90 91DWORD WINAPI DavFlushFile( 92 HANDLE hFile 93); 94 95DWORD WINAPI DavGetExtendedError( 96 HANDLE hFile, 97 DWORD *ExtError, 98 LPWSTR ExtErrorString, 99 DWORD *cChSize 100); 101 102DWORD WINAPI DavGetHTTPFromUNCPath( 103 LPCWSTR UncPath, 104 LPWSTR HttpPath, 105 LPDWORD lpSize 106); 107 108DWORD WINAPI DavGetTheLockOwnerOfTheFile( 109 LPCWSTR FileName, 110 PWSTR LockOwnerName, 111 PULONG LockOwnerNameLengthInBytes 112); 113 114DWORD WINAPI DavGetUNCFromHTTPPath( 115 LPCWSTR HttpPath, 116 LPWSTR UncPath, 117 LPDWORD lpSize 118); 119 120DWORD WINAPI DavInvalidateCache( 121 LPWSTR URLName 122); 123 124OPAQUE_HANDLE WINAPI DavRegisterAuthCallback( 125 PFNDAVAUTHCALLBACK CallBack, 126 ULONG Version 127); 128 129VOID WINAPI DavUnregisterAuthCallback( 130 OPAQUE_HANDLE hCallback 131); 132 133#endif /*(_WIN32_WINNT >= 0x0600)*/ 134 135#ifdef __cplusplus 136} 137#endif 138 139#endif /*_INC_DAVCLNT*/ 140