Pyrogenesis  trunk
Macros | Typedefs | Functions | Variables
aken.c File Reference
#include <ntddk.h>
#include "aken.h"
#include "intrinsics.h"
Include dependency graph for aken.c:

Macros

#define WIN32_NAME   L"\\DosDevices\\Aken"
 
#define DEVICE_NAME   L"\\Device\\Aken"
 

Typedefs

typedef NTSTATUS(* AkenIoctl) (PVOID buf, ULONG inSize, ULONG *outSize)
 

Functions

 __drv_dispatchType (IRP_MJ_CREATE)
 
static NTSTATUS AkenMapPhysicalMemory (const DWORD64 physicalAddress64, const DWORD64 numBytes64, DWORD64 *virtualAddress64)
 
static NTSTATUS AkenUnmapPhysicalMemory (const DWORD64 virtualAddress)
 
static NTSTATUS AkenIoctlReadPort (PVOID buf, const ULONG inSize, ULONG *outSize)
 
static NTSTATUS AkenIoctlWritePort (PVOID buf, const ULONG inSize, ULONG *outSize)
 
static NTSTATUS AkenIoctlMap (PVOID buf, const ULONG inSize, ULONG *outSize)
 
static NTSTATUS AkenIoctlUnmap (PVOID buf, const ULONG inSize, ULONG *outSize)
 
static NTSTATUS AkenIoctlReadModelSpecificRegister (PVOID buf, const ULONG inSize, ULONG *outSize)
 
static NTSTATUS AkenIoctlWriteModelSpecificRegister (PVOID buf, const ULONG inSize, ULONG *outSize)
 
static NTSTATUS AkenIoctlReadPerformanceMonitoringCounter (PVOID buf, const ULONG inSize, ULONG *outSize)
 
static NTSTATUS AkenIoctlUnknown (PVOID buf, const ULONG inSize, ULONG *outSize)
 
static AkenIoctl AkenIoctlFromCode (ULONG ioctlCode)
 
static NTSTATUS AkenCreate (IN PDEVICE_OBJECT deviceObject, IN PIRP irp)
 
static NTSTATUS AkenClose (IN PDEVICE_OBJECT deviceObject, IN PIRP irp)
 
static NTSTATUS AkenDeviceControl (IN PDEVICE_OBJECT deviceObject, IN PIRP irp)
 
static VOID AkenUnload (IN PDRIVER_OBJECT driverObject)
 
NTSTATUS DriverEntry (IN PDRIVER_OBJECT driverObject, IN PUNICODE_STRING registryPath)
 

Variables

DRIVER_INITIALIZE DriverEntry
 

Macro Definition Documentation

#define DEVICE_NAME   L"\\Device\\Aken"
#define WIN32_NAME   L"\\DosDevices\\Aken"

Typedef Documentation

typedef NTSTATUS(* AkenIoctl) (PVOID buf, ULONG inSize, ULONG *outSize)

Function Documentation

__drv_dispatchType ( IRP_MJ_CREATE  )
static NTSTATUS AkenClose ( IN PDEVICE_OBJECT  deviceObject,
IN PIRP  irp 
)
static
static NTSTATUS AkenCreate ( IN PDEVICE_OBJECT  deviceObject,
IN PIRP  irp 
)
static
static NTSTATUS AkenDeviceControl ( IN PDEVICE_OBJECT  deviceObject,
IN PIRP  irp 
)
static
static AkenIoctl AkenIoctlFromCode ( ULONG  ioctlCode)
static
static NTSTATUS AkenIoctlMap ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static
static NTSTATUS AkenIoctlReadModelSpecificRegister ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static
static NTSTATUS AkenIoctlReadPerformanceMonitoringCounter ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static
static NTSTATUS AkenIoctlReadPort ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static
static NTSTATUS AkenIoctlUnknown ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static
static NTSTATUS AkenIoctlUnmap ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static
static NTSTATUS AkenIoctlWriteModelSpecificRegister ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static
static NTSTATUS AkenIoctlWritePort ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static
static NTSTATUS AkenMapPhysicalMemory ( const DWORD64  physicalAddress64,
const DWORD64  numBytes64,
DWORD64 *  virtualAddress64 
)
static
static VOID AkenUnload ( IN PDRIVER_OBJECT  driverObject)
static
static NTSTATUS AkenUnmapPhysicalMemory ( const DWORD64  virtualAddress)
static
NTSTATUS DriverEntry ( IN PDRIVER_OBJECT  driverObject,
IN PUNICODE_STRING  registryPath 
)

Variable Documentation

DRIVER_INITIALIZE DriverEntry