ReactOS 0.4.16-dev-1946-g52006dd
parport.c File Reference
#include "parport.h"
#include <debug.h>
Include dependency graph for parport.c:

Go to the source code of this file.

Macros

#define NDEBUG
 

Functions

static VOID NTAPI DriverUnload (IN PDRIVER_OBJECT DriverObject)
 
static NTSTATUS NTAPI DispatchCreate (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchClose (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchCleanup (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchRead (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchWrite (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchPnp (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
static NTSTATUS NTAPI DispatchPower (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
 
NTSTATUS NTAPI DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegPath)
 

Variables

static DRIVER_UNLOAD DriverUnload
 
static DRIVER_DISPATCH DispatchCreate
 
static DRIVER_DISPATCH DispatchClose
 
static DRIVER_DISPATCH DispatchCleanup
 
static DRIVER_DISPATCH DispatchPnp
 
static DRIVER_DISPATCH DispatchPower
 
DRIVER_INITIALIZE DriverEntry
 

Macro Definition Documentation

◆ NDEBUG

#define NDEBUG

Definition at line 8 of file parport.c.

Function Documentation

◆ DispatchCleanup()

static NTSTATUS NTAPI DispatchCleanup ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 60 of file parport.c.

62{
63 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
65 else
67}
_In_ PIRP Irp
Definition: csq.h:116
NTSTATUS NTAPI FdoCleanup(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:465
NTSTATUS NTAPI PdoCleanup(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:69
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2061

◆ DispatchClose()

static NTSTATUS NTAPI DispatchClose ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 47 of file parport.c.

49{
50 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
51 return FdoClose(DeviceObject, Irp);
52 else
53 return PdoClose(DeviceObject, Irp);
54}
NTSTATUS NTAPI FdoClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:445
NTSTATUS NTAPI PdoClose(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:49

◆ DispatchCreate()

static NTSTATUS NTAPI DispatchCreate ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 34 of file parport.c.

36{
37 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
38 return FdoCreate(DeviceObject, Irp);
39 else
40 return PdoCreate(DeviceObject, Irp);
41}
NTSTATUS NTAPI FdoCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:412
NTSTATUS NTAPI PdoCreate(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:16

◆ DispatchPnp()

static NTSTATUS NTAPI DispatchPnp ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 99 of file parport.c.

101{
102 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
103 return FdoPnp(DeviceObject, Irp);
104 else
105 return PdoPnp(DeviceObject, Irp);
106}
NTSTATUS NTAPI FdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:508
NTSTATUS NTAPI PdoPnp(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:163

◆ DispatchPower()

static NTSTATUS NTAPI DispatchPower ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 112 of file parport.c.

114{
115 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
116 return FdoPower(DeviceObject, Irp);
117 else
118 return PdoPower(DeviceObject, Irp);
119}
NTSTATUS NTAPI FdoPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:610
NTSTATUS NTAPI PdoPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:177

◆ DispatchRead()

static NTSTATUS NTAPI DispatchRead ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 73 of file parport.c.

75{
76 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
77 return FdoRead(DeviceObject, Irp);
78 else
79 return PdoRead(DeviceObject, Irp);
80}
NTSTATUS NTAPI FdoRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:480
NTSTATUS NTAPI PdoRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:83

Referenced by DriverEntry().

◆ DispatchWrite()

static NTSTATUS NTAPI DispatchWrite ( IN PDEVICE_OBJECT  DeviceObject,
IN PIRP  Irp 
)
static

Definition at line 86 of file parport.c.

88{
89 if (((PFDO_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Common.IsFDO)
90 return FdoWrite(DeviceObject, Irp);
91 else
92 return PdoWrite(DeviceObject, Irp);
93}
NTSTATUS NTAPI FdoWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:494
NTSTATUS NTAPI PdoWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: pdo.c:97

Referenced by DriverEntry().

◆ DriverEntry()

NTSTATUS NTAPI DriverEntry ( IN PDRIVER_OBJECT  DriverObject,
IN PUNICODE_STRING  RegPath 
)

Definition at line 124 of file parport.c.

126{
127 ULONG i;
128
129 DPRINT("Parport DriverEntry\n");
130
131 DriverObject->DriverUnload = DriverUnload;
132 DriverObject->DriverExtension->AddDevice = AddDevice;
133
134 for (i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION; i++)
135 DriverObject->MajorFunction[i] = ForwardIrpAndForget;
136
137 DriverObject->MajorFunction[IRP_MJ_CREATE] = DispatchCreate;
138 DriverObject->MajorFunction[IRP_MJ_CLOSE] = DispatchClose;
140 DriverObject->MajorFunction[IRP_MJ_READ] = DispatchRead;
141 DriverObject->MajorFunction[IRP_MJ_WRITE] = DispatchWrite;
142// DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DispatchDeviceControl;
143// DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = DispatchQueryInformation;
144 DriverObject->MajorFunction[IRP_MJ_PNP] = DispatchPnp;
145 DriverObject->MajorFunction[IRP_MJ_POWER] = DispatchPower;
146
147 return STATUS_SUCCESS;
148}
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
DRIVER_DISPATCH ForwardIrpAndForget
Definition: i8042prt.h:341
static DRIVER_DISPATCH DispatchPower
Definition: parport.c:16
static DRIVER_DISPATCH DispatchCreate
Definition: parport.c:12
static DRIVER_DISPATCH DispatchClose
Definition: parport.c:13
static DRIVER_DISPATCH DispatchCleanup
Definition: parport.c:14
static NTSTATUS NTAPI DispatchWrite(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: parport.c:86
static DRIVER_DISPATCH DispatchPnp
Definition: parport.c:15
static DRIVER_UNLOAD DriverUnload
Definition: parport.c:11
static NTSTATUS NTAPI DispatchRead(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: parport.c:73
DRIVER_ADD_DEVICE AddDevice
Definition: parport.h:69
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
#define IRP_MJ_READ
Definition: rdpdr.c:46
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define STATUS_SUCCESS
Definition: shellext.h:65
#define DPRINT
Definition: sndvol32.h:73
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
#define IRP_MJ_POWER
#define IRP_MJ_CLEANUP
#define IRP_MJ_MAXIMUM_FUNCTION

◆ DriverUnload()

static VOID NTAPI DriverUnload ( IN PDRIVER_OBJECT  DriverObject)
static

Definition at line 25 of file parport.c.

26{
27 DPRINT("Parport DriverUnload\n");
28}

Variable Documentation

◆ DispatchCleanup

DRIVER_DISPATCH DispatchCleanup
static

Definition at line 14 of file parport.c.

Referenced by DriverEntry().

◆ DispatchClose

DRIVER_DISPATCH DispatchClose
static

Definition at line 13 of file parport.c.

Referenced by DriverEntry().

◆ DispatchCreate

DRIVER_DISPATCH DispatchCreate
static

Definition at line 12 of file parport.c.

Referenced by DriverEntry().

◆ DispatchPnp

DRIVER_DISPATCH DispatchPnp
static

Definition at line 15 of file parport.c.

Referenced by DriverEntry().

◆ DispatchPower

DRIVER_DISPATCH DispatchPower
static

Definition at line 16 of file parport.c.

Referenced by DriverEntry().

◆ DriverEntry

DRIVER_INITIALIZE DriverEntry

Definition at line 17 of file parport.c.

◆ DriverUnload

DRIVER_UNLOAD DriverUnload
static

Definition at line 11 of file parport.c.

Referenced by DriverEntry().