]> git.proxmox.com Git - rustc.git/blame - vendor/winapi/src/um/bits3_0.rs
New upstream version 1.41.1+dfsg1
[rustc.git] / vendor / winapi / src / um / bits3_0.rs
CommitLineData
8faf50e0
XL
1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6use shared::basetsd::UINT64;
7use shared::guiddef::{GUID, REFGUID};
8use shared::minwindef::{BOOL, DWORD, FILETIME, ULONG};
9use um::bits::{
10 IBackgroundCopyCallback, IBackgroundCopyCallbackVtbl, IBackgroundCopyFile, IBackgroundCopyJob,
11};
12use um::bits2_0::{
13 BG_FILE_RANGE, IBackgroundCopyFile2, IBackgroundCopyFile2Vtbl, IBackgroundCopyJob3,
14 IBackgroundCopyJob3Vtbl,
15};
16use um::unknwnbase::{IUnknown, IUnknownVtbl};
17use um::winnt::{HRESULT, LPCWSTR, LPWSTR};
18RIDL!{#[uuid(0x659cdeaf, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)]
19interface IBitsPeerCacheRecord(IBitsPeerCacheRecordVtbl): IUnknown(IUnknownVtbl) {
20 fn GetId(
21 pVal: *mut GUID,
22 ) -> HRESULT,
23 fn GetOriginUrl(
24 pVal: *mut LPWSTR,
25 ) -> HRESULT,
26 fn GetFileSize(
27 pVal: *mut UINT64,
28 ) -> HRESULT,
29 fn GetFileModificationTime(
30 pVal: *mut FILETIME,
31 ) -> HRESULT,
32 fn GetLastAccessTime(
33 pVal: *mut FILETIME,
34 ) -> HRESULT,
35 fn IsFileValidated() -> HRESULT,
36 fn GetFileRanges(
37 pRangeCount: *mut DWORD,
38 ppRanges: *mut *mut BG_FILE_RANGE,
39 ) -> HRESULT,
40}}
41RIDL!{#[uuid(0x659cdea4, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)]
42interface IEnumBitsPeerCacheRecords(IEnumBitsPeerCacheRecordsVtbl): IUnknown(IUnknownVtbl) {
43 fn Next(
44 celt: ULONG,
45 rgelt: *mut *mut IBitsPeerCacheRecord,
46 pceltFetched: *mut ULONG,
47 ) -> HRESULT,
48 fn Skip(
49 celt: ULONG,
50 ) -> HRESULT,
51 fn Reset() -> HRESULT,
52 fn Clone(
53 ppenum: *mut *mut IEnumBitsPeerCacheRecords,
54 ) -> HRESULT,
55 fn GetCount(
56 puCount: *mut ULONG,
57 ) -> HRESULT,
58}}
59RIDL!{#[uuid(0x659cdea2, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)]
60interface IBitsPeer(IBitsPeerVtbl): IUnknown(IUnknownVtbl) {
61 fn GetPeerName(
62 pName: *mut LPWSTR,
63 ) -> HRESULT,
64 fn IsAuthenticated(
65 pAuth: *mut BOOL,
66 ) -> HRESULT,
67 fn IsAvailable(
68 pOnline: *mut BOOL,
69 ) -> HRESULT,
70}}
71RIDL!{#[uuid(0x659cdea5, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)]
72interface IEnumBitsPeers(IEnumBitsPeersVtbl): IUnknown(IUnknownVtbl) {
73 fn Next(
74 celt: ULONG,
75 rgelt: *mut *mut IBitsPeer,
76 pceltFetched: *mut ULONG,
77 ) -> HRESULT,
78 fn Skip(
79 celt: ULONG,
80 ) -> HRESULT,
81 fn Reset() -> HRESULT,
82 fn Clone(
83 ppenum: *mut *mut IEnumBitsPeers,
84 ) -> HRESULT,
85 fn GetCount(
86 puCount: *mut ULONG,
87 ) -> HRESULT,
88}}
89pub const BG_ENABLE_PEERCACHING_CLIENT: DWORD = 0x0001;
90pub const BG_ENABLE_PEERCACHING_SERVER: DWORD = 0x0002;
91pub const BG_DISABLE_BRANCH_CACHE: DWORD = 0x0004;
92RIDL!{#[uuid(0x659cdead, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)]
93interface IBitsPeerCacheAdministration(IBitsPeerCacheAdministrationVtbl): IUnknown(IUnknownVtbl) {
94 fn GetMaximumCacheSize(
95 pBytes: *mut DWORD,
96 ) -> HRESULT,
97 fn SetMaximumCacheSize(
98 Bytes: DWORD,
99 ) -> HRESULT,
100 fn GetMaximumContentAge(
101 pSeconds: *mut ULONG,
102 ) -> HRESULT,
103 fn SetMaximumContentAge(
104 Seconds: ULONG,
105 ) -> HRESULT,
106 fn GetConfigurationFlags(
107 pFlags: *mut DWORD,
108 ) -> HRESULT,
109 fn SetConfigurationFlags(
110 Flags: DWORD,
111 ) -> HRESULT,
112 fn EnumRecords(
113 ppEnum: *mut *mut IEnumBitsPeerCacheRecords,
114 ) -> HRESULT,
115 fn GetRecord(
116 ppRecord: *mut *mut IBitsPeerCacheRecord,
117 ) -> HRESULT,
118 fn ClearRecords() -> HRESULT,
119 fn DeleteRecord(
120 id: REFGUID,
121 ) -> HRESULT,
122 fn DeleteUrl(
123 url: LPCWSTR,
124 ) -> HRESULT,
125 fn EnumPeers(
126 ppEnum: *mut *mut IEnumBitsPeers,
127 ) -> HRESULT,
128 fn ClearPeers() -> HRESULT,
129 fn DiscoverPeers() -> HRESULT,
130}}
131pub const BG_JOB_ENABLE_PEERCACHING_CLIENT: DWORD = 0x0001;
132pub const BG_JOB_ENABLE_PEERCACHING_SERVER: DWORD = 0x0002;
133pub const BG_JOB_DISABLE_BRANCH_CACHE: DWORD = 0x0004;
134RIDL!{#[uuid(0x659cdeae, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)]
135interface IBackgroundCopyJob4(IBackgroundCopyJob4Vtbl):
136 IBackgroundCopyJob3(IBackgroundCopyJob3Vtbl) {
137 fn SetPeerCachingFlags(
138 Flags: DWORD,
139 ) -> HRESULT,
140 fn GetPeerCachingFlags(
141 pFlags: *mut DWORD,
142 ) -> HRESULT,
143 fn GetOwnerIntegrityLevel(
144 pLevel: *mut ULONG,
145 ) -> HRESULT,
146 fn GetOwnerElevationState(
147 pElevated: *mut BOOL,
148 ) -> HRESULT,
149 fn SetMaximumDownloadTime(
150 Timeout: ULONG,
151 ) -> HRESULT,
152 fn GetMaximumDownloadTime(
153 pTimeout: *mut ULONG,
154 ) -> HRESULT,
155}}
156RIDL!{#[uuid(0x659cdeaa, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)]
157interface IBackgroundCopyFile3(IBackgroundCopyFile3Vtbl):
158 IBackgroundCopyFile2(IBackgroundCopyFile2Vtbl) {
159 fn GetTemporaryName(
160 pFilename: *mut LPWSTR,
161 ) -> HRESULT,
162 fn SetValidationState(
163 state: BOOL,
164 ) -> HRESULT,
165 fn GetValidationState(
166 pState: *mut BOOL,
167 ) -> HRESULT,
168 fn IsDownloadedFromPeer(
169 pVal: *mut BOOL,
170 ) -> HRESULT,
171}}
172RIDL!{#[uuid(0x659cdeac, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)]
173interface IBackgroundCopyCallback2(IBackgroundCopyCallback2Vtbl):
174 IBackgroundCopyCallback(IBackgroundCopyCallbackVtbl) {
175 fn FileTransferred(
176 pJob: *mut IBackgroundCopyJob,
177 pFile: *mut IBackgroundCopyFile,
178 ) -> HRESULT,
179}}