Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _IOCTL
#define _IOCTL
//
// Create a list of the ports we want to keep timestamps for
// 5003 is no longer all we do.
//
typedef struct _PORT_ENTRY { LIST_ENTRY Linkage; USHORT Port; PFILE_OBJECT FileObject; } PORT_ENTRY, *PPORT_ENTRY;
LIST_ENTRY PortList;
NDIS_SPIN_LOCK PortSpinLock;
// Prototypes
NTSTATUS IoctlInitialize( PDRIVER_OBJECT DriverObject );
NTSTATUS IoctlHandler( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
VOID IoctlCleanup();
PPORT_ENTRY CheckInPortList (USHORT Port );
VOID RemoveAllPortsForFileObject( PFILE_OBJECT FileObject );
// Other vars.
PDEVICE_OBJECT TimestmpDeviceObject; #pragma NDIS_PAGEABLE_FUNCTION(IoctlHandler)
//
// Define the ioctls for adding and removing ports.
#define CTRL_CODE(function, method, access) \
CTL_CODE(FILE_DEVICE_NETWORK, function, method, access)
#define IOCTL_TIMESTMP_REGISTER_PORT CTRL_CODE( 0x847, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define IOCTL_TIMESTMP_DEREGISTER_PORT CTRL_CODE( 0x848, METHOD_BUFFERED, FILE_WRITE_ACCESS)
UNICODE_STRING TimestmpDriverName; UNICODE_STRING symbolicLinkName; DRIVER_OBJECT TimestmpDriverObject;
#endif //_IOCTL
|