Create the AHCI branch for Aman's work
[reactos.git] / drivers / filesystems / cdfs_new / wdk_wnet_to_ros.diff
1 Index: drivers/filesystems/cdfs_new/deviosup.c
2 ===================================================================
3 --- drivers/filesystems/cdfs_new/deviosup.c (revision 34615)
4 +++ drivers/filesystems/cdfs_new/deviosup.c (working copy)
5 @@ -165,6 +165,7 @@
6 );
7
8 NTSTATUS
9 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
10 CdMultiSyncCompletionRoutine (
11 IN PDEVICE_OBJECT DeviceObject,
12 IN PIRP Irp,
13 @@ -172,6 +173,7 @@
14 );
15
16 NTSTATUS
17 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
18 CdMultiAsyncCompletionRoutine (
19 IN PDEVICE_OBJECT DeviceObject,
20 IN PIRP Irp,
21 @@ -179,6 +181,7 @@
22 );
23
24 NTSTATUS
25 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
26 CdSingleSyncCompletionRoutine (
27 IN PDEVICE_OBJECT DeviceObject,
28 IN PIRP Irp,
29 @@ -186,6 +189,7 @@
30 );
31
32 NTSTATUS
33 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
34 CdSingleAsyncCompletionRoutine (
35 IN PDEVICE_OBJECT DeviceObject,
36 IN PIRP Irp,
37 @@ -2943,6 +2947,7 @@
38 //
39
40 NTSTATUS
41 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
42 CdMultiSyncCompletionRoutine (
43 IN PDEVICE_OBJECT DeviceObject,
44 IN PIRP Irp,
45 @@ -3029,6 +3034,7 @@
46 //
47
48 NTSTATUS
49 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
50 CdMultiAsyncCompletionRoutine (
51 IN PDEVICE_OBJECT DeviceObject,
52 IN PIRP Irp,
53 @@ -3066,7 +3072,8 @@
54
55 {
56 PCD_IO_CONTEXT IoContext = Context;
57 - PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation( Irp );
58 + /* ReactOS Change: GCC Unused Variable */
59 + //PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation( Irp );
60
61 AssertVerifyDeviceIrp( Irp );
62
63 @@ -3148,6 +3155,7 @@
64 //
65
66 NTSTATUS
67 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
68 CdSingleSyncCompletionRoutine (
69 IN PDEVICE_OBJECT DeviceObject,
70 IN PIRP Irp,
71 @@ -3207,6 +3215,7 @@
72 //
73
74 NTSTATUS
75 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
76 CdSingleAsyncCompletionRoutine (
77 IN PDEVICE_OBJECT DeviceObject,
78 IN PIRP Irp,
79 @@ -3267,7 +3276,7 @@
80 // and finally, free the context record.
81 //
82
83 - CdFreeIoContext( (PCD_IO_CONTEXT) Context );
84 + CdFreeIoContext( Context ); /* ReactOS Change: GCC "error: invalid lvalue in unary '&'" */
85 return STATUS_SUCCESS;
86
87 UNREFERENCED_PARAMETER( DeviceObject );
88 Index: drivers/filesystems/cdfs_new/dirctrl.c
89 ===================================================================
90 --- drivers/filesystems/cdfs_new/dirctrl.c (revision 34615)
91 +++ drivers/filesystems/cdfs_new/dirctrl.c (working copy)
92 @@ -209,7 +209,7 @@
93
94 ULONG BaseLength;
95
96 - PFILE_BOTH_DIR_INFORMATION DirInfo;
97 + PFILE_BOTH_DIR_INFORMATION DirInfo = NULL; /* ReactOS Change: GCC Uninit var */
98 PFILE_NAMES_INFORMATION NamesInfo;
99 PFILE_ID_FULL_DIR_INFORMATION IdFullDirInfo;
100 PFILE_ID_BOTH_DIR_INFORMATION IdBothDirInfo;
101 @@ -579,6 +579,9 @@
102 NamesInfo->FileNameLength = FileNameBytes + SeparatorBytes + VersionStringBytes;
103
104 break;
105 +
106 + /* ReactOS Change: GCC "enumeration value not handled in switch" */
107 + default: break;
108 }
109
110 //
111 Index: drivers/filesystems/cdfs_new/create.c
112 ===================================================================
113 --- drivers/filesystems/cdfs_new/create.c (revision 34615)
114 +++ drivers/filesystems/cdfs_new/create.c (working copy)
115 @@ -2106,7 +2106,7 @@
116 PFCB NextFcb;
117 PFCB ParentFcb = NULL;
118
119 - NTSTATUS Status;
120 + NTSTATUS Status = STATUS_SUCCESS; /* ReactOS Change: GCC uninitialized variable */
121
122 PAGED_CODE();
123
124 @@ -2757,8 +2757,8 @@
125 OplockStatus = FsRtlCheckOplock( &Fcb->Oplock,
126 IrpContext->Irp,
127 IrpContext,
128 - CdOplockComplete,
129 - CdPrePostIrp );
130 + (PVOID)CdOplockComplete, /* ReactOS Change: GCC "assignment from incompatible pointer type" */
131 + (PVOID)CdPrePostIrp ); /* ReactOS Change: GCC "assignment from incompatible pointer type" */
132
133 if (OplockStatus == STATUS_PENDING) {
134
135 @@ -2789,8 +2789,8 @@
136 OplockStatus = FsRtlCheckOplock( &Fcb->Oplock,
137 IrpContext->Irp,
138 IrpContext,
139 - CdOplockComplete,
140 - CdPrePostIrp );
141 + (PVOID)CdOplockComplete,/* ReactOS Change: GCC "assignment from incompatible pointer type" */
142 + (PVOID)CdPrePostIrp );/* ReactOS Change: GCC "assignment from incompatible pointer type" */
143
144 if (OplockStatus == STATUS_PENDING) {
145
146 Index: drivers/filesystems/cdfs_new/devctrl.c
147 ===================================================================
148 --- drivers/filesystems/cdfs_new/devctrl.c (revision 34615)
149 +++ drivers/filesystems/cdfs_new/devctrl.c (working copy)
150 @@ -64,7 +64,7 @@
151 PIO_STACK_LOCATION IrpSp;
152 PIO_STACK_LOCATION NextIrpSp;
153
154 - PVOID TargetBuffer = NULL;
155 +// PVOID TargetBuffer = NULL; /* ReactOS Change: GCC unused variable */
156
157 PAGED_CODE();
158
159 Index: drivers/filesystems/cdfs_new/close.c
160 ===================================================================
161 --- drivers/filesystems/cdfs_new/close.c (revision 34615)
162 +++ drivers/filesystems/cdfs_new/close.c (working copy)
163 @@ -77,6 +77,7 @@
164 );
165
166 VOID
167 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
168 CdCloseWorker (
169 IN PDEVICE_OBJECT DeviceObject,
170 IN PVOID Context
171 @@ -136,9 +137,9 @@
172 //
173 // Continue processing until there are no more closes to process.
174 //
175 + /* ReactOS Change: "GCC suggest parentheses around assignment used as truth value" */
176 + while ((IrpContext = CdRemoveClose( Vcb ))) {
177
178 - while (IrpContext = CdRemoveClose( Vcb )) {
179 -
180 //
181 // If we don't have an IrpContext then use the one on the stack.
182 // Initialize it for this request.
183 @@ -165,7 +166,7 @@
184 // Free the IrpContextLite.
185 //
186
187 - CdFreeIrpContextLite( (PIRP_CONTEXT_LITE) IrpContext );
188 + CdFreeIrpContextLite( IrpContext ); /* ReactOS Change: GCC "error: invalid lvalue in unary '&'" */
189
190 //
191 // Remember we have the IrpContext from the stack.
192 @@ -662,6 +663,7 @@
193 }
194
195 VOID
196 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
197 CdCloseWorker (
198 IN PDEVICE_OBJECT DeviceObject,
199 IN PVOID Context
200 Index: drivers/filesystems/cdfs_new/dirsup.c
201 ===================================================================
202 --- drivers/filesystems/cdfs_new/dirsup.c (revision 34615)
203 +++ drivers/filesystems/cdfs_new/dirsup.c (working copy)
204 @@ -465,7 +465,7 @@
205 // Save a pointer to the time stamps.
206 //
207
208 - Dirent->CdTime = RawDirent->RecordTime;
209 + Dirent->CdTime = (PCHAR)RawDirent->RecordTime; /* ReactOS change: GCC "pointer targets in assignment differ in signedness" */
210
211 //
212 // Copy the dirent flags.
213 @@ -501,7 +501,7 @@
214 }
215
216 Dirent->FileNameLen = RawDirent->FileIdLen;
217 - Dirent->FileName = RawDirent->FileId;
218 + Dirent->FileName = (PCHAR)RawDirent->FileId; /* ReactOS change: GCC "pointer targets in assignment differ in signedness" */
219
220 //
221 // If there are any remaining bytes at the end of the dirent then
222 @@ -1457,7 +1457,7 @@
223 --*/
224
225 {
226 - XA_EXTENT_TYPE ExtentType;
227 + XA_EXTENT_TYPE ExtentType = 0; /* ReactOS Change: GCC Uninit var */
228 PCOMPOUND_DIRENT CurrentCompoundDirent;
229 PDIRENT CurrentDirent;
230
231 Index: drivers/filesystems/cdfs_new/read.c
232 ===================================================================
233 --- drivers/filesystems/cdfs_new/read.c (revision 34615)
234 +++ drivers/filesystems/cdfs_new/read.c (working copy)
235 @@ -79,7 +79,7 @@
236 --*/
237
238 {
239 - NTSTATUS Status;
240 + NTSTATUS Status = STATUS_SUCCESS; /* ReactOS Change: GCC Uninit var */
241 PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation( Irp );
242
243 TYPE_OF_OPEN TypeOfOpen;
244 @@ -225,8 +225,8 @@
245 Status = FsRtlCheckOplock( &Fcb->Oplock,
246 Irp,
247 IrpContext,
248 - CdOplockComplete,
249 - CdPrePostIrp );
250 + (PVOID)CdOplockComplete,/* ReactOS Change: GCC "assignment from incompatible pointer type" */
251 + (PVOID)CdPrePostIrp );/* ReactOS Change: GCC "assignment from incompatible pointer type" */
252
253 //
254 // If the result is not STATUS_SUCCESS then the Irp was completed
255 Index: drivers/filesystems/cdfs_new/volinfo.c
256 ===================================================================
257 --- drivers/filesystems/cdfs_new/volinfo.c (revision 34615)
258 +++ drivers/filesystems/cdfs_new/volinfo.c (working copy)
259 @@ -166,8 +166,11 @@
260
261 Status = CdQueryFsAttributeInfo( IrpContext, Fcb->Vcb, Irp->AssociatedIrp.SystemBuffer, &Length );
262 break;
263 +
264 + /* ReactOS Change: GCC "enumeration value not handled in switch" */
265 + default: break;
266 }
267 -
268 +
269 //
270 // Set the information field to the number of bytes actually filled in
271 //
272 Index: drivers/filesystems/cdfs_new/cdfs.rbuild
273 ===================================================================
274 --- drivers/filesystems/cdfs_new/cdfs.rbuild (revision 34615)
275 +++ drivers/filesystems/cdfs_new/cdfs.rbuild (working copy)
276 @@ -1,8 +1,8 @@
277 <?xml version="1.0"?>
278 <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
279 -<module name="cdfs_new" type="kernelmodedriver" installbase="system32/drivers" installname="cdfs_new.sys">
280 +<module name="cdfs" type="kernelmodedriver" installbase="system32/drivers" installname="cdfs.sys">
281 <bootstrap installbase="$(CDOUTPUT)" />
282 - <include base="cdfs_new">.</include>
283 + <include base="cdfs">.</include>
284 <library>ntoskrnl</library>
285 <library>hal</library>
286 <file>allocsup.c</file>
287 @@ -32,6 +32,5 @@
288 <file>volinfo.c</file>
289 <file>workque.c</file>
290 <file>cdfs.rc</file>
291 - <compilerflag>-fms-extensions</compilerflag>
292 <pch>cdprocs.h</pch>
293 </module>
294 Index: drivers/filesystems/cdfs_new/cddata.c
295 ===================================================================
296 --- drivers/filesystems/cdfs_new/cddata.c (revision 34615)
297 +++ drivers/filesystems/cdfs_new/cddata.c (working copy)
298 @@ -417,7 +417,6 @@
299 return Status;
300 }
301
302 -
303 #ifdef CD_SANITY
304
305 VOID
306 @@ -481,7 +480,6 @@
307
308 #endif
309
310 -
311 LONG
312 CdExceptionFilter (
313 IN PIRP_CONTEXT IrpContext,
314 @@ -1006,6 +1004,7 @@
315
316 \f
317 BOOLEAN
318 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
319 CdFastIoCheckIfPossible (
320 IN PFILE_OBJECT FileObject,
321 IN PLARGE_INTEGER FileOffset,
322 Index: drivers/filesystems/cdfs_new/allocsup.c
323 ===================================================================
324 --- drivers/filesystems/cdfs_new/allocsup.c (revision 34615)
325 +++ drivers/filesystems/cdfs_new/allocsup.c (working copy)
326 @@ -128,7 +128,7 @@
327 {
328 BOOLEAN FirstPass = TRUE;
329 ULONG McbEntryOffset;
330 - PFCB ParentFcb;
331 + PFCB ParentFcb = NULL; /* ReactOS Change: GCC uninitialized variable bug */
332 BOOLEAN CleanupParent = FALSE;
333
334 BOOLEAN UnlockFcb = FALSE;
335 Index: drivers/filesystems/cdfs_new/verfysup.c
336 ===================================================================
337 --- drivers/filesystems/cdfs_new/verfysup.c (revision 34615)
338 +++ drivers/filesystems/cdfs_new/verfysup.c (working copy)
339 @@ -431,7 +431,7 @@
340 ULONG MediaChangeCount = 0;
341 BOOLEAN ForceVerify = FALSE;
342 BOOLEAN DevMarkedForVerify;
343 - KIRQL SavedIrql;
344 + //KIRQL SavedIrql; /* ReactOS Change: GCC Unused variable */
345
346 PAGED_CODE();
347
348 @@ -581,6 +581,9 @@
349
350 CdRaiseStatus( IrpContext, STATUS_FILE_INVALID );
351 break;
352 +
353 + /* ReactOS Change: GCC "enumeration value not handled in switch" */
354 + default: break;
355 }
356 }
357
358 @@ -613,7 +616,7 @@
359 --*/
360
361 {
362 - NTSTATUS Status = STATUS_SUCCESS;
363 + //NTSTATUS Status = STATUS_SUCCESS; /* ReactOS Change: GCC Unused variable */
364 PVCB Vcb = Fcb->Vcb;
365 PDEVICE_OBJECT RealDevice = Vcb->Vpb->RealDevice;
366 PIRP Irp;
367 Index: drivers/filesystems/cdfs_new/filobsup.c
368 ===================================================================
369 --- drivers/filesystems/cdfs_new/filobsup.c (revision 34615)
370 +++ drivers/filesystems/cdfs_new/filobsup.c (working copy)
371 @@ -105,7 +105,7 @@
372 FileObject->FsContext = Fcb;
373 FileObject->FsContext2 = Ccb;
374
375 - SetFlag( ((ULONG_PTR) FileObject->FsContext2), TypeOfOpen );
376 + SetFlag( (*(PULONG_PTR)&FileObject->FsContext2), TypeOfOpen ); /* ReactOS Change: GCC "invalid lvalue in assignment" */
377
378 //
379 // Set the Vpb field in the file object.
380 @@ -176,7 +176,7 @@
381 *Fcb = FileObject->FsContext;
382 *Ccb = FileObject->FsContext2;
383
384 - ClearFlag( (ULONG_PTR) *Ccb, TYPE_OF_OPEN_MASK );
385 + ClearFlag( (*(PULONG_PTR)Ccb), TYPE_OF_OPEN_MASK ); /* ReactOS Change: GCC "invalid lvalue in assignment" */
386 }
387
388 //
389 Index: drivers/filesystems/cdfs_new/pathsup.c
390 ===================================================================
391 --- drivers/filesystems/cdfs_new/pathsup.c (revision 34615)
392 +++ drivers/filesystems/cdfs_new/pathsup.c (working copy)
393 @@ -764,7 +764,7 @@
394
395 PathEntry->PathEntryLength = WordAlign( PathEntry->PathEntryLength );
396
397 - PathEntry->DirName = RawPathEntry->DirId;
398 + PathEntry->DirName = (PCHAR)RawPathEntry->DirId; /* ReactOS Change: GCC "assignment makes pointer from integer without a cast" */
399
400 return TRUE;
401 }
402 Index: drivers/filesystems/cdfs_new/cdprocs.h
403 ===================================================================
404 --- drivers/filesystems/cdfs_new/cdprocs.h (revision 34615)
405 +++ drivers/filesystems/cdfs_new/cdprocs.h (working copy)
406 @@ -44,28 +44,30 @@
407 // Here are the different pool tags.
408 //
409
410 -#define TAG_CCB 'ccdC' // Ccb
411 -#define TAG_CDROM_TOC 'ctdC' // TOC
412 -#define TAG_DIRENT_NAME 'nddC' // CdName in dirent
413 -#define TAG_ENUM_EXPRESSION 'eedC' // Search expression for enumeration
414 -#define TAG_FCB_DATA 'dfdC' // Data Fcb
415 -#define TAG_FCB_INDEX 'ifdC' // Index Fcb
416 -#define TAG_FCB_NONPAGED 'nfdC' // Nonpaged Fcb
417 -#define TAG_FCB_TABLE 'tfdC' // Fcb Table entry
418 -#define TAG_FILE_NAME 'nFdC' // Filename buffer
419 -#define TAG_GEN_SHORT_NAME 'sgdC' // Generated short name
420 -#define TAG_IO_BUFFER 'fbdC' // Temporary IO buffer
421 -#define TAG_IO_CONTEXT 'oidC' // Io context for async reads
422 -#define TAG_IRP_CONTEXT 'cidC' // Irp Context
423 -#define TAG_IRP_CONTEXT_LITE 'lidC' // Irp Context lite
424 -#define TAG_MCB_ARRAY 'amdC' // Mcb array
425 -#define TAG_PATH_ENTRY_NAME 'nPdC' // CdName in path entry
426 -#define TAG_PREFIX_ENTRY 'epdC' // Prefix Entry
427 -#define TAG_PREFIX_NAME 'npdC' // Prefix Entry name
428 -#define TAG_SPANNING_PATH_TABLE 'psdC' // Buffer for spanning path table
429 -#define TAG_UPCASE_NAME 'nudC' // Buffer for upcased name
430 -#define TAG_VOL_DESC 'dvdC' // Buffer for volume descriptor
431 -#define TAG_VPB 'pvdC' // Vpb allocated in filesystem
432 +/* ReactOS Change: GCC doesn't understand this, use TAG macro */
433 +#include <reactos/helper.h>
434 +#define TAG_CCB TAG('c','c','d','C') // Ccb
435 +#define TAG_CDROM_TOC TAG('c','t','d','C') // TOC
436 +#define TAG_DIRENT_NAME TAG('n','d','d','C') // CdName in dirent
437 +#define TAG_ENUM_EXPRESSION TAG('e','e','d','C') // Search expression for enumeration
438 +#define TAG_FCB_DATA TAG('d','f','d','C') // Data Fcb
439 +#define TAG_FCB_INDEX TAG('i','f','d','C') // Index Fcb
440 +#define TAG_FCB_NONPAGED TAG('n','f','d','C') // Nonpaged Fcb
441 +#define TAG_FCB_TABLE TAG('t','f','d','C') // Fcb Table entry
442 +#define TAG_FILE_NAME TAG('n','F','d','C') // Filename buffer
443 +#define TAG_GEN_SHORT_NAME TAG('s','g','d','C') // Generated short name
444 +#define TAG_IO_BUFFER TAG('f','b','d','C') // Temporary IO buffer
445 +#define TAG_IO_CONTEXT TAG('o','i','d','C') // Io context for async reads
446 +#define TAG_IRP_CONTEXT TAG('c','i','d','C') // Irp Context
447 +#define TAG_IRP_CONTEXT_LITE TAG('l','i','d','C') // Irp Context lite
448 +#define TAG_MCB_ARRAY TAG('a','m','d','C') // Mcb array
449 +#define TAG_PATH_ENTRY_NAME TAG('n','P','d','C') // CdName in path entry
450 +#define TAG_PREFIX_ENTRY TAG('e','p','d','C') // Prefix Entry
451 +#define TAG_PREFIX_NAME TAG('n','p','d','C') // Prefix Entry name
452 +#define TAG_SPANNING_PATH_TABLE TAG('p','s','d','C') // Buffer for spanning path table
453 +#define TAG_UPCASE_NAME TAG('n','u','d','C') // Buffer for upcased name
454 +#define TAG_VOL_DESC TAG('d','v','d','C') // Buffer for volume descriptor
455 +#define TAG_VPB TAG('p','v','d','C') // Vpb allocated in filesystem
456
457 //
458 // Tag all of our allocations if tagging is turned on
459 @@ -902,33 +904,39 @@
460 }
461
462 BOOLEAN
463 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
464 CdNoopAcquire (
465 IN PVOID Fcb,
466 IN BOOLEAN Wait
467 );
468
469 VOID
470 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
471 CdNoopRelease (
472 IN PVOID Fcb
473 );
474
475 BOOLEAN
476 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
477 CdAcquireForCache (
478 IN PFCB Fcb,
479 IN BOOLEAN Wait
480 );
481
482 VOID
483 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
484 CdReleaseFromCache (
485 IN PFCB Fcb
486 );
487
488 VOID
489 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
490 CdAcquireForCreateSection (
491 IN PFILE_OBJECT FileObject
492 );
493
494 VOID
495 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
496 CdReleaseForCreateSection (
497 IN PFILE_OBJECT FileObject
498 );
499 @@ -1184,8 +1192,8 @@
500 // Verification support routines. Contained in verfysup.c
501 //
502
503 -
504 -INLINE
505 +/* ReactOS Change: "LD multiple definition of `_CdOperationIsDasdOpen'" */
506 +static inline
507 BOOLEAN
508 CdOperationIsDasdOpen(
509 IN PIRP_CONTEXT IrpContext
510 @@ -1272,12 +1280,14 @@
511 );
512
513 VOID
514 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
515 CdPrePostIrp (
516 IN PIRP_CONTEXT IrpContext,
517 IN PIRP Irp
518 );
519
520 VOID
521 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
522 CdOplockComplete (
523 IN PIRP_CONTEXT IrpContext,
524 IN PIRP Irp
525 @@ -1293,7 +1303,9 @@
526 // otherwise
527 //
528
529 -//#ifndef BooleanFlagOn
530 +/* ReactOS Change: GCC doesn't understand the comment style */
531 +/*
532 + //#ifndef BooleanFlagOn
533 //#define BooleanFlagOn(F,SF) ( \
534 // (BOOLEAN)(((F) & (SF)) != 0) \
535 //)
536 @@ -1310,6 +1322,7 @@
537 // (Flags) &= ~(SingleFlag); \
538 //}
539 //#endif
540 +*/
541
542 //
543 // CAST
544 @@ -1598,6 +1611,7 @@
545 //
546
547 BOOLEAN
548 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
549 CdFastQueryBasicInfo (
550 IN PFILE_OBJECT FileObject,
551 IN BOOLEAN Wait,
552 @@ -1607,6 +1621,7 @@
553 );
554
555 BOOLEAN
556 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
557 CdFastQueryStdInfo (
558 IN PFILE_OBJECT FileObject,
559 IN BOOLEAN Wait,
560 @@ -1616,6 +1631,7 @@
561 );
562
563 BOOLEAN
564 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
565 CdFastLock (
566 IN PFILE_OBJECT FileObject,
567 IN PLARGE_INTEGER FileOffset,
568 @@ -1629,6 +1645,7 @@
569 );
570
571 BOOLEAN
572 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
573 CdFastUnlockSingle (
574 IN PFILE_OBJECT FileObject,
575 IN PLARGE_INTEGER FileOffset,
576 @@ -1640,6 +1657,7 @@
577 );
578
579 BOOLEAN
580 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
581 CdFastUnlockAll (
582 IN PFILE_OBJECT FileObject,
583 PEPROCESS ProcessId,
584 @@ -1648,6 +1666,7 @@
585 );
586
587 BOOLEAN
588 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
589 CdFastUnlockAllByKey (
590 IN PFILE_OBJECT FileObject,
591 PVOID ProcessId,
592 @@ -1657,6 +1676,7 @@
593 );
594
595 BOOLEAN
596 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
597 CdFastIoCheckIfPossible (
598 IN PFILE_OBJECT FileObject,
599 IN PLARGE_INTEGER FileOffset,
600 @@ -1669,6 +1689,7 @@
601 );
602
603 BOOLEAN
604 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
605 CdFastQueryNetworkInfo (
606 IN PFILE_OBJECT FileObject,
607 IN BOOLEAN Wait,
608 @@ -1862,17 +1883,26 @@
609 //
610 // #define try_return(S) { S; goto try_exit; }
611 //
612 +/* ReactOS Change: Remove SEH */
613 +#define try
614 +#define leave goto exitLabel;
615 +#define finally if (0) goto exitLabel; exitLabel:
616 +#define except(x) while (0)
617 +#define GetExceptionCode() 0
618 +#define AbnormalTermination() 0
619
620 -#define try_return(S) { S; goto try_exit; }
621 -#define try_leave(S) { S; leave; }
622 +#define try_return(S) { goto try_exit; }
623 +#define try_leave(S) { leave; }
624
625 +
626 //
627 // Encapsulate safe pool freeing
628 //
629 +/* ReactOS Change: GCC "passing argument 1 of CdFreePool from incompatible pointer type" */
630 +#define CdFreePool(x) _CdFreePool((PVOID*)(x))
631
632 -INLINE
633 -VOID
634 -CdFreePool(
635 +/* ReactOS Change: "LD multiple definition of `_CdOperationIsDasdOpen'" */
636 +static inline void _CdFreePool(
637 IN PVOID *Pool
638 )
639 {
640 Index: drivers/filesystems/cdfs_new/resrcsup.c
641 ===================================================================
642 --- drivers/filesystems/cdfs_new/resrcsup.c (revision 34615)
643 +++ drivers/filesystems/cdfs_new/resrcsup.c (working copy)
644 @@ -123,6 +123,7 @@
645
646 \f
647 BOOLEAN
648 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
649 CdAcquireForCache (
650 IN PFCB Fcb,
651 IN BOOLEAN Wait
652 @@ -159,6 +160,7 @@
653
654 \f
655 VOID
656 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
657 CdReleaseFromCache (
658 IN PFCB Fcb
659 )
660 @@ -193,6 +195,7 @@
661
662 \f
663 BOOLEAN
664 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
665 CdNoopAcquire (
666 IN PVOID Fcb,
667 IN BOOLEAN Wait
668 @@ -224,6 +227,7 @@
669
670 \f
671 VOID
672 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
673 CdNoopRelease (
674 IN PVOID Fcb
675 )
676 @@ -251,6 +255,7 @@
677
678 \f
679 VOID
680 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
681 CdAcquireForCreateSection (
682 IN PFILE_OBJECT FileObject
683 )
684 @@ -298,6 +303,7 @@
685
686 \f
687 VOID
688 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
689 CdReleaseForCreateSection (
690 IN PFILE_OBJECT FileObject
691 )
692 Index: drivers/filesystems/cdfs_new/namesup.c
693 ===================================================================
694 --- drivers/filesystems/cdfs_new/namesup.c (revision 34615)
695 +++ drivers/filesystems/cdfs_new/namesup.c (working copy)
696 @@ -206,7 +206,7 @@
697
698 {
699 NTSTATUS Status;
700 - PVOID NewBuffer;
701 + //PVOID NewBuffer; /* ReactOS Change: GCC Uninitialized variable */
702
703 PAGED_CODE();
704
705 Index: drivers/filesystems/cdfs_new/cdinit.c
706 ===================================================================
707 --- drivers/filesystems/cdfs_new/cdinit.c (revision 34615)
708 +++ drivers/filesystems/cdfs_new/cdinit.c (working copy)
709 @@ -22,12 +22,14 @@
710 #define BugCheckFileId (CDFS_BUG_CHECK_CDINIT)
711
712 NTSTATUS
713 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
714 DriverEntry(
715 IN PDRIVER_OBJECT DriverObject,
716 IN PUNICODE_STRING RegistryPath
717 );
718
719 VOID
720 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
721 CdUnload(
722 IN PDRIVER_OBJECT DriverObject
723 );
724 @@ -39,6 +41,7 @@
725 );
726
727 NTSTATUS
728 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
729 CdShutdown (
730 IN PDEVICE_OBJECT DeviceObject,
731 IN PIRP Irp
732 @@ -57,6 +60,7 @@
733 //
734
735 NTSTATUS
736 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
737 DriverEntry(
738 IN PDRIVER_OBJECT DriverObject,
739 IN PUNICODE_STRING RegistryPath
740 @@ -169,6 +173,7 @@
741 }
742
743 NTSTATUS
744 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
745 CdShutdown (
746 IN PDEVICE_OBJECT DeviceObject,
747 IN PIRP Irp
748 @@ -200,6 +205,7 @@
749
750
751 VOID
752 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
753 CdUnload(
754 IN PDRIVER_OBJECT DriverObject
755 )
756 @@ -310,10 +316,10 @@
757 // Initialize the cache manager callback routines
758 //
759
760 - CdData.CacheManagerCallbacks.AcquireForLazyWrite = &CdAcquireForCache;
761 - CdData.CacheManagerCallbacks.ReleaseFromLazyWrite = &CdReleaseFromCache;
762 - CdData.CacheManagerCallbacks.AcquireForReadAhead = &CdAcquireForCache;
763 - CdData.CacheManagerCallbacks.ReleaseFromReadAhead = &CdReleaseFromCache;
764 + CdData.CacheManagerCallbacks.AcquireForLazyWrite = (PVOID)&CdAcquireForCache;/* ReactOS Change: GCC "assignment from incompatible pointer type" */
765 + CdData.CacheManagerCallbacks.ReleaseFromLazyWrite = (PVOID)&CdReleaseFromCache;/* ReactOS Change: GCC "assignment from incompatible pointer type" */
766 + CdData.CacheManagerCallbacks.AcquireForReadAhead = (PVOID)&CdAcquireForCache;/* ReactOS Change: GCC "assignment from incompatible pointer type" */
767 + CdData.CacheManagerCallbacks.ReleaseFromReadAhead = (PVOID)&CdReleaseFromCache;/* ReactOS Change: GCC "assignment from incompatible pointer type" */
768
769 CdData.CacheManagerVolumeCallbacks.AcquireForLazyWrite = &CdNoopAcquire;
770 CdData.CacheManagerVolumeCallbacks.ReleaseFromLazyWrite = &CdNoopRelease;
771 Index: drivers/filesystems/cdfs_new/cdstruc.h
772 ===================================================================
773 --- drivers/filesystems/cdfs_new/cdstruc.h (revision 34615)
774 +++ drivers/filesystems/cdfs_new/cdstruc.h (working copy)
775 @@ -504,8 +504,8 @@
776 //
777
778 ULONG VcbCleanup;
779 - ULONG VcbReference;
780 - ULONG VcbUserReference;
781 + LONG VcbReference; /* ReactOS Change: GCC 'pointer targets in passing argument 1 of 'InterlockedXxx' differ in signedness */
782 + LONG VcbUserReference; /* ReactOS Change: GCC 'pointer targets in passing argument 1 of 'InterlockedXxx' differ in signedness */
783
784 //
785 // Fcb for the Volume Dasd file, root directory and the Path Table.
786 @@ -655,7 +655,7 @@
787 // executed later.
788 //
789
790 - ULONG PostedRequestCount;
791 + LONG PostedRequestCount; /* ReactOS Change: GCC "pointer targets in passing argument 1 of 'InterlockedDecrement' differ in signedness" */
792
793 //
794 // The following field indicates the number of IRP's waiting
795 @@ -878,7 +878,7 @@
796 //
797
798 ULONG FcbCleanup;
799 - ULONG FcbReference;
800 + LONG FcbReference; /* ReactOS Change: GCC 'pointer targets in passing argument 1 of 'InterlockedXxx' differ in signedness */
801 ULONG FcbUserReference;
802
803 //
804 Index: drivers/filesystems/cdfs_new/lockctrl.c
805 ===================================================================
806 --- drivers/filesystems/cdfs_new/lockctrl.c (revision 34615)
807 +++ drivers/filesystems/cdfs_new/lockctrl.c (working copy)
808 @@ -89,7 +89,7 @@
809 Status = FsRtlCheckOplock( &Fcb->Oplock,
810 Irp,
811 IrpContext,
812 - CdOplockComplete,
813 + (PVOID)CdOplockComplete,/* ReactOS Change: GCC "assignment from incompatible pointer type" */
814 NULL );
815
816 //
817 @@ -138,6 +138,7 @@
818
819 \f
820 BOOLEAN
821 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
822 CdFastLock (
823 IN PFILE_OBJECT FileObject,
824 IN PLARGE_INTEGER FileOffset,
825 @@ -246,8 +247,8 @@
826 //
827 // Now call the FsRtl routine to perform the lock request.
828 //
829 -
830 - if (Results = FsRtlFastLock( Fcb->FileLock,
831 + /* ReactOS Change: GCC "suggest parentheses around assignment used as truth value" */
832 + if ((Results = FsRtlFastLock( Fcb->FileLock,
833 FileObject,
834 FileOffset,
835 Length,
836 @@ -257,7 +258,7 @@
837 ExclusiveLock,
838 IoStatus,
839 NULL,
840 - FALSE )) {
841 + FALSE ))) {
842
843 //
844 // Set the flag indicating if Fast I/O is questionable. We
845 @@ -284,6 +285,7 @@
846
847 \f
848 BOOLEAN
849 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
850 CdFastUnlockSingle (
851 IN PFILE_OBJECT FileObject,
852 IN PLARGE_INTEGER FileOffset,
853 @@ -424,6 +426,7 @@
854
855 \f
856 BOOLEAN
857 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
858 CdFastUnlockAll (
859 IN PFILE_OBJECT FileObject,
860 PEPROCESS ProcessId,
861 @@ -546,6 +549,7 @@
862
863 \f
864 BOOLEAN
865 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
866 CdFastUnlockAllByKey (
867 IN PFILE_OBJECT FileObject,
868 PVOID ProcessId,
869 Index: drivers/filesystems/cdfs_new/cleanup.c
870 ===================================================================
871 --- drivers/filesystems/cdfs_new/cleanup.c (revision 34615)
872 +++ drivers/filesystems/cdfs_new/cleanup.c (working copy)
873 @@ -159,7 +159,7 @@
874 // Use a try-finally to facilitate cleanup.
875 //
876
877 - try {
878 + //try { /* ReactOS Change: Manual removal of SEH since macros to hack around it don't allow multiple SEH usage within one function */
879
880 //
881 // Case on the type of open that we are trying to cleanup.
882 @@ -279,7 +279,7 @@
883
884 IoRemoveShareAccess( FileObject, &Fcb->ShareAccess );
885
886 - } finally {
887 + //} finally { /* ReactOS Change: Manual removal of SEH since macros to hack around it don't allow multiple SEH usage within one function */
888
889 CdReleaseFcb( IrpContext, Fcb );
890
891 @@ -287,7 +287,7 @@
892
893 FsRtlNotifyVolumeEvent( FileObject, FSRTL_VOLUME_UNLOCK );
894 }
895 - }
896 + //} /* ReactOS Change: Manual removal of SEH since macros to hack around it don't allow multiple SEH usage within one function */
897
898 //
899 // If appropriate, try to spark teardown by purging the volume. Should
900 Index: drivers/filesystems/cdfs_new/strucsup.c
901 ===================================================================
902 --- drivers/filesystems/cdfs_new/strucsup.c (revision 34615)
903 +++ drivers/filesystems/cdfs_new/strucsup.c (working copy)
904 @@ -438,7 +438,7 @@
905 --*/
906
907 {
908 - ULONG Shift;
909 + //ULONG Shift; /* ReactOS Change: GCC Unused variable */
910 ULONG StartingBlock;
911 ULONG ByteCount;
912
913 Index: drivers/filesystems/cdfs_new/fileinfo.c
914 ===================================================================
915 --- drivers/filesystems/cdfs_new/fileinfo.c (revision 34615)
916 +++ drivers/filesystems/cdfs_new/fileinfo.c (working copy)
917 @@ -460,6 +460,7 @@
918
919 \f
920 BOOLEAN
921 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
922 CdFastQueryBasicInfo (
923 IN PFILE_OBJECT FileObject,
924 IN BOOLEAN Wait,
925 @@ -577,6 +578,7 @@
926
927 \f
928 BOOLEAN
929 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
930 CdFastQueryStdInfo (
931 IN PFILE_OBJECT FileObject,
932 IN BOOLEAN Wait,
933 @@ -704,6 +706,7 @@
934
935 \f
936 BOOLEAN
937 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
938 CdFastQueryNetworkInfo (
939 IN PFILE_OBJECT FileObject,
940 IN BOOLEAN Wait,
941 Index: drivers/filesystems/cdfs_new/nodetype.h
942 ===================================================================
943 --- drivers/filesystems/cdfs_new/nodetype.h (revision 34615)
944 +++ drivers/filesystems/cdfs_new/nodetype.h (working copy)
945 @@ -97,6 +97,8 @@
946 #define CDFS_BUG_CHECK_VOLINFO (0x001b0000)
947 #define CDFS_BUG_CHECK_WORKQUE (0x001c0000)
948
949 +/* ReactOS Change: Need to add to reactos.mc */
950 +#define CDFS_FILE_SYSTEM ((ULONG)0x00000026L)
951 #define CdBugCheck(A,B,C) { KeBugCheckEx(CDFS_FILE_SYSTEM, BugCheckFileId | __LINE__, A, B, C ); }
952
953 #endif // _NODETYPE_
954 Index: drivers/filesystems/cdfs_new/fsctrl.c
955 ===================================================================
956 --- drivers/filesystems/cdfs_new/fsctrl.c (revision 34615)
957 +++ drivers/filesystems/cdfs_new/fsctrl.c (working copy)
958 @@ -82,7 +82,8 @@
959 IN PIRP_CONTEXT IrpContext,
960 IN PIRP Irp
961 );
962 -
963 +
964 +NTSTATUS /* ReactOS Change: Function did not have a type??? */
965 CdIsVolumeDirty (
966 IN PIRP_CONTEXT IrpContext,
967 IN PIRP Irp
968 @@ -918,7 +919,7 @@
969
970 if (CdIsRemount( IrpContext, Vcb, &OldVcb )) {
971
972 - KIRQL SavedIrql;
973 + //KIRQL SavedIrql; /* ReactOS Change: GCC Unused variable */
974
975 ASSERT( NULL != OldVcb->SwapVpb );
976
977 @@ -1374,7 +1375,7 @@
978 // Compute the length of the volume name
979 //
980
981 - AnsiLabel.Buffer = CdRvdVolId( RawIsoVd, Vcb->VcbState );
982 + AnsiLabel.Buffer = (PCHAR)CdRvdVolId( RawIsoVd, Vcb->VcbState ); /* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
983 AnsiLabel.MaximumLength = AnsiLabel.Length = VOLUME_ID_LENGTH;
984
985 UnicodeLabel.MaximumLength = VOLUME_ID_LENGTH * sizeof( WCHAR );
986 @@ -1401,7 +1402,7 @@
987 } else {
988
989 CdConvertBigToLittleEndian( IrpContext,
990 - CdRvdVolId( RawIsoVd, Vcb->VcbState ),
991 + (PCHAR)CdRvdVolId( RawIsoVd, Vcb->VcbState ),/* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
992 VOLUME_ID_LENGTH,
993 (PCHAR) VolumeLabel );
994
995 @@ -2005,7 +2006,7 @@
996 //
997 // Local support routine
998 //
999 -
1000 +NTSTATUS /* ReactOS Change: Function did not have a type??? */
1001 CdIsVolumeDirty (
1002 IN PIRP_CONTEXT IrpContext,
1003 IN PIRP Irp
1004 @@ -2294,9 +2295,9 @@
1005
1006 Status = ObReferenceObjectByHandle( Handle,
1007 0,
1008 - *IoFileObjectType,
1009 + IoFileObjectType, /* ReactOS Change: GCC/LD Incompatibily with exported kernel data */
1010 KernelMode,
1011 - &FileToMarkBad,
1012 + (PVOID*)&FileToMarkBad, /* ReactOS Change: GCC "passing argument 5 of 'ObReferenceObjectByHandle' from incompatible pointer type" */
1013 NULL );
1014
1015 if (!NT_SUCCESS(Status)) {
1016 @@ -2642,8 +2643,8 @@
1017 // The track address is BigEndian, we need to flip the bytes.
1018 //
1019
1020 - Source = (PUCHAR) &CdromToc->TrackData[0].Address[3];
1021 - Dest = (PUCHAR) &BaseSector;
1022 + Source = (PCHAR) &CdromToc->TrackData[0].Address[3];/* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
1023 + Dest = (PCHAR) &BaseSector; /* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
1024
1025 do {
1026
1027 @@ -3118,7 +3119,7 @@
1028 if (NT_SUCCESS( RtlOemToUnicodeN( &Vcb->Vpb->VolumeLabel[0],
1029 MAXIMUM_VOLUME_LABEL_LENGTH,
1030 &Length,
1031 - CdRvdVolId( RawIsoVd, Vcb->VcbState ),
1032 + (PCHAR)CdRvdVolId( RawIsoVd, Vcb->VcbState ),/* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
1033 VOLUME_ID_LENGTH ))) {
1034
1035 Vcb->Vpb->VolumeLabelLength = (USHORT) Length;
1036 @@ -3131,7 +3132,7 @@
1037 } else {
1038
1039 CdConvertBigToLittleEndian( IrpContext,
1040 - CdRvdVolId( RawIsoVd, Vcb->VcbState ),
1041 + (PCHAR)CdRvdVolId( RawIsoVd, Vcb->VcbState ),/* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
1042 VOLUME_ID_LENGTH,
1043 (PCHAR) Vcb->Vpb->VolumeLabel );
1044
1045 Index: drivers/filesystems/cdfs_new/workque.c
1046 ===================================================================
1047 --- drivers/filesystems/cdfs_new/workque.c (revision 34615)
1048 +++ drivers/filesystems/cdfs_new/workque.c (working copy)
1049 @@ -97,6 +97,7 @@
1050
1051 \f
1052 VOID
1053 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
1054 CdPrePostIrp (
1055 IN PIRP_CONTEXT IrpContext,
1056 IN PIRP Irp
1057 @@ -209,6 +210,7 @@
1058
1059 \f
1060 VOID
1061 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
1062 CdOplockComplete (
1063 IN PIRP_CONTEXT IrpContext,
1064 IN PIRP Irp
1065 @@ -386,7 +388,7 @@
1066 //
1067
1068 ExInitializeWorkItem( &IrpContext->WorkQueueItem,
1069 - CdFspDispatch,
1070 + (PVOID)CdFspDispatch,/* ReactOS Change: GCC "assignment from incompatible pointer type" */
1071 IrpContext );
1072
1073 ExQueueWorkItem( &IrpContext->WorkQueueItem, CriticalWorkQueue );