Use only 80 character wide lines in the comments.
Modified: trunk/reactos/include/ddk/csq.h

Modified: trunk/reactos/include/ddk/csq.h
--- trunk/reactos/include/ddk/csq.h	2005-02-06 07:56:45 UTC (rev 13430)
+++ trunk/reactos/include/ddk/csq.h	2005-02-06 10:01:07 UTC (rev 13431)
@@ -9,34 +9,37 @@
  *
  * BACKGROUND
  *
- * IRP queuing is a royal pain in the butt, due to the fact that there are tons of
- * built-in race conditions.  IRP handling is difficult in general, but the cancel
- * logic has been particularly complicated due to some subtle races, coupled
- * with the fact that the system interfaces have changed over time.
+ * IRP queuing is a royal pain in the butt, due to the fact that there are
+ * tons of built-in race conditions.  IRP handling is difficult in general,
+ * but the cancel logic has been particularly complicated due to some subtle
+ * races, coupled with the fact that the system interfaces have changed over
+ * time.
  *
- * Walter Oney (2nd. Ed. of Programming the Windows Driver Model) states a common
- * opinion among driver developers when he says that it is foolish to try to roll
- * your own cancel logic.  There are only a very few people who have gotten it
- * right in the past.  He suggests, instead, that you either use his own well-tested
- * code, or use the code in the Microsoft Cancel-Safe Queue Library.
+ * Walter Oney (2nd. Ed. of Programming the Windows Driver Model) states a
+ * common opinion among driver developers when he says that it is foolish
+ * to try to roll your own cancel logic.  There are only a very few people
+ * who have gotten it right in the past.  He suggests, instead, that you
+ * either use his own well-tested code, or use the code in the Microsoft
+ * Cancel-Safe Queue Library.
  *
- * We cannot do either, of course, due to copyright issues.  I have therefore created
- * this clone of the Microsoft library in order to concentrate all of the IRP-queuing
- * bugs in one place.  I'm quite sure there are problems here, so if you are a
- * driver writer, I'd be glad to hear your feedback.
+ * We cannot do either, of course, due to copyright issues.  I have therefore
+ * created this clone of the Microsoft library in order to concentrate all
+ * of the IRP-queuing bugs in one place.  I'm quite sure there are problems
+ * here, so if you are a driver writer, I'd be glad to hear your feedback.
  *
- * Apart from that, please try to use these routines, rather than building your own.
- * If you think you have found a bug, please bring it up with me or on-list, as this
- * is complicated and non-obvious stuff.  Don't just change this and hope for the best!
+ * Apart from that, please try to use these routines, rather than building
+ * your own.  If you think you have found a bug, please bring it up with me
+ * or on-list, as this is complicated and non-obvious stuff.  Don't just
+ * change this and hope for the best!
  *
  * USAGE
  *
  * This library follows exactly the same interface as the Microsoft Cancel-Safe Queue
- * routines (IoCsqXxx()).  As such, the authoritative reference is the current DDK.  
- * There is also a DDK sample called "cancel" that has an example of how to use this
- * code.  I have also provided a sample driver that makes use of this queue. Finally, 
- * please do read the header and the source if you're curious about the inner workings 
- * of these routines.
+ * routines (IoCsqXxx()).  As such, the authoritative reference is the
+ * current DDK.  There is also a DDK sample called "cancel" that has an
+ * example of how to use this code.  I have also provided a sample driver
+ * that makes use of this queue. Finally, please do read the header and the
+ * source if you're curious about the inner workings of these routines.
  */
 
 #ifndef _REACTOS_CSQ_H
@@ -48,10 +51,11 @@
 /*
  * CSQ Callbacks
  *
- * The cancel-safe queue is implemented as a set of IoCsqXxx() OS routines copuled
- * with a set of driver callbacks to handle the basic operations of the queue.  You
- * need to supply one of each of these functions in your own driver.  These routines
- * are also documented in the DDK under CsqXxx().  That is the authoritative documentation.
+ * The cancel-safe queue is implemented as a set of IoCsqXxx() OS routines
+ * copuled with a set of driver callbacks to handle the basic operations of
+ * the queue.  You need to supply one of each of these functions in your own
+ * driver.  These routines are also documented in the DDK under CsqXxx().
+ * That is the authoritative documentation.
  */
 
 /*
@@ -60,11 +64,11 @@
  *
  * Sample implementation: 
  *
-				VOID NTAPI CsqInsertIrp(PIO_CSQ Csq, PIRP Irp)
-				{
-					KdPrint(("Inserting IRP 0x%x into CSQ\n", Irp));
-					InsertTailList(&IrpQueue, &Irp->Tail.Overlay.ListEntry);
-				}
+	VOID NTAPI CsqInsertIrp(PIO_CSQ Csq, PIRP Irp)
+	{
+		KdPrint(("Inserting IRP 0x%x into CSQ\n", Irp));
+		InsertTailList(&IrpQueue, &Irp->Tail.Overlay.ListEntry);
+	}
  *
  */
 typedef VOID (NTAPI *PIO_CSQ_INSERT_IRP) (struct _IO_CSQ *Csq,
@@ -73,16 +77,16 @@
 
 /*
  * Function to insert an IRP into the queue with extended context information.
- * This is useful if you need to be able to de-queue particular IRPs more easily
- * in some cases.
+ * This is useful if you need to be able to de-queue particular IRPs more
+ * easily in some cases.
  *
  * Same deal as above; sample implementation:
  *
-				NTSTATUS NTAPI CsqInsertIrpEx(PIO_CSQ Csq, PIRP Irp, PVOID InsertContext)
-				{
-					CsqInsertIrp(Csq, Irp);
-					return STATUS_PENDING;
-				}
+	NTSTATUS NTAPI CsqInsertIrpEx(PIO_CSQ Csq, PIRP Irp, PVOID InsertContext)
+	{
+		CsqInsertIrp(Csq, Irp);
+		return STATUS_PENDING;
+	}
  *
  */
 typedef NTSTATUS (NTAPI *PIO_CSQ_INSERT_IRP_EX) (struct _IO_CSQ *Csq,
@@ -94,11 +98,11 @@
  *
  * Sample:
  *
-				VOID NTAPI CsqRemoveIrp(PIO_CSQ Csq, PIRP Irp)
-				{
-					KdPrint(("Removing IRP 0x%x from CSQ\n", Irp));
-					RemoveEntryList(&Irp->Tail.Overlay.ListEntry);
-				}
+	VOID NTAPI CsqRemoveIrp(PIO_CSQ Csq, PIRP Irp)
+	{
+		KdPrint(("Removing IRP 0x%x from CSQ\n", Irp));
+		RemoveEntryList(&Irp->Tail.Overlay.ListEntry);
+	}
  *
  */
 typedef VOID (NTAPI *PIO_CSQ_REMOVE_IRP) (struct _IO_CSQ *Csq,
@@ -109,18 +113,18 @@
  *
  * Sample:
  *
-				PIRP NTAPI CsqPeekNextIrp(PIO_CSQ Csq, PIRP Irp, PVOID PeekContext)
-				{
-					KdPrint(("Peeking for next IRP\n"));
+	PIRP NTAPI CsqPeekNextIrp(PIO_CSQ Csq, PIRP Irp, PVOID PeekContext)
+	{
+		KdPrint(("Peeking for next IRP\n"));
 
-					if(Irp)
-						return CONTAINING_RECORD(&Irp->Tail.Overlay.ListEntry.Flink, IRP, Tail.Overlay.ListEntry);
+		if(Irp)
+			return CONTAINING_RECORD(&Irp->Tail.Overlay.ListEntry.Flink, IRP, Tail.Overlay.ListEntry);
 
-					if(IsListEmpty(&IrpQueue))
-						return NULL;
+		if(IsListEmpty(&IrpQueue))
+			return NULL;
 
-					return CONTAINING_RECORD(IrpQueue.Flink, IRP, Tail.Overlay.ListEntry);
-				}
+		return CONTAINING_RECORD(IrpQueue.Flink, IRP, Tail.Overlay.ListEntry);
+	}
  *
  */
 typedef PIRP (NTAPI *PIO_CSQ_PEEK_NEXT_IRP) (struct _IO_CSQ *Csq,
@@ -133,11 +137,11 @@
  *
  * Sample:
  *
-				VOID NTAPI CsqAcquireLock(PIO_CSQ Csq, PKIRQL Irql)
-				{
-					KdPrint(("Acquiring spin lock\n"));
-					KeAcquireSpinLock(&IrpQueueLock, Irql);
-				}
+	VOID NTAPI CsqAcquireLock(PIO_CSQ Csq, PKIRQL Irql)
+	{
+		KdPrint(("Acquiring spin lock\n"));
+		KeAcquireSpinLock(&IrpQueueLock, Irql);
+	}
  *
  */
 typedef VOID (NTAPI *PIO_CSQ_ACQUIRE_LOCK) (struct _IO_CSQ *Csq,
@@ -146,11 +150,11 @@
 /*
  * Unlock the queue:
  *
-				VOID NTAPI CsqReleaseLock(PIO_CSQ Csq, KIRQL Irql)
-				{
-					KdPrint(("Releasing spin lock\n"));
-					KeReleaseSpinLock(&IrpQueueLock, Irql);
-				}
+	VOID NTAPI CsqReleaseLock(PIO_CSQ Csq, KIRQL Irql)
+	{
+		KdPrint(("Releasing spin lock\n"));
+		KeReleaseSpinLock(&IrpQueueLock, Irql);
+	}
  *
  */
 typedef VOID (NTAPI *PIO_CSQ_RELEASE_LOCK) (struct _IO_CSQ *Csq,
@@ -162,13 +166,13 @@
  * 
  * Sample:
  *
-				VOID NTAPI CsqCompleteCancelledIrp(PIO_CSQ Csq, PIRP Irp)
-				{
-					KdPrint(("cancelling irp 0x%x\n", Irp));
-					Irp->IoStatus.Status = STATUS_CANCELLED;
-					Irp->IoStatus.Information = 0;
-					IoCompleteRequest(Irp, IO_NO_INCREMENT);
-				}
+	VOID NTAPI CsqCompleteCancelledIrp(PIO_CSQ Csq, PIRP Irp)
+	{
+		KdPrint(("cancelling irp 0x%x\n", Irp));
+		Irp->IoStatus.Status = STATUS_CANCELLED;
+		Irp->IoStatus.Information = 0;
+		IoCompleteRequest(Irp, IO_NO_INCREMENT);
+	}
  *
  */
 typedef VOID (NTAPI *PIO_CSQ_COMPLETE_CANCELED_IRP) (struct _IO_CSQ *Csq,
@@ -179,8 +183,8 @@
  * STRUCTURES
  *
  * NOTE:  Please do not use these directly.  You will make incompatible code
- * if you do.  Always only use the documented IoCsqXxx() interfaces and you will
- * amass much Good Karma.
+ * if you do.  Always only use the documented IoCsqXxx() interfaces and you
+ * will amass much Good Karma.
  */
 #define IO_TYPE_CSQ_IRP_CONTEXT 1
 #define IO_TYPE_CSQ 2
@@ -213,9 +217,9 @@
 /*
  * CANCEL-SAFE QUEUE DDIs
  *
- * These device driver interfaces are called to make use of the queue.  Again, authoritative
- * documentation for these functions is in the DDK.  The csqtest driver also makes use of 
- * some of them.
+ * These device driver interfaces are called to make use of the queue.  Again,
+ * authoritative documentation for these functions is in the DDK.  The csqtest
+ * driver also makes use of some of them.
  */
 
 
@@ -274,4 +278,3 @@
                               PVOID PeekContext);
 
 #endif /* _REACTOS_CSQ_H */
-