davclnt.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #if (_WIN32_WINNT >= 0x0600)
  12. #define DAV_AUTHN_SCHEME_BASIC 0x00000001
  13. #define DAV_AUTHN_SCHEME_NTLM 0x00000002
  14. #define DAV_AUTHN_SCHEME_PASSPORT 0x00000004
  15. #define DAV_AUTHN_SCHEME_DIGEST 0x00000008
  16. #define DAV_AUTHN_SCHEME_NEGOTIATE 0x00000010
  17. #define DAV_AUTHN_SCHEME_CERT 0x00010000
  18. #define DAV_AUTHN_SCHEME_FBA 0x00100000
  19. #define OPAQUE_HANDLE DWORD
  20. typedef enum AUTHNEXTSTEP {
  21. DefaultBehavior = 0,
  22. RetryRequest = 1,
  23. CancelRequest = 2
  24. } AUTHNEXTSTEP;
  25. typedef struct _DAV_CALLBACK_AUTH_BLOB {
  26. PVOID pBuffer;
  27. ULONG ulSize;
  28. ULONG ulType;
  29. }DAV_CALLBACK_AUTH_BLOB, *PDAV_CALLBACK_AUTH_BLOB;
  30. typedef struct _DAV_CALLBACK_AUTH_UNP {
  31. LPWSTR pszUserName;
  32. ULONG ulUserNameLength;
  33. LPWSTR pszPassword;
  34. ULONG ulPasswordLength;
  35. }DAV_CALLBACK_AUTH_UNP, *PDAV_CALLBACK_AUTH_UNP;
  36. typedef struct _DAV_CALLBACK_CRED {
  37. DAV_CALLBACK_AUTH_BLOB AuthBlob;
  38. DAV_CALLBACK_AUTH_UNP UNPBlob;
  39. WINBOOL bAuthBlobValid;
  40. WINBOOL bSave;
  41. }DAV_CALLBACK_CRED, *PDAV_CALLBACK_CRED;
  42. typedef DWORD (*PFNDAVAUTHCALLBACK_FREECRED)(
  43. PVOID pbuffer
  44. );
  45. typedef DWORD (*PFNDAVAUTHCALLBACK)(
  46. LPWSTR lpwzServerName,
  47. LPWSTR lpwzRemoteName,
  48. DWORD dwAuthScheme,
  49. DWORD dwFlags,
  50. PDAV_CALLBACK_CRED pCallbackCred,
  51. AUTHNEXTSTEP *NextStep,
  52. PFNDAVAUTHCALLBACK_FREECRED *pFreeCred
  53. );
  54. OPAQUE_HANDLE WINAPI DavRegisterAuthCallback(
  55. PFNDAVAUTHCALLBACK CallBack,
  56. ULONG Version
  57. );
  58. VOID WINAPI DavUnregisterAuthCallback(
  59. OPAQUE_HANDLE hCallback
  60. );
  61. DWORD WINAPI DavAddConnection(
  62. HANDLE *ConnectionHandle,
  63. LPCWSTR RemoteName,
  64. LPCWSTR UserName,
  65. LPCWSTR Password,
  66. PBYTE ClientCert,
  67. DWORD CertSize
  68. );
  69. DWORD WINAPI DavCancelConnectionsToServer(
  70. LPWSTR lpName,
  71. WINBOOL fForce
  72. );
  73. DWORD WINAPI DavDeleteConnection(
  74. HANDLE ConnectionHandle
  75. );
  76. DWORD WINAPI DavFlushFile(
  77. HANDLE hFile
  78. );
  79. DWORD WINAPI DavGetExtendedError(
  80. HANDLE hFile,
  81. DWORD *ExtError,
  82. LPWSTR ExtErrorString,
  83. DWORD *cChSize
  84. );
  85. DWORD WINAPI DavGetHTTPFromUNCPath(
  86. LPCWSTR UncPath,
  87. LPWSTR HttpPath,
  88. LPDWORD lpSize
  89. );
  90. DWORD WINAPI DavGetTheLockOwnerOfTheFile(
  91. LPCWSTR FileName,
  92. PWSTR LockOwnerName,
  93. PULONG LockOwnerNameLengthInBytes
  94. );
  95. DWORD WINAPI DavGetUNCFromHTTPPath(
  96. LPCWSTR HttpPath,
  97. LPWSTR UncPath,
  98. LPDWORD lpSize
  99. );
  100. DWORD WINAPI DavInvalidateCache(
  101. LPWSTR URLName
  102. );
  103. OPAQUE_HANDLE WINAPI DavRegisterAuthCallback(
  104. PFNDAVAUTHCALLBACK CallBack,
  105. ULONG Version
  106. );
  107. VOID WINAPI DavUnregisterAuthCallback(
  108. OPAQUE_HANDLE hCallback
  109. );
  110. #endif /*(_WIN32_WINNT >= 0x0600)*/
  111. #ifdef __cplusplus
  112. }
  113. #endif
  114. #endif /*_INC_DAVCLNT*/