[CDFS_NEW] Add a hack that allows locking a volume and thus, unmounting it. All that...
[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/cddata.c
273 ===================================================================
274 --- drivers/filesystems/cdfs_new/cddata.c (revision 34615)
275 +++ drivers/filesystems/cdfs_new/cddata.c (working copy)
276 @@ -417,7 +417,6 @@
277 return Status;
278 }
279
280 -
281 #ifdef CD_SANITY
282
283 VOID
284 @@ -481,7 +480,6 @@
285
286 #endif
287
288 -
289 LONG
290 CdExceptionFilter (
291 IN PIRP_CONTEXT IrpContext,
292 @@ -1006,6 +1004,7 @@
293
294 \f
295 BOOLEAN
296 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
297 CdFastIoCheckIfPossible (
298 IN PFILE_OBJECT FileObject,
299 IN PLARGE_INTEGER FileOffset,
300 Index: drivers/filesystems/cdfs_new/allocsup.c
301 ===================================================================
302 --- drivers/filesystems/cdfs_new/allocsup.c (revision 34615)
303 +++ drivers/filesystems/cdfs_new/allocsup.c (working copy)
304 @@ -128,7 +128,7 @@
305 {
306 BOOLEAN FirstPass = TRUE;
307 ULONG McbEntryOffset;
308 - PFCB ParentFcb;
309 + PFCB ParentFcb = NULL; /* ReactOS Change: GCC uninitialized variable bug */
310 BOOLEAN CleanupParent = FALSE;
311
312 BOOLEAN UnlockFcb = FALSE;
313 Index: drivers/filesystems/cdfs_new/verfysup.c
314 ===================================================================
315 --- drivers/filesystems/cdfs_new/verfysup.c (revision 34615)
316 +++ drivers/filesystems/cdfs_new/verfysup.c (working copy)
317 @@ -431,7 +431,7 @@
318 ULONG MediaChangeCount = 0;
319 BOOLEAN ForceVerify = FALSE;
320 BOOLEAN DevMarkedForVerify;
321 - KIRQL SavedIrql;
322 + //KIRQL SavedIrql; /* ReactOS Change: GCC Unused variable */
323
324 PAGED_CODE();
325
326 @@ -581,6 +581,9 @@
327
328 CdRaiseStatus( IrpContext, STATUS_FILE_INVALID );
329 break;
330 +
331 + /* ReactOS Change: GCC "enumeration value not handled in switch" */
332 + default: break;
333 }
334 }
335
336 @@ -613,7 +616,7 @@
337 --*/
338
339 {
340 - NTSTATUS Status = STATUS_SUCCESS;
341 + //NTSTATUS Status = STATUS_SUCCESS; /* ReactOS Change: GCC Unused variable */
342 PVCB Vcb = Fcb->Vcb;
343 PDEVICE_OBJECT RealDevice = Vcb->Vpb->RealDevice;
344 PIRP Irp;
345 Index: drivers/filesystems/cdfs_new/filobsup.c
346 ===================================================================
347 --- drivers/filesystems/cdfs_new/filobsup.c (revision 34615)
348 +++ drivers/filesystems/cdfs_new/filobsup.c (working copy)
349 @@ -105,7 +105,7 @@
350 FileObject->FsContext = Fcb;
351 FileObject->FsContext2 = Ccb;
352
353 - SetFlag( ((ULONG_PTR) FileObject->FsContext2), TypeOfOpen );
354 + SetFlag( (*(PULONG_PTR)&FileObject->FsContext2), TypeOfOpen ); /* ReactOS Change: GCC "invalid lvalue in assignment" */
355
356 //
357 // Set the Vpb field in the file object.
358 @@ -176,7 +176,7 @@
359 *Fcb = FileObject->FsContext;
360 *Ccb = FileObject->FsContext2;
361
362 - ClearFlag( (ULONG_PTR) *Ccb, TYPE_OF_OPEN_MASK );
363 + ClearFlag( (*(PULONG_PTR)Ccb), TYPE_OF_OPEN_MASK ); /* ReactOS Change: GCC "invalid lvalue in assignment" */
364 }
365
366 //
367 Index: drivers/filesystems/cdfs_new/pathsup.c
368 ===================================================================
369 --- drivers/filesystems/cdfs_new/pathsup.c (revision 34615)
370 +++ drivers/filesystems/cdfs_new/pathsup.c (working copy)
371 @@ -764,7 +764,7 @@
372
373 PathEntry->PathEntryLength = WordAlign( PathEntry->PathEntryLength );
374
375 - PathEntry->DirName = RawPathEntry->DirId;
376 + PathEntry->DirName = (PCHAR)RawPathEntry->DirId; /* ReactOS Change: GCC "assignment makes pointer from integer without a cast" */
377
378 return TRUE;
379 }
380 Index: drivers/filesystems/cdfs_new/cdprocs.h
381 ===================================================================
382 --- drivers/filesystems/cdfs_new/cdprocs.h (revision 34615)
383 +++ drivers/filesystems/cdfs_new/cdprocs.h (working copy)
384 @@ -902,33 +904,39 @@
385 }
386
387 BOOLEAN
388 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
389 CdNoopAcquire (
390 IN PVOID Fcb,
391 IN BOOLEAN Wait
392 );
393
394 VOID
395 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
396 CdNoopRelease (
397 IN PVOID Fcb
398 );
399
400 BOOLEAN
401 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
402 CdAcquireForCache (
403 IN PFCB Fcb,
404 IN BOOLEAN Wait
405 );
406
407 VOID
408 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
409 CdReleaseFromCache (
410 IN PFCB Fcb
411 );
412
413 VOID
414 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
415 CdAcquireForCreateSection (
416 IN PFILE_OBJECT FileObject
417 );
418
419 VOID
420 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
421 CdReleaseForCreateSection (
422 IN PFILE_OBJECT FileObject
423 );
424 @@ -1184,8 +1192,8 @@
425 // Verification support routines. Contained in verfysup.c
426 //
427
428 -
429 -INLINE
430 +/* ReactOS Change: "LD multiple definition of `_CdOperationIsDasdOpen'" */
431 +static inline
432 BOOLEAN
433 CdOperationIsDasdOpen(
434 IN PIRP_CONTEXT IrpContext
435 @@ -1272,12 +1280,14 @@
436 );
437
438 VOID
439 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
440 CdPrePostIrp (
441 IN PIRP_CONTEXT IrpContext,
442 IN PIRP Irp
443 );
444
445 VOID
446 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
447 CdOplockComplete (
448 IN PIRP_CONTEXT IrpContext,
449 IN PIRP Irp
450 @@ -1293,7 +1303,9 @@
451 // otherwise
452 //
453
454 -//#ifndef BooleanFlagOn
455 +/* ReactOS Change: GCC doesn't understand the comment style */
456 +/*
457 + //#ifndef BooleanFlagOn
458 //#define BooleanFlagOn(F,SF) ( \
459 // (BOOLEAN)(((F) & (SF)) != 0) \
460 //)
461 @@ -1310,6 +1322,7 @@
462 // (Flags) &= ~(SingleFlag); \
463 //}
464 //#endif
465 +*/
466
467 //
468 // CAST
469 @@ -1598,6 +1611,7 @@
470 //
471
472 BOOLEAN
473 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
474 CdFastQueryBasicInfo (
475 IN PFILE_OBJECT FileObject,
476 IN BOOLEAN Wait,
477 @@ -1607,6 +1621,7 @@
478 );
479
480 BOOLEAN
481 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
482 CdFastQueryStdInfo (
483 IN PFILE_OBJECT FileObject,
484 IN BOOLEAN Wait,
485 @@ -1616,6 +1631,7 @@
486 );
487
488 BOOLEAN
489 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
490 CdFastLock (
491 IN PFILE_OBJECT FileObject,
492 IN PLARGE_INTEGER FileOffset,
493 @@ -1629,6 +1645,7 @@
494 );
495
496 BOOLEAN
497 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
498 CdFastUnlockSingle (
499 IN PFILE_OBJECT FileObject,
500 IN PLARGE_INTEGER FileOffset,
501 @@ -1640,6 +1657,7 @@
502 );
503
504 BOOLEAN
505 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
506 CdFastUnlockAll (
507 IN PFILE_OBJECT FileObject,
508 PEPROCESS ProcessId,
509 @@ -1648,6 +1666,7 @@
510 );
511
512 BOOLEAN
513 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
514 CdFastUnlockAllByKey (
515 IN PFILE_OBJECT FileObject,
516 PVOID ProcessId,
517 @@ -1657,6 +1676,7 @@
518 );
519
520 BOOLEAN
521 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
522 CdFastIoCheckIfPossible (
523 IN PFILE_OBJECT FileObject,
524 IN PLARGE_INTEGER FileOffset,
525 @@ -1669,6 +1689,7 @@
526 );
527
528 BOOLEAN
529 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
530 CdFastQueryNetworkInfo (
531 IN PFILE_OBJECT FileObject,
532 IN BOOLEAN Wait,
533 @@ -1862,17 +1883,26 @@
534 //
535 // #define try_return(S) { S; goto try_exit; }
536 //
537 +/* ReactOS Change: Remove SEH */
538 +#define try
539 +#define leave goto exitLabel;
540 +#define finally if (0) goto exitLabel; exitLabel:
541 +#define except(x) while (0)
542 +#define GetExceptionCode() 0
543 +#define AbnormalTermination() 0
544
545 #define try_return(S) { S; goto try_exit; }
546 #define try_leave(S) { S; leave; }
547
548 +
549 //
550 // Encapsulate safe pool freeing
551 //
552 +/* ReactOS Change: GCC "passing argument 1 of CdFreePool from incompatible pointer type" */
553 +#define CdFreePool(x) _CdFreePool((PVOID*)(x))
554
555 -INLINE
556 -VOID
557 -CdFreePool(
558 +/* ReactOS Change: "LD multiple definition of `_CdOperationIsDasdOpen'" */
559 +static inline void _CdFreePool(
560 IN PVOID *Pool
561 )
562 {
563 Index: drivers/filesystems/cdfs_new/resrcsup.c
564 ===================================================================
565 --- drivers/filesystems/cdfs_new/resrcsup.c (revision 34615)
566 +++ drivers/filesystems/cdfs_new/resrcsup.c (working copy)
567 @@ -123,6 +123,7 @@
568
569 \f
570 BOOLEAN
571 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
572 CdAcquireForCache (
573 IN PFCB Fcb,
574 IN BOOLEAN Wait
575 @@ -159,6 +160,7 @@
576
577 \f
578 VOID
579 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
580 CdReleaseFromCache (
581 IN PFCB Fcb
582 )
583 @@ -193,6 +195,7 @@
584
585 \f
586 BOOLEAN
587 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
588 CdNoopAcquire (
589 IN PVOID Fcb,
590 IN BOOLEAN Wait
591 @@ -224,6 +227,7 @@
592
593 \f
594 VOID
595 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
596 CdNoopRelease (
597 IN PVOID Fcb
598 )
599 @@ -251,6 +255,7 @@
600
601 \f
602 VOID
603 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
604 CdAcquireForCreateSection (
605 IN PFILE_OBJECT FileObject
606 )
607 @@ -298,6 +303,7 @@
608
609 \f
610 VOID
611 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
612 CdReleaseForCreateSection (
613 IN PFILE_OBJECT FileObject
614 )
615 Index: drivers/filesystems/cdfs_new/namesup.c
616 ===================================================================
617 --- drivers/filesystems/cdfs_new/namesup.c (revision 34615)
618 +++ drivers/filesystems/cdfs_new/namesup.c (working copy)
619 @@ -206,7 +206,7 @@
620
621 {
622 NTSTATUS Status;
623 - PVOID NewBuffer;
624 + //PVOID NewBuffer; /* ReactOS Change: GCC Uninitialized variable */
625
626 PAGED_CODE();
627
628 Index: drivers/filesystems/cdfs_new/cdinit.c
629 ===================================================================
630 --- drivers/filesystems/cdfs_new/cdinit.c (revision 34615)
631 +++ drivers/filesystems/cdfs_new/cdinit.c (working copy)
632 @@ -22,12 +22,14 @@
633 #define BugCheckFileId (CDFS_BUG_CHECK_CDINIT)
634
635 NTSTATUS
636 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
637 DriverEntry(
638 IN PDRIVER_OBJECT DriverObject,
639 IN PUNICODE_STRING RegistryPath
640 );
641
642 VOID
643 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
644 CdUnload(
645 IN PDRIVER_OBJECT DriverObject
646 );
647 @@ -39,6 +41,7 @@
648 );
649
650 NTSTATUS
651 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
652 CdShutdown (
653 IN PDEVICE_OBJECT DeviceObject,
654 IN PIRP Irp
655 @@ -57,6 +60,7 @@
656 //
657
658 NTSTATUS
659 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
660 DriverEntry(
661 IN PDRIVER_OBJECT DriverObject,
662 IN PUNICODE_STRING RegistryPath
663 @@ -169,6 +173,7 @@
664 }
665
666 NTSTATUS
667 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
668 CdShutdown (
669 IN PDEVICE_OBJECT DeviceObject,
670 IN PIRP Irp
671 @@ -200,6 +205,7 @@
672
673
674 VOID
675 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
676 CdUnload(
677 IN PDRIVER_OBJECT DriverObject
678 )
679 @@ -310,10 +316,10 @@
680 // Initialize the cache manager callback routines
681 //
682
683 - CdData.CacheManagerCallbacks.AcquireForLazyWrite = &CdAcquireForCache;
684 - CdData.CacheManagerCallbacks.ReleaseFromLazyWrite = &CdReleaseFromCache;
685 - CdData.CacheManagerCallbacks.AcquireForReadAhead = &CdAcquireForCache;
686 - CdData.CacheManagerCallbacks.ReleaseFromReadAhead = &CdReleaseFromCache;
687 + CdData.CacheManagerCallbacks.AcquireForLazyWrite = (PVOID)&CdAcquireForCache;/* ReactOS Change: GCC "assignment from incompatible pointer type" */
688 + CdData.CacheManagerCallbacks.ReleaseFromLazyWrite = (PVOID)&CdReleaseFromCache;/* ReactOS Change: GCC "assignment from incompatible pointer type" */
689 + CdData.CacheManagerCallbacks.AcquireForReadAhead = (PVOID)&CdAcquireForCache;/* ReactOS Change: GCC "assignment from incompatible pointer type" */
690 + CdData.CacheManagerCallbacks.ReleaseFromReadAhead = (PVOID)&CdReleaseFromCache;/* ReactOS Change: GCC "assignment from incompatible pointer type" */
691
692 CdData.CacheManagerVolumeCallbacks.AcquireForLazyWrite = &CdNoopAcquire;
693 CdData.CacheManagerVolumeCallbacks.ReleaseFromLazyWrite = &CdNoopRelease;
694 Index: drivers/filesystems/cdfs_new/cdstruc.h
695 ===================================================================
696 --- drivers/filesystems/cdfs_new/cdstruc.h (revision 34615)
697 +++ drivers/filesystems/cdfs_new/cdstruc.h (working copy)
698 @@ -504,8 +504,8 @@
699 //
700
701 ULONG VcbCleanup;
702 - ULONG VcbReference;
703 - ULONG VcbUserReference;
704 + LONG VcbReference; /* ReactOS Change: GCC 'pointer targets in passing argument 1 of 'InterlockedXxx' differ in signedness */
705 + LONG VcbUserReference; /* ReactOS Change: GCC 'pointer targets in passing argument 1 of 'InterlockedXxx' differ in signedness */
706
707 //
708 // Fcb for the Volume Dasd file, root directory and the Path Table.
709 @@ -655,7 +655,7 @@
710 // executed later.
711 //
712
713 - ULONG PostedRequestCount;
714 + LONG PostedRequestCount; /* ReactOS Change: GCC "pointer targets in passing argument 1 of 'InterlockedDecrement' differ in signedness" */
715
716 //
717 // The following field indicates the number of IRP's waiting
718 @@ -878,7 +878,7 @@
719 //
720
721 ULONG FcbCleanup;
722 - ULONG FcbReference;
723 + LONG FcbReference; /* ReactOS Change: GCC 'pointer targets in passing argument 1 of 'InterlockedXxx' differ in signedness */
724 ULONG FcbUserReference;
725
726 //
727 Index: drivers/filesystems/cdfs_new/lockctrl.c
728 ===================================================================
729 --- drivers/filesystems/cdfs_new/lockctrl.c (revision 34615)
730 +++ drivers/filesystems/cdfs_new/lockctrl.c (working copy)
731 @@ -89,7 +89,7 @@
732 Status = FsRtlCheckOplock( &Fcb->Oplock,
733 Irp,
734 IrpContext,
735 - CdOplockComplete,
736 + (PVOID)CdOplockComplete,/* ReactOS Change: GCC "assignment from incompatible pointer type" */
737 NULL );
738
739 //
740 @@ -138,6 +138,7 @@
741
742 \f
743 BOOLEAN
744 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
745 CdFastLock (
746 IN PFILE_OBJECT FileObject,
747 IN PLARGE_INTEGER FileOffset,
748 @@ -246,8 +247,8 @@
749 //
750 // Now call the FsRtl routine to perform the lock request.
751 //
752 -
753 - if (Results = FsRtlFastLock( Fcb->FileLock,
754 + /* ReactOS Change: GCC "suggest parentheses around assignment used as truth value" */
755 + if ((Results = FsRtlFastLock( Fcb->FileLock,
756 FileObject,
757 FileOffset,
758 Length,
759 @@ -257,7 +258,7 @@
760 ExclusiveLock,
761 IoStatus,
762 NULL,
763 - FALSE )) {
764 + FALSE ))) {
765
766 //
767 // Set the flag indicating if Fast I/O is questionable. We
768 @@ -284,6 +285,7 @@
769
770 \f
771 BOOLEAN
772 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
773 CdFastUnlockSingle (
774 IN PFILE_OBJECT FileObject,
775 IN PLARGE_INTEGER FileOffset,
776 @@ -424,6 +426,7 @@
777
778 \f
779 BOOLEAN
780 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
781 CdFastUnlockAll (
782 IN PFILE_OBJECT FileObject,
783 PEPROCESS ProcessId,
784 @@ -546,6 +549,7 @@
785
786 \f
787 BOOLEAN
788 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
789 CdFastUnlockAllByKey (
790 IN PFILE_OBJECT FileObject,
791 PVOID ProcessId,
792 Index: drivers/filesystems/cdfs_new/cleanup.c
793 ===================================================================
794 --- drivers/filesystems/cdfs_new/cleanup.c (revision 34615)
795 +++ drivers/filesystems/cdfs_new/cleanup.c (working copy)
796 @@ -159,7 +159,7 @@
797 // Use a try-finally to facilitate cleanup.
798 //
799
800 - try {
801 + //try { /* ReactOS Change: Manual removal of SEH since macros to hack around it don't allow multiple SEH usage within one function */
802
803 //
804 // Case on the type of open that we are trying to cleanup.
805 @@ -279,7 +279,7 @@
806
807 IoRemoveShareAccess( FileObject, &Fcb->ShareAccess );
808
809 - } finally {
810 + //} finally { /* ReactOS Change: Manual removal of SEH since macros to hack around it don't allow multiple SEH usage within one function */
811
812 CdReleaseFcb( IrpContext, Fcb );
813
814 @@ -287,7 +287,7 @@
815
816 FsRtlNotifyVolumeEvent( FileObject, FSRTL_VOLUME_UNLOCK );
817 }
818 - }
819 + //} /* ReactOS Change: Manual removal of SEH since macros to hack around it don't allow multiple SEH usage within one function */
820
821 //
822 // If appropriate, try to spark teardown by purging the volume. Should
823 Index: drivers/filesystems/cdfs_new/devctrl.c
824 ===================================================================
825 --- drivers/filesystems/cdfs_new/devctrl.c (revision 34615)
826 +++ drivers/filesystems/cdfs_new/devctrl.c (working copy)
827 @@ -27,6 +27,7 @@
828 //
829
830 NTSTATUS
831 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
832 CdDevCtrlCompletionRoutine (
833 IN PDEVICE_OBJECT DeviceObject,
834 IN PIRP Irp,
835 @@ -171,6 +172,7 @@
836 //
837
838 NTSTATUS
839 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
840 CdDevCtrlCompletionRoutine (
841 IN PDEVICE_OBJECT DeviceObject,
842 IN PIRP Irp,
843 Index: drivers/filesystems/cdfs_new/strucsup.c
844 ===================================================================
845 --- drivers/filesystems/cdfs_new/strucsup.c (revision 34615)
846 +++ drivers/filesystems/cdfs_new/strucsup.c (working copy)
847 @@ -438,7 +438,7 @@
848 --*/
849
850 {
851 - ULONG Shift;
852 + //ULONG Shift; /* ReactOS Change: GCC Unused variable */
853 ULONG StartingBlock;
854 ULONG ByteCount;
855
856 Index: drivers/filesystems/cdfs_new/fileinfo.c
857 ===================================================================
858 --- drivers/filesystems/cdfs_new/fileinfo.c (revision 34615)
859 +++ drivers/filesystems/cdfs_new/fileinfo.c (working copy)
860 @@ -460,6 +460,7 @@
861
862 \f
863 BOOLEAN
864 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
865 CdFastQueryBasicInfo (
866 IN PFILE_OBJECT FileObject,
867 IN BOOLEAN Wait,
868 @@ -577,6 +578,7 @@
869
870 \f
871 BOOLEAN
872 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
873 CdFastQueryStdInfo (
874 IN PFILE_OBJECT FileObject,
875 IN BOOLEAN Wait,
876 @@ -704,6 +706,7 @@
877
878 \f
879 BOOLEAN
880 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
881 CdFastQueryNetworkInfo (
882 IN PFILE_OBJECT FileObject,
883 IN BOOLEAN Wait,
884 Index: drivers/filesystems/cdfs_new/fsctrl.c
885 ===================================================================
886 --- drivers/filesystems/cdfs_new/fsctrl.c (revision 34615)
887 +++ drivers/filesystems/cdfs_new/fsctrl.c (working copy)
888 @@ -82,7 +82,8 @@
889 IN PIRP_CONTEXT IrpContext,
890 IN PIRP Irp
891 );
892 -
893 +
894 +NTSTATUS /* ReactOS Change: Function did not have a type??? */
895 CdIsVolumeDirty (
896 IN PIRP_CONTEXT IrpContext,
897 IN PIRP Irp
898 @@ -225,6 +225,16 @@
899 CdReleaseVcb( IrpContext, Vcb );
900
901 Status = CcWaitForCurrentLazyWriterActivity();
902 +#ifdef __REACTOS__
903 + if (Status == STATUS_NOT_IMPLEMENTED)
904 + {
905 + Status = STATUS_SUCCESS;
906 + }
907 + else
908 + {
909 + DbgPrint("CcWaitForCurrentLazyWriterActivity got implemented! Remove hack in %s:%s\n", __FILE__, __LINE__);
910 + }
911 +#endif
912
913 //
914 // This is intentional. If we were able to get the Vcb before, just
915 @@ -918,7 +919,7 @@
916
917 if (CdIsRemount( IrpContext, Vcb, &OldVcb )) {
918
919 - KIRQL SavedIrql;
920 + //KIRQL SavedIrql; /* ReactOS Change: GCC Unused variable */
921
922 ASSERT( NULL != OldVcb->SwapVpb );
923
924 @@ -1374,7 +1375,7 @@
925 // Compute the length of the volume name
926 //
927
928 - AnsiLabel.Buffer = CdRvdVolId( RawIsoVd, Vcb->VcbState );
929 + AnsiLabel.Buffer = (PCHAR)CdRvdVolId( RawIsoVd, Vcb->VcbState ); /* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
930 AnsiLabel.MaximumLength = AnsiLabel.Length = VOLUME_ID_LENGTH;
931
932 UnicodeLabel.MaximumLength = VOLUME_ID_LENGTH * sizeof( WCHAR );
933 @@ -1401,7 +1402,7 @@
934 } else {
935
936 CdConvertBigToLittleEndian( IrpContext,
937 - CdRvdVolId( RawIsoVd, Vcb->VcbState ),
938 + (PCHAR)CdRvdVolId( RawIsoVd, Vcb->VcbState ),/* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
939 VOLUME_ID_LENGTH,
940 (PCHAR) VolumeLabel );
941
942 @@ -2005,7 +2006,7 @@
943 //
944 // Local support routine
945 //
946 -
947 +NTSTATUS /* ReactOS Change: Function did not have a type??? */
948 CdIsVolumeDirty (
949 IN PIRP_CONTEXT IrpContext,
950 IN PIRP Irp
951 @@ -2296,9 +2297,9 @@
952 0,
953 *IoFileObjectType,
954 KernelMode,
955 - &FileToMarkBad,
956 + (PVOID*)&FileToMarkBad, /* ReactOS Change: GCC "passing argument 5 of 'ObReferenceObjectByHandle' from incompatible pointer type" */
957 NULL );
958
959 if (!NT_SUCCESS(Status)) {
960 @@ -2642,8 +2643,8 @@
961 // The track address is BigEndian, we need to flip the bytes.
962 //
963
964 - Source = (PUCHAR) &CdromToc->TrackData[0].Address[3];
965 - Dest = (PUCHAR) &BaseSector;
966 + Source = (PCHAR) &CdromToc->TrackData[0].Address[3];/* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
967 + Dest = (PCHAR) &BaseSector; /* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
968
969 do {
970
971 @@ -3118,7 +3119,7 @@
972 if (NT_SUCCESS( RtlOemToUnicodeN( &Vcb->Vpb->VolumeLabel[0],
973 MAXIMUM_VOLUME_LABEL_LENGTH,
974 &Length,
975 - CdRvdVolId( RawIsoVd, Vcb->VcbState ),
976 + (PCHAR)CdRvdVolId( RawIsoVd, Vcb->VcbState ),/* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
977 VOLUME_ID_LENGTH ))) {
978
979 Vcb->Vpb->VolumeLabelLength = (USHORT) Length;
980 @@ -3131,7 +3132,7 @@
981 } else {
982
983 CdConvertBigToLittleEndian( IrpContext,
984 - CdRvdVolId( RawIsoVd, Vcb->VcbState ),
985 + (PCHAR)CdRvdVolId( RawIsoVd, Vcb->VcbState ),/* ReactOS Change: GCC "pointer targets in assignment differ in signedness" */
986 VOLUME_ID_LENGTH,
987 (PCHAR) Vcb->Vpb->VolumeLabel );
988
989 Index: drivers/filesystems/cdfs_new/pnp.c
990 ===================================================================
991 --- drivers/filesystems/cdfs_new/pnp.c (revision 34615)
992 +++ drivers/filesystems/cdfs_new/pnp.c (working copy)
993 @@ -51,6 +51,7 @@
994 );
995
996 NTSTATUS
997 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
998 CdPnpCompletionRoutine (
999 IN PDEVICE_OBJECT DeviceObject,
1000 IN PIRP Irp,
1001 @@ -774,6 +775,7 @@
1002 //
1003
1004 NTSTATUS
1005 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
1006 CdPnpCompletionRoutine (
1007 IN PDEVICE_OBJECT DeviceObject,
1008 IN PIRP Irp,
1009 Index: drivers/filesystems/cdfs_new/workque.c
1010 ===================================================================
1011 --- drivers/filesystems/cdfs_new/workque.c (revision 34615)
1012 +++ drivers/filesystems/cdfs_new/workque.c (working copy)
1013 @@ -97,6 +97,7 @@
1014
1015 \f
1016 VOID
1017 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
1018 CdPrePostIrp (
1019 IN PIRP_CONTEXT IrpContext,
1020 IN PIRP Irp
1021 @@ -209,6 +210,7 @@
1022
1023 \f
1024 VOID
1025 +NTAPI /* ReactOS Change: GCC Does not support STDCALL by default */
1026 CdOplockComplete (
1027 IN PIRP_CONTEXT IrpContext,
1028 IN PIRP Irp
1029 @@ -386,7 +388,7 @@
1030 //
1031
1032 ExInitializeWorkItem( &IrpContext->WorkQueueItem,
1033 - CdFspDispatch,
1034 + (PVOID)CdFspDispatch,/* ReactOS Change: GCC "assignment from incompatible pointer type" */
1035 IrpContext );
1036
1037 ExQueueWorkItem( &IrpContext->WorkQueueItem, CriticalWorkQueue );