2025-04-27 07:49:33 -04:00

87 lines
1.4 KiB
C

//--- write.h
NTSTATUS
SerialWrite(
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
NTSTATUS
SerialStartWrite(
IN PSERIAL_DEVICE_EXTENSION Extension
);
VOID
SerialGetNextWrite(
IN PIRP *CurrentOpIrp,
IN PLIST_ENTRY QueueToProcess,
IN PIRP *NewIrp,
IN BOOLEAN CompleteCurrent,
PSERIAL_DEVICE_EXTENSION Extension
);
VOID
SerialCompleteWrite(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
BOOLEAN
SerialGiveWriteToIsr(
IN PVOID Context
);
VOID
SerialCancelCurrentWrite(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
VOID
SerialWriteTimeout(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
BOOLEAN
SerialGrabWriteFromIsr(
IN PVOID Context
);
BOOLEAN
SerialGrabXoffFromIsr(
IN PVOID Context
);
VOID
SerialCompleteXoff(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
VOID
SerialTimeoutXoff(
IN PKDPC Dpc,
IN PVOID DeferredContext,
IN PVOID SystemContext1,
IN PVOID SystemContext2
);
VOID
SerialCancelCurrentXoff(
PDEVICE_OBJECT DeviceObject,
PIRP Irp
);
BOOLEAN
SerialGiveXoffToIsr(
IN PVOID Context
);