OpenCBM
Data Fields
_ARCH_DEVICE_EXTENSION Struct Reference

#include <arch_cbm_driver.h>

Data Fields

PDEVICE_OBJECT Fdo
 
BOOLEAN IsNT4
 
ULONG HandleEcpEppMyself
 
UNICODE_STRING DeviceName
 
QUEUE IrpQueue
 
PFILE_OBJECT ParallelPortFileObject
 
PDEVICE_OBJECT ParallelPortFdo
 
PPARALLEL_PORT_INFORMATION PortInfo
 
PARALLEL_INTERRUPT_SERVICE_ROUTINE Pisr
 
PARALLEL_INTERRUPT_INFORMATION Pii
 
KEVENT EventWaitForListener
 
BOOLEAN ParallelPortIsLocked
 
BOOLEAN ParallelPortLock
 
BOOLEAN ParallelPortAllocated
 
BOOLEAN ParallelPortModeSet
 
BOOLEAN ParallelPortAllocatedInterrupt
 
BOOLEAN DoNotReleaseBus
 
HANDLE ThreadHandle
 
PKTHREAD Thread
 
BOOLEAN QuitThread
 
KIRQL IecBlockIrqPreviousIrql
 
LONG IecBlockIrqUsageCount
 
LONG CableInitTimer
 

Detailed Description

The device extension for the device

Definition at line 41 of file arch_cbm_driver.h.

Field Documentation

LONG _ARCH_DEVICE_EXTENSION::CableInitTimer

Countdown for the initialization of the parallel port on startup

Definition at line 126 of file arch_cbm_driver.h.

UNICODE_STRING _ARCH_DEVICE_EXTENSION::DeviceName

Pointer to the lower device object *

Todo:
Only for WDM driver PDEVICE_OBJECT LowerDeviceObject;

The name of this device

Definition at line 64 of file arch_cbm_driver.h.

BOOLEAN _ARCH_DEVICE_EXTENSION::DoNotReleaseBus

FLAG: We are not allowed to release and init the bus on initialization or deinitialization, because a TALK without a corresponding UNTALK has been issued.

Definition at line 106 of file arch_cbm_driver.h.

KEVENT _ARCH_DEVICE_EXTENSION::EventWaitForListener

This even is used to wake-up the task inside of wait_for_listener() again

Definition at line 86 of file arch_cbm_driver.h.

PDEVICE_OBJECT _ARCH_DEVICE_EXTENSION::Fdo

Pointer to the functional device object

Definition at line 47 of file arch_cbm_driver.h.

ULONG _ARCH_DEVICE_EXTENSION::HandleEcpEppMyself

!= 0 if ECP/EPP modes are not handled by parport.sys, but by us. This is only allowed if we are running on NT4.

Remarks
The NT4 code uses this internally to remember the type of parallel port (ECP, EPP, SPP, bidir).

Definition at line 57 of file arch_cbm_driver.h.

KIRQL _ARCH_DEVICE_EXTENSION::IecBlockIrqPreviousIrql

Helper for cbmiec_block_irq

Definition at line 118 of file arch_cbm_driver.h.

LONG _ARCH_DEVICE_EXTENSION::IecBlockIrqUsageCount

Helper for cbmiec_block_irq

Definition at line 122 of file arch_cbm_driver.h.

QUEUE _ARCH_DEVICE_EXTENSION::IrpQueue

QUEUE structure which allows us queueing our IRPs

Definition at line 67 of file arch_cbm_driver.h.

BOOLEAN _ARCH_DEVICE_EXTENSION::IsNT4

Are we running on an NT4 system?

Definition at line 50 of file arch_cbm_driver.h.

BOOLEAN _ARCH_DEVICE_EXTENSION::ParallelPortAllocated

FLAG: We already allocated the parallel port

Definition at line 95 of file arch_cbm_driver.h.

BOOLEAN _ARCH_DEVICE_EXTENSION::ParallelPortAllocatedInterrupt

FLAG: The interrupt for the parallel port has been allocated

Definition at line 101 of file arch_cbm_driver.h.

PDEVICE_OBJECT _ARCH_DEVICE_EXTENSION::ParallelPortFdo

The DEVICE_OBJECT of the parallel port driver

Definition at line 73 of file arch_cbm_driver.h.

PFILE_OBJECT _ARCH_DEVICE_EXTENSION::ParallelPortFileObject

The FILE_OBJECT of the parallel port driver

Definition at line 70 of file arch_cbm_driver.h.

BOOLEAN _ARCH_DEVICE_EXTENSION::ParallelPortIsLocked

FLAG: Is the parallel port currently locked?

Definition at line 89 of file arch_cbm_driver.h.

BOOLEAN _ARCH_DEVICE_EXTENSION::ParallelPortLock

FLAG: Lock the parallel port, regardless if the driver is uninstalled.

Definition at line 92 of file arch_cbm_driver.h.

BOOLEAN _ARCH_DEVICE_EXTENSION::ParallelPortModeSet

FLAG: The mode of the parallel port has already been set

Definition at line 98 of file arch_cbm_driver.h.

PARALLEL_INTERRUPT_INFORMATION _ARCH_DEVICE_EXTENSION::Pii

Return value after connection the ISR

Definition at line 82 of file arch_cbm_driver.h.

PARALLEL_INTERRUPT_SERVICE_ROUTINE _ARCH_DEVICE_EXTENSION::Pisr

Info for the ISR routine

Definition at line 79 of file arch_cbm_driver.h.

PPARALLEL_PORT_INFORMATION _ARCH_DEVICE_EXTENSION::PortInfo

Information about the port we are connected to

Definition at line 76 of file arch_cbm_driver.h.

BOOLEAN _ARCH_DEVICE_EXTENSION::QuitThread

Boolean value: Should the running thread quit itself?

Definition at line 115 of file arch_cbm_driver.h.

PKTHREAD _ARCH_DEVICE_EXTENSION::Thread

Pointer to the thread structure

Definition at line 112 of file arch_cbm_driver.h.

HANDLE _ARCH_DEVICE_EXTENSION::ThreadHandle

The thread handle for the worker thread

Definition at line 109 of file arch_cbm_driver.h.


The documentation for this struct was generated from the following file: