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