Home | History | Annotate | Download | only in include
      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