Leaked source code of windows server 2003
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.
 
 
 
 
 
 

63 lines
1.3 KiB

#ifndef INTERFACE_H
#define INTERFACE_H
typedef
NTSTATUS
(*PHPS_REGISTER_INTERRUPT)(
IN PVOID Context,
IN PKSERVICE_ROUTINE ServiceRoutine,
IN PVOID ServiceContext
);
typedef
VOID
(*PHPS_UNREGISTER_INTERRUPT)(
IN PVOID Context
);
typedef
BOOLEAN
(*PHPS_SYNCHRONIZE_EXECUTION)(
IN PVOID Context,
IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
IN PVOID SynchronizeContext
);
typedef struct _HPS_REGISTER_INTERRUPT_INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PHPS_REGISTER_INTERRUPT ConnectISR;
PHPS_UNREGISTER_INTERRUPT DisconnectISR;
PHPS_SYNCHRONIZE_EXECUTION SyncExecutionRoutine;
} HPS_REGISTER_INTERRUPT_INTERFACE, *PHPS_REGISTER_INTERRUPT_INTERFACE;
typedef
VOID
(*PHPS_READWRITE_BUFFER)(
IN PUCHAR Register,
IN PUCHAR Buffer,
IN ULONG Count
);
typedef struct _HPS_MEMORY_INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PHPS_READWRITE_BUFFER ReadRegister;
PHPS_READWRITE_BUFFER WriteRegister;
} HPS_MEMORY_INTERFACE, *PHPS_MEMORY_INTERFACE;
#endif