Revert:
[reactos.git] / reactos / ntoskrnl / fs / mcb.c
1 /* $Id: mcb.c,v 1.16 2004/11/21 17:47:22 navaraf Exp $
2 *
3 * reactos/ntoskrnl/fs/mcb.c
4 *
5 */
6
7 #include <ntoskrnl.h>
8 #include <internal/debug.h>
9
10 /**********************************************************************
11 * NAME EXPORTED
12 *
13 * DESCRIPTION
14 *
15 * ARGUMENTS
16 *
17 * RETURN VALUE
18 *
19 * NOTES
20 *
21 * @unimplemented
22 */
23 BOOLEAN STDCALL
24 FsRtlAddLargeMcbEntry(IN PLARGE_MCB Mcb,
25 IN LONGLONG Vbn,
26 IN LONGLONG Lbn,
27 IN LONGLONG SectorCount)
28 {
29 UNIMPLEMENTED;
30 return(FALSE);
31 }
32
33 /*
34 * FsRtlAddMcbEntry: Obsolete
35 *
36 * @implemented
37 */
38 BOOLEAN STDCALL
39 FsRtlAddMcbEntry (IN PMCB Mcb,
40 IN VBN Vbn,
41 IN LBN Lbn,
42 IN ULONG SectorCount)
43 {
44 return FsRtlAddLargeMcbEntry(& Mcb->LargeMcb,
45 (LONGLONG) Vbn,
46 (LONGLONG) Lbn,
47 (LONGLONG) SectorCount);
48 }
49
50 /*
51 * @unimplemented
52 */
53 BOOLEAN STDCALL
54 FsRtlGetNextLargeMcbEntry(IN PLARGE_MCB Mcb,
55 IN ULONG RunIndex,
56 OUT PLONGLONG Vbn,
57 OUT PLONGLONG Lbn,
58 OUT PLONGLONG SectorCount)
59 {
60 UNIMPLEMENTED;
61 return(FALSE);
62 }
63
64
65 /*
66 * @unimplemented
67 */
68 BOOLEAN STDCALL
69 FsRtlGetNextMcbEntry (IN PMCB Mcb,
70 IN ULONG RunIndex,
71 OUT PVBN Vbn,
72 OUT PLBN Lbn,
73 OUT PULONG SectorCount)
74 {
75 BOOLEAN rc=FALSE;
76 LONGLONG llVbn;
77 LONGLONG llLbn;
78 LONGLONG llSectorCount;
79
80 // FIXME: how should conversion be done
81 // FIXME: between 32 and 64 bits?
82 rc=FsRtlGetNextLargeMcbEntry (& Mcb->LargeMcb,
83 RunIndex,
84 & llVbn,
85 & llLbn,
86 & llSectorCount);
87 return(rc);
88 }
89
90
91 /*
92 * @unimplemented
93 */
94 VOID STDCALL
95 FsRtlInitializeLargeMcb(IN PLARGE_MCB Mcb,
96 IN POOL_TYPE PoolType)
97 {
98 UNIMPLEMENTED;
99 Mcb->PoolType = PoolType;
100 }
101
102 /*
103 * FsRtlInitializeMcb: Obsolete
104 * @implemented
105 */
106 VOID STDCALL
107 FsRtlInitializeMcb (IN PMCB Mcb,
108 IN POOL_TYPE PoolType)
109 {
110 FsRtlInitializeLargeMcb(& Mcb->LargeMcb, PoolType);
111 }
112
113
114 /*
115 * @unimplemented
116 */
117 BOOLEAN STDCALL
118 FsRtlLookupLargeMcbEntry(IN PLARGE_MCB Mcb,
119 IN LONGLONG Vbn,
120 OUT PLONGLONG Lbn OPTIONAL,
121 OUT PLONGLONG SectorCountFromLbn OPTIONAL,
122 OUT PLONGLONG StartingLbn OPTIONAL,
123 OUT PLONGLONG SectorCountFromStartingLbn OPTIONAL,
124 OUT PULONG Index OPTIONAL)
125 {
126 UNIMPLEMENTED;
127 return(FALSE);
128 }
129
130 /*
131 * @unimplemented
132 */
133 BOOLEAN
134 STDCALL
135 FsRtlLookupLastLargeMcbEntryAndIndex (
136 IN PLARGE_MCB OpaqueMcb,
137 OUT PLONGLONG LargeVbn,
138 OUT PLONGLONG LargeLbn,
139 OUT PULONG Index
140 )
141 {
142 UNIMPLEMENTED;
143 return(FALSE);
144 }
145
146 /*
147 * @unimplemented
148 */
149 PFSRTL_PER_STREAM_CONTEXT
150 STDCALL
151 FsRtlLookupPerStreamContextInternal (
152 IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
153 IN PVOID OwnerId OPTIONAL,
154 IN PVOID InstanceId OPTIONAL
155 )
156 {
157 UNIMPLEMENTED;
158 return(FALSE);
159 }
160
161 /*
162 * @unimplemented
163 */
164 PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/
165 STDCALL
166 FsRtlLookupPerFileObjectContext (
167 IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
168 IN PVOID OwnerId OPTIONAL,
169 IN PVOID InstanceId OPTIONAL
170 )
171 {
172 UNIMPLEMENTED;
173 return(FALSE);
174 }
175
176 /*
177 * @unimplemented
178 */
179 BOOLEAN STDCALL
180 FsRtlLookupLastLargeMcbEntry(IN PLARGE_MCB Mcb,
181 OUT PLONGLONG Vbn,
182 OUT PLONGLONG Lbn)
183 {
184 UNIMPLEMENTED;
185 return(FALSE);
186 }
187
188
189 /*
190 * @unimplemented
191 */
192 BOOLEAN STDCALL
193 FsRtlLookupLastMcbEntry (IN PMCB Mcb,
194 OUT PVBN Vbn,
195 OUT PLBN Lbn)
196 {
197 UNIMPLEMENTED;
198 return(FALSE);
199 }
200
201
202 /*
203 * @unimplemented
204 */
205 BOOLEAN STDCALL
206 FsRtlLookupMcbEntry (IN PMCB Mcb,
207 IN VBN Vbn,
208 OUT PLBN Lbn,
209 OUT PULONG SectorCount OPTIONAL,
210 OUT PULONG Index)
211 {
212 UNIMPLEMENTED;
213 return(FALSE);
214 }
215
216
217 /*
218 * @implemented
219 */
220 ULONG STDCALL
221 FsRtlNumberOfRunsInLargeMcb(IN PLARGE_MCB Mcb)
222 {
223 ULONG NumberOfRuns;
224 ExAcquireFastMutex (Mcb->FastMutex);
225 NumberOfRuns=Mcb->PairCount;
226 ExReleaseFastMutex (Mcb->FastMutex);
227 return(NumberOfRuns);
228 }
229
230
231 /*
232 * FsRtlNumberOfRunsInMcb: Obsolete
233 *
234 * @implemented
235 */
236 ULONG STDCALL
237 FsRtlNumberOfRunsInMcb (IN PMCB Mcb)
238 {
239 return FsRtlNumberOfRunsInLargeMcb(& Mcb->LargeMcb);
240 }
241
242
243 /*
244 * @unimplemented
245 */
246 VOID STDCALL
247 FsRtlRemoveLargeMcbEntry(IN PLARGE_MCB Mcb,
248 IN LONGLONG Vbn,
249 IN LONGLONG SectorCount)
250 {
251 UNIMPLEMENTED;
252 }
253
254
255 /*
256 * @unimplemented
257 */
258 VOID STDCALL
259 FsRtlRemoveMcbEntry (IN PMCB Mcb,
260 IN VBN Vbn,
261 IN ULONG SectorCount)
262 {
263 UNIMPLEMENTED;
264 }
265
266
267 /*
268 * @unimplemented
269 */
270 VOID
271 STDCALL
272 FsRtlResetLargeMcb (
273 IN PLARGE_MCB Mcb,
274 IN BOOLEAN SelfSynchronized
275 )
276 {
277 UNIMPLEMENTED;
278 }
279
280 /*
281 * @unimplemented
282 */
283 BOOLEAN STDCALL
284 FsRtlSplitLargeMcb(IN PLARGE_MCB Mcb,
285 IN LONGLONG Vbn,
286 IN LONGLONG Amount)
287 {
288 UNIMPLEMENTED;
289 return(FALSE);
290 }
291
292
293 /*
294 * @unimplemented
295 */
296 VOID STDCALL
297 FsRtlTruncateLargeMcb(IN PLARGE_MCB Mcb,
298 IN LONGLONG Vbn)
299 {
300 UNIMPLEMENTED;
301 }
302
303
304 /*
305 * FsRtlTruncateMcb: Obsolete
306 *
307 * @implemented
308 */
309 VOID STDCALL
310 FsRtlTruncateMcb (IN PMCB Mcb,
311 IN VBN Vbn)
312 {
313 FsRtlTruncateLargeMcb (& Mcb->LargeMcb, (LONGLONG) Vbn);
314 }
315
316
317 /*
318 * @unimplemented
319 */
320 VOID STDCALL
321 FsRtlUninitializeLargeMcb(IN PLARGE_MCB Mcb)
322 {
323 UNIMPLEMENTED;
324 }
325
326 /*
327 * FsRtlUninitializeMcb: Obsolete
328 *
329 * @implemented
330 */
331 VOID STDCALL
332 FsRtlUninitializeMcb (IN PMCB Mcb)
333 {
334 FsRtlUninitializeLargeMcb(& Mcb->LargeMcb);
335 }
336
337
338 /* EOF */
339