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 10 extern "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 24 typedef enum AUTHNEXTSTEP { 25 DefaultBehavior = 0, 26 RetryRequest = 1, 27 CancelRequest = 2 28 } AUTHNEXTSTEP; 29 30 typedef struct _DAV_CALLBACK_AUTH_BLOB { 31 PVOID pBuffer; 32 ULONG ulSize; 33 ULONG ulType; 34 }DAV_CALLBACK_AUTH_BLOB, *PDAV_CALLBACK_AUTH_BLOB; 35 36 typedef 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 43 typedef 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 50 typedef DWORD (*PFNDAVAUTHCALLBACK_FREECRED)( 51 PVOID pbuffer 52 ); 53 54 typedef 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 64 OPAQUE_HANDLE WINAPI DavRegisterAuthCallback( 65 PFNDAVAUTHCALLBACK CallBack, 66 ULONG Version 67 ); 68 69 VOID WINAPI DavUnregisterAuthCallback( 70 OPAQUE_HANDLE hCallback 71 ); 72 73 DWORD WINAPI DavAddConnection( 74 HANDLE *ConnectionHandle, 75 LPCWSTR RemoteName, 76 LPCWSTR UserName, 77 LPCWSTR Password, 78 PBYTE ClientCert, 79 DWORD CertSize 80 ); 81 82 DWORD WINAPI DavCancelConnectionsToServer( 83 LPWSTR lpName, 84 WINBOOL fForce 85 ); 86 87 DWORD WINAPI DavDeleteConnection( 88 HANDLE ConnectionHandle 89 ); 90 91 DWORD WINAPI DavFlushFile( 92 HANDLE hFile 93 ); 94 95 DWORD WINAPI DavGetExtendedError( 96 HANDLE hFile, 97 DWORD *ExtError, 98 LPWSTR ExtErrorString, 99 DWORD *cChSize 100 ); 101 102 DWORD WINAPI DavGetHTTPFromUNCPath( 103 LPCWSTR UncPath, 104 LPWSTR HttpPath, 105 LPDWORD lpSize 106 ); 107 108 DWORD WINAPI DavGetTheLockOwnerOfTheFile( 109 LPCWSTR FileName, 110 PWSTR LockOwnerName, 111 PULONG LockOwnerNameLengthInBytes 112 ); 113 114 DWORD WINAPI DavGetUNCFromHTTPPath( 115 LPCWSTR HttpPath, 116 LPWSTR UncPath, 117 LPDWORD lpSize 118 ); 119 120 DWORD WINAPI DavInvalidateCache( 121 LPWSTR URLName 122 ); 123 124 OPAQUE_HANDLE WINAPI DavRegisterAuthCallback( 125 PFNDAVAUTHCALLBACK CallBack, 126 ULONG Version 127 ); 128 129 VOID 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