+2004-09-29 Filip Navara <xnavara@volny.cz>
+
+ * include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
+ d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, mcd.h, miniport.h,
+ mountdev.h, mountmgr.h, ndis.h, ndistapi.h, ndiswan.h, netpnp.h,
+ newdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h, ntddcdvd.h,
+ ntddchgr.h, ntdddisk.h, ntddkbd.h, ntddmou.h, ntddpar.h, ntddpcm.h,
+ ntddscsi.h, ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h,
+ ntddvdeo.h, ntddvol.h, ntpoapi.h, parallel.h, pfhook.h, poclass.h,
+ scsi.h, scsiscan.h, smbus.h, srb.h, storport.h, tdiinfo.h,
+ tdikrnl.h, tvout.h, upssvc.h, usb.h, usb100.h, usbdi.h, usbioctl.h,
+ usbiodef.h, usbscan.h, usbuser.h, videoagp.h, winddi.h, winddk.h,
+ winnt4.h, ws2san.h): Fixed packing.
+ * include/ddk/atm.h (ATM_TRAFFIC_DESCRIPTOR_IE): Fixed declaration.
+ * include/ddk/hidclass.h (HID_INTERFACE_HIDPARSE,
+ HID_INTERFACE_NOTIFY_PNP): Likewise.
+ * include/ddk/ndis.h (NDIS_DMA_BLOCK, CO_FLOW_PARAMETERS): Likewise.
+ (NdisQueryPacketLength): Added macro. Thanks to Art Yerkes
+ <ayerkes@speakeasy.net>.
+ * include/ddk/usb100.h (USB_CONFIGURATION_DESCRIPTOR): Fixed
+ declaration.
+ * include/ddk/winddi.h (PATHDATA, GLYPHPOS): Likewise.
+ * include/ddk/winddk.h (PDRIVER_CONTROL, PDRIVER_LIST_CONTROL,
+ PDRIVER_ADD_DEVICE, PIO_COMPLETION_ROUTINE, PDRIVER_CANCEL,
+ PKDEFERRED_ROUTINE, PDRIVER_DISPATCH, PIO_DPC_ROUTINE,
+ PMM_DLL_INITIALIZE, PMM_DLL_UNLOAD, PDRIVER_ENTRY,
+ PDRIVER_INITIALIZE, PKSERVICE_ROUTINE, PIO_TIMER_ROUTINE,
+ PDRIVER_REINITIALIZE, PDRIVER_STARTIO, PKSYNCHRONIZE_ROUTINE,
+ PDRIVER_UNLOAD, DRIVER_OBJECT): Fixed callback declarations.
+ (struct FILE_BASIC_INFORMATION): Renamed to _FILE_BASIC_INFORMATION.
+ (SYNCH_LEVEL): Added definition.
+ (KPCR, KPCR_TIB): Fixed declaration.
+ (Interlocked[Push/Pop]EntrySList): Declare only if winbase.h isn't
+ included and _WIN32_WINNT >= 0x0501.
+ (RtlEqualLuid): Fixed macro definition.
+ (KfLowerIrql, KfRaiseIrql): Declare and use instead of KeLowerIrql and
+ KeRaiseIrql on i386 architectures.
+
2004-09-06 Hosaka Yuji <hos@tamanegi.org>
* include/mshtml.h (IHTMLDocument2): Correct get_selection
extern "C" {
#endif
-#pragma pack(push,4)
-
typedef ULONG ATM_ADDRESSTYPE;
#define SAP_TYPE_NSAP 1
typedef struct _ATM_TRAFFIC_DESCRIPTOR_IE {
ATM_TRAFFIC_DESCRIPTOR ForwardTD;
ATM_TRAFFIC_DESCRIPTOR BackwardTD;
+ BOOLEAN BestEffort;
} ATM_TRAFFIC_DESCRIPTOR_IE, *PATM_TRAFFIC_DESCRIPTOR_IE;
/* ATM_TRANSIT_NETWORK_SELECTION_IE.TypeOfNetworkId constants */
ATM_ADDRESS Address[1];
} ATM_SERVICE_ADDRESS_LIST, *PATM_SERVICE_ADDRESS_LIST;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#if defined(_BATTERYCLASS_)
BatteryClassUnload(
IN PVOID ClassData);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#define CM_PROB_NOT_CONFIGURED 0x00000001
#define CM_PROB_DEVLOADER_FAILED 0x00000002
#define CM_PROB_OUT_OF_MEMORY 0x00000003
PNP_VetoLegacyDriver
} PNP_VETO_TYPE, *PPNP_VETO_TYPE;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#if defined(_CFGMGR32_)
#include "cfg.h"
+#include <pshpack1.h>
+
#define CR_SUCCESS 0x00000000
#define CR_DEFAULT 0x00000001
#define CR_OUT_OF_MEMORY 0x00000002
CMP_WaitNoPendingInstallEvents(
IN DWORD dwTimeout);
-#pragma pack(pop)
+#include <poppack.h>
#ifdef __cplusplus
}
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "d4iface.h"
ULONG ulTimeout;
} DOT4_DRIVER_CMD, *PDOT4_DRIVER_CMD;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#define DOT4_MAX_CHANNELS 128
ULONG ulPacketBytesRead;
} DOT4_WMI_XFER_INFO, *PDOT4_WMI_XFER_INFO;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#if defined(_DXAPI_)
DWORD dwStartField;
} DDSETSKIPFIELD, FAR *LPDDSETSKIPFIELD;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "hidpi.h"
} HID_DRIVER_CONFIG, *PHID_DRIVER_CONFIG;
typedef struct _HID_INTERFACE_HIDPARSE {
-#if 0
-/* FIXME: COM stuff */
#ifdef __cplusplus
INTERFACE i;
#else
- INTERFACE;
-#endif
+ /* GCC doesn't support including unnamed structs, so INTERFACE is
+ expanded here */
+ USHORT Size;
+ USHORT Version;
+ PVOID Context;
+ PINTERFACE_REFERENCE InterfaceReference;
+ PINTERFACE_DEREFERENCE InterfaceDereference;
#endif
PHIDP_GETCAPS HidpGetCaps;
} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;
typedef struct _HID_INTERFACE_NOTIFY_PNP {
-#if 0
-/* FIXME: COM stuff */
#ifdef __cplusplus
INTERFACE i;
#else
- INTERFACE;
-#endif
+ /* GCC doesn't support including unnamed structs, so INTERFACE is
+ expanded here */
+ USHORT Size;
+ USHORT Version;
+ PVOID Context;
+ PINTERFACE_REFERENCE InterfaceReference;
+ PINTERFACE_DEREFERENCE InterfaceDereference;
#endif
PHID_STATUS_CHANGE StatusChangeFn;
PVOID CallbackContext;
UCHAR reportId;
} HID_XFER_PACKET, *PHID_XFER_PACKET;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "hidusage.h"
OUT PUSAGE MakeUsageList,
IN ULONG UsageListLength);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "srb.h"
#include "scsi.h"
IN PUNICODE_STRING RegistryPath,
IN PMCD_INIT_DATA MCDInitData);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define EMULATOR_READ_ACCESS 0x01
#define EMULATOR_WRITE_ACCESS 0x02
IN ULONG WriteBank,
IN PVOID Context);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "mountmgr.h"
-
#define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME \
CTL_CODE(MOUNTDEVCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
USHORT NewUniqueIdLength;
} MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY_OUTPUT;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
DEFINE_GUID(MOUNTDEV_MOUNTED_DEVICE_GUID,
0x53f5630d, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
USHORT TargetVolumeNameLength;
} MOUNTMGR_VOLUME_MOUNT_POINT, *PMOUNTMGR_VOLUME_MOUNT_POINT;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntddndis.h"
#include "netpnp.h"
PVOID MapRegisterBase;
KEVENT AllocationEvent;
PADAPTER_OBJECT SystemAdapterObject;
+ PVOID Miniport;
BOOLEAN InProgress;
} NDIS_DMA_BLOCK, *PNDIS_DMA_BLOCK;
ULONG PeakBandwidth;
ULONG Latency;
ULONG DelayVariation;
- GUARANTEE LevelOfGuarantee;
- ULONG CostOfCall;
- ULONG NetworkAvailability;
+ SERVICETYPE ServiceType;
ULONG MaxSduSize;
+ ULONG MinimumPolicedSize;
} CO_FLOW_PARAMETERS, *PCO_FLOW_PARAMETERS;
typedef struct _CO_SPECIFIC_PARAMETERS {
} \
}
+/*
+ * VOID
+ * NdisQueryPacketLength(
+ * IN PNDIS_PACKET Packet,
+ * OUT PUINT PhysicalBufferCount OPTIONAL,
+ * OUT PUINT BufferCount OPTIONAL,
+ * OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
+ * OUT PUINT TotalPacketLength OPTIONAL);
+ */
+#define NdisQueryPacketLength(Packet, \
+ TotalPacketLength) \
+{ \
+ if ((TotalPacketLength)) \
+ { \
+ if (!(Packet)->Private.ValidCounts) { \
+ UINT _Offset; \
+ UINT _PacketLength; \
+ PNDIS_BUFFER _NdisBuffer; \
+ UINT _PhysicalBufferCount = 0; \
+ UINT _TotalPacketLength = 0; \
+ UINT _Count = 0; \
+ \
+ for (_NdisBuffer = (Packet)->Private.Head; \
+ _NdisBuffer != (PNDIS_BUFFER)NULL; \
+ _NdisBuffer = _NdisBuffer->Next) \
+ { \
+ _PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \
+ NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength); \
+ _TotalPacketLength += _PacketLength; \
+ _Count++; \
+ } \
+ (Packet)->Private.PhysicalCount = _PhysicalBufferCount; \
+ (Packet)->Private.TotalLength = _TotalPacketLength; \
+ (Packet)->Private.Count = _Count; \
+ (Packet)->Private.ValidCounts = TRUE; \
+ } \
+ \
+ if (TotalPacketLength) \
+ *((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength; \
+ } \
+}
+
/*
* VOID
typedef NDIS_MAC_CHARACTERISTICS NDIS_WAN_MAC_CHARACTERISTICS;
typedef NDIS_WAN_MAC_CHARACTERISTICS *PNDIS_WAN_MAC_CHARACTERISTICS;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ndis.h"
#ifndef NDIS_TAPI_CURRENT_VERSION
IN NDIS_VAR_DATA_DESC LineCallParams;
} CO_AF_TAPI_MAKE_CALL_PARAMETERS, *PCO_AF_TAPI_MAKE_CALL_PARAMETERS;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ndis.h"
#define NDIS_USE_WAN_WRAPPER 0x00000001
OUT ULONG BytesReceivedCompressed;
} NDIS_WAN_CO_GET_STATS_INFO, *PNDIS_WAN_CO_GET_STATS_INFO;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
typedef enum _NET_PNP_EVENT_CODE {
NetEventSetPower,
NetEventQueryPower,
NetDeviceStateMaximum
} NET_DEVICE_POWER_STATE, *PNET_DEVICE_POWER_STATE;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
/* UpdateDriverForPlugAndPlayDevices.InstallFlags constants */
#define INSTALLFLAG_FORCE 0x00000001
#define INSTALLFLAG_READONLY 0x00000002
#define UpdateDriverForPlugAndPlayDevices UpdateDriverForPlugAndPlayDevicesA
#endif /* UNICODE */
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include <stdarg.h>
#include <winbase.h>
#include "ntddk.h"
#include "ntpoapi.h"
+#pragma pack(push,4)
+
typedef struct _PEB *PPEB;
/* FIXME: Unknown definitions */
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntddkbd.h"
#include "ntddmou.h"
-
#define IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER \
CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF2, METHOD_NEITHER, FILE_ANY_ACCESS)
IN PVOID CallContext;
} INTERNAL_I8042_HOOK_MOUSE, *PINTERNAL_I8042_HOOK_MOUSE;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define DD_BEEP_DEVICE_NAME "\\Device\\Beep"
#define DD_BEEP_DEVICE_NAME_U L"\\Device\\Beep"
#define BEEP_FREQUENCY_MINIMUM 0x25
#define BEEP_FREQUENCY_MAXIMUM 0x7FFF
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntddstor.h"
-
#define IOCTL_CDROM_BASE FILE_DEVICE_CD_ROM
#define IOCTL_CDROM_CHECK_VERIFY \
TRACK_MODE_TYPE TrackMode;
} RAW_READ_INFO, *PRAW_READ_INFO;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntddstor.h"
-
#define IOCTL_DVD_BASE FILE_DEVICE_DVD
#define IOCTL_DVD_END_SESSION \
DvdMaxDescriptor
} DVD_STRUCTURE_FORMAT, *PDVD_STRUCTURE_FORMAT;
+#include <pshpack1.h>
typedef struct DVD_READ_STRUCTURE {
LARGE_INTEGER BlockByteOffset;
DVD_STRUCTURE_FORMAT Format;
DVD_SESSION_ID SessionId;
UCHAR LayerNumber;
} DVD_READ_STRUCTURE, *PDVD_READ_STRUCTURE;
+#include <poppack.h>
typedef struct _DVD_DESCRIPTOR_HEADER {
USHORT Length;
UCHAR Data[0];
} DVD_DESCRIPTOR_HEADER, *PDVD_DESCRIPTOR_HEADER;
+#include <pshpack1.h>
typedef struct _DVD_LAYER_DESCRIPTOR {
UCHAR BookVersion : 4;
UCHAR BookType : 4;
UCHAR BCAFlag : 1;
UCHAR Reserved6;
} DVD_LAYER_DESCRIPTOR, *PDVD_LAYER_DESCRIPTOR;
+#include <poppack.h>
typedef struct _DVD_COPYRIGHT_DESCRIPTOR {
UCHAR CopyrightProtectionType;
UCHAR ResetCount;
} DVD_REGION, *PDVD_REGION;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntddstor.h"
-
#define DD_CHANGER_DEVICE_NAME "\\Device\\Changer"
#define DD_CHANGER_DEVICE_NAME_U L"\\Device\\Changer"
ULONG ChangerProblemType;
} WMI_CHANGER_PROBLEM_DEVICE_ERROR, *PWMI_CHANGER_PROBLEM_DEVICE_ERROR;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntddstor.h"
-
#define DD_DISK_DEVICE_NAME "\\Device\\UNKNOWN"
#define DD_DISK_DEVICE_NAME_U L"\\Device\\UNKNOWN"
UCHAR bReserved;
} IDEREGS, *PIDEREGS, *LPIDEREGS;
+#include <pshpack1.h>
typedef struct _SENDCMDINPARAMS {
ULONG cBufferSize;
IDEREGS irDriveRegs;
ULONG dwReserved[4];
UCHAR bBuffer[1];
} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
+#include <poppack.h>
/* DRIVERSTATUS.bDriverError constants */
#define SMART_NO_ERROR 0
#define READ_THRESHOLD_BUFFER_SIZE 512
#define SMART_LOG_SECTOR_SIZE 512
+#include <pshpack1.h>
typedef struct _SENDCMDOUTPARAMS {
ULONG cBufferSize;
DRIVERSTATUS DriverStatus;
UCHAR bBuffer[1];
} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;
+#include <poppack.h>
#define READ_ATTRIBUTES 0xD0
#define READ_THRESHOLDS 0xD1
#define RETURN_SMART_STATUS 0xDA
#define ENABLE_DISABLE_AUTO_OFFLINE 0xDB
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define DD_KEYBOARD_DEVICE_NAME "\\Device\\KeyboardClass"
#define DD_KEYBOARD_DEVICE_NAME_U L"\\Device\\KeyboardClass"
ULONG ImeConvMode;
} KEYBOARD_IME_STATUS, *PKEYBOARD_IME_STATUS;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define DD_MOUSE_DEVICE_NAME "\\Device\\PointerClass"
#define DD_MOUSE_DEVICE_NAME_U L"\\Device\\PointerClass"
ULONG InputDataQueueLength;
} MOUSE_ATTRIBUTES, *PMOUSE_ATTRIBUTES;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
/* Parallel port device GUIDs */
DEFINE_GUID (GUID_DEVINTERFACE_PARALLEL,
#define ECP_SW 0x0400
#define ECP_ANY 0x0780
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define IOCTL_PCMCIA_BASE FILE_DEVICE_CONTROLLER
#define DD_PCMCIA_DEVICE_NAME "\\\\.\\Pcmcia"
PPCMCIA_IS_WRITE_PROTECTED IsWriteProtected;
} PCMCIA_INTERFACE_STANDARD, *PPCMCIA_INTERFACE_STANDARD;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define DD_SCSI_DEVICE_NAME "\\Device\\ScsiPort"
#define DD_SCSI_DEVICE_NAME_U L"\\Device\\ScsiPort"
PVOID DeviceObject;
} DUMP_POINTERS, *PDUMP_POINTERS;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
/* GUIDs */
DEFINE_GUID(GUID_DEVINTERFACE_COMPORT,
WCHAR ProviderData[1];
} SERIALCONFIG,*PSERIALCONFIG;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
#define IOCTL_STORAGE_CHECK_VERIFY \
UCHAR AdditionalParameters[1];
} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntddstor.h"
-
#define DD_TAPE_DEVICE_NAME "\\Device\\Tape"
#define DD_TAPE_DEVICE_NAME_U L"\\Device\\Tape"
TapeDriveSnappedTape
} TAPE_DRIVE_PROBLEM_TYPE;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define DD_TDI_DEVICE_NAME "\\Device\\UNKNOWN"
#define DD_TDI_DEVICE_NAME_U L"\\Device\\UNKNOWN"
#define IOCTL_TDI_DISASSOCIATE_ADDRESS _TDI_CONTROL_CODE(12, METHOD_BUFFERED)
#define IOCTL_TDI_ACTION _TDI_CONTROL_CODE(13, METHOD_OUT_DIRECT)
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#define VIDEO_DUALVIEW_PRIMARY 0x80000000
#define VIDEO_DUALVIEW_SECONDARY 0x40000000
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define IOCTL_VOLUME_BASE ((ULONG) 'V')
#define IOCTL_VOLUME_LOGICAL_TO_PHYSICAL \
ULONG DiskNumbers[1];
} VOLUME_FAILOVER_SET, *PVOLUME_FAILOVER_SET;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "batclass.h"
ULONG CurrentIdleState;
} PROCESSOR_POWER_INFORMATION, *PPROCESSOR_POWER_INFORMATION;
-
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntddpar.h"
-
#define DD_PARALLEL_PORT_BASE_NAME "ParallelPort"
#define DD_PARALLEL_PORT_BASE_NAME_U L"ParallelPort"
PPARALLEL_DESELECT_DEVICE ParallelDeSelect;
} PARCLASS_INFORMATION, *PPARCLASS_INFORMATION;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define DD_IPFLTRDRVR_DEVICE_NAME L"\\Device\\IPFILTERDRIVER"
#define INVALID_PF_IF_INDEX 0xffffffff
#define IOCTL_PF_SET_EXTENSION_POINTER \
_IPFLTRDRVR_CTL_CODE(22, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "batclass.h"
-
DEFINE_GUID(GUID_CLASS_INPUT,
0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30);
UCHAR PBlkLength;
} PROCESSOR_OBJECT_INFO, *PPROCESSOR_OBJECT_INFO;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
typedef union _CDB {
(Bit) = _val; \
}
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define IOCTL_SCSISCAN_CMD \
CTL_CODE(FILE_DEVICE_SCANNER, SCSISCAN_CMD_CODE, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
ULONG Reserved;
} SCSISCAN_INFO, *PSCSISCAN_INFO;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#if !defined(SMBCLASS)
#define SMBCLASSAPI DECLSPEC_IMPORT
#else
SmbClassUnlockDevice(
IN PSMB_CLASS SmbClass);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#if defined(_SCSIPORT_)
IN PCCHAR DebugMessage,
IN ...);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "srb.h"
#define DebugPrint(x)
#endif
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
typedef struct TDIEntityID {
ULONG tei_entity;
ULONG tei_instance;
UCHAR Buffer[1];
} TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "tdi.h"
TdiUnmapBuffer(
IN PMDL MdlChain);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
/* VIDEOPARAMETERS.dwCommand constants */
#define VP_COMMAND_GET 0x00000001
#define VP_COMMAND_SET 0x00000002
BYTE bOEMCopyProtection[256];
} VIDEOPARAMETERS, *PVIDEOPARAMETERS, FAR *LPVIDEOPARAMETERS;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#if defined(_APCUPS_)
IN DWORD aCurrentState,
IN DWORD anInterval);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "usb100.h"
UCHAR bPad;
} OS_STRING, *POS_STRING;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define MAXIMUM_USB_STRING_LENGTH 255
#define USB_DEVICE_CLASS_RESERVED 0x00
#define USB_CONFIG_SELF_POWERED 0x40
#define USB_CONFIG_REMOTE_WAKEUP 0x20
+#include <pshpack1.h>
typedef struct _USB_CONFIGURATION_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
USHORT wTotalLength;
UCHAR bNumInterfaces;
+ UCHAR bConfigurationValue;
UCHAR iConfiguration;
UCHAR bmAttributes;
UCHAR MaxPower;
} USB_CONFIGURATION_DESCRIPTOR, *PUSB_CONFIGURATION_DESCRIPTOR;
+#include <poppack.h>
typedef struct _USB_DEVICE_DESCRIPTOR {
UCHAR bLength;
#define USB_ENDPOINT_TYPE_BULK 0x02
#define USB_ENDPOINT_TYPE_INTERRUPT 0x03
+#include <pshpack1.h>
typedef struct _USB_ENDPOINT_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
USHORT wMaxPacketSize;
UCHAR bInterval;
} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;
+#include <poppack.h>
#define USB_FEATURE_ENDPOINT_STALL 0x0000
#define USB_FEATURE_REMOTE_WAKEUP 0x0001
WCHAR bString[1];
} USB_STRING_DESCRIPTOR, *PUSB_STRING_DESCRIPTOR;
+#include <pshpack1.h>
typedef struct _USB_HUB_DESCRIPTOR {
UCHAR bDescriptorLength;
UCHAR bDescriptorType;
UCHAR bHubControlCurrent;
UCHAR bRemoveAndPowerMask[64];
} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR;
+#include <poppack.h>
#define USB_SUPPORT_D0_COMMAND 0x01
#define USB_SUPPORT_D1_COMMAND 0x02
#define USB_FEATURE_INTERFACE_POWER_D2 0x0004
#define USB_FEATURE_INTERFACE_POWER_D3 0x0005
+#include <pshpack1.h>
typedef struct _USB_INTERFACE_POWER_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
USHORT TransitionTimeFromD2;
USHORT TransitionTimeFromD3;
} USB_INTERFACE_POWER_DESCRIPTOR, *PUSB_INTERFACE_POWER_DESCRIPTOR;
-
-#pragma pack(pop)
+#include <poppack.h>
#ifdef __cplusplus
}
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "usbioctl.h"
-
#define USBDI_VERSION 0x300
#define USB_DEFAULT_DEVICE_ADDRESS 0
};
} URB, *PURB;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "usb100.h"
#include "usbiodef.h"
DeviceInLegacyHub
} USB_CONNECTION_STATUS, *PUSB_CONNECTION_STATUS;
+#include <pshpack1.h>
+
typedef struct _USB_DESCRIPTOR_REQUEST {
ULONG ConnectionIndex;
struct {
WCHAR RootHubName[1];
} USB_ROOT_HUB_NAME, *PUSB_ROOT_HUB_NAME;
-#pragma pack(pop)
+#include <poppack.h>
#ifdef __cplusplus
}
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, \
0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8);
METHOD_NEITHER, \
FILE_ANY_ACCESS)
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
-
#define FILE_DEVICE_USB_SCAN 0x8000
#define IOCTL_INDEX 0x0800
ALL_PIPE
} PIPE_TYPE;
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "usb.h"
#include "usbiodef.h"
+#include <pshpack1.h>
#define USBUSER_VERSION 0x0004
USB_USB2HW_VERSION_PARAMETERS Parameters;
} USBUSER_GET_USB2HW_VERSION, *PUSBUSER_GET_USB2HW_VERSION;
-#pragma pack(pop)
+#include <poppack.h>
#ifdef __cplusplus
}
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "video.h"
IN PVOID HwDeviceExtension,
IN PVIDEO_PORT_AGP_SERVICES AgpServices);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
typedef struct _PATHDATA {
FLONG flags;
ULONG count;
- POINTFIX pptfx;
+ POINTFIX *glypptfx;
} PATHDATA, *PPATHDATA;
/* PATHOBJ.fl constants */
typedef struct _GLYPHPOS {
HGLYPH hg;
GLYPHDEF *pgdf;
- POINTL *ptl;
+ POINTL ptl;
} GLYPHPOS, *PGLYPHPOS;
typedef struct _GLYPHDATA {
OUT DWORD *pdwNumFourCCCodes,
OUT DWORD *pdwFourCC);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
/*
** Definitions specific to this Device Driver Kit
*/
DeallocateObjectKeepRegisters
} IO_ALLOCATION_ACTION, *PIO_ALLOCATION_ACTION;
-typedef IO_ALLOCATION_ACTION DDKAPI
-(*PDRIVER_CONTROL)(
+typedef IO_ALLOCATION_ACTION
+(DDKAPI *PDRIVER_CONTROL)(
IN struct _DEVICE_OBJECT *DeviceObject,
IN struct _IRP *Irp,
IN PVOID MapRegisterBase,
IN PVOID Context);
-typedef VOID DDKAPI
-(*PDRIVER_LIST_CONTROL)(
+typedef VOID
+(DDKAPI *PDRIVER_LIST_CONTROL)(
IN struct _DEVICE_OBJECT *DeviceObject,
IN struct _IRP *Irp,
IN struct _SCATTER_GATHER_LIST *ScatterGather,
IN PVOID Context);
-typedef NTSTATUS DDKAPI
-(*PDRIVER_ADD_DEVICE)(
+typedef NTSTATUS
+(DDKAPI *PDRIVER_ADD_DEVICE)(
IN struct _DRIVER_OBJECT *DriverObject,
IN struct _DEVICE_OBJECT *PhysicalDeviceObject);
-typedef NTSTATUS DDKAPI
-(*PIO_COMPLETION_ROUTINE)(
+typedef NTSTATUS
+(DDKAPI *PIO_COMPLETION_ROUTINE)(
IN struct _DEVICE_OBJECT *DeviceObject,
IN struct _IRP *Irp,
IN PVOID Context);
-typedef VOID DDKAPI
-(*PDRIVER_CANCEL)(
+typedef VOID
+(DDKAPI *PDRIVER_CANCEL)(
IN struct _DEVICE_OBJECT *DeviceObject,
IN struct _IRP *Irp);
-typedef VOID DDKAPI
-(*PKDEFERRED_ROUTINE)(
+typedef VOID
+(DDKAPI *PKDEFERRED_ROUTINE)(
IN struct _KDPC *Dpc,
IN PVOID DeferredContext,
IN PVOID SystemArgument1,
IN PVOID SystemArgument2);
-typedef NTSTATUS DDKAPI
-(*PDRIVER_DISPATCH)(
+typedef NTSTATUS
+(DDKAPI *PDRIVER_DISPATCH)(
IN struct _DEVICE_OBJECT *DeviceObject,
IN struct _IRP *Irp);
-typedef VOID DDKAPI
-(*PIO_DPC_ROUTINE)(
+typedef VOID
+(DDKAPI *PIO_DPC_ROUTINE)(
IN struct _KDPC *Dpc,
IN struct _DEVICE_OBJECT *DeviceObject,
IN struct _IRP *Irp,
IN PVOID Context);
-typedef NTSTATUS DDKAPI
-(*PMM_DLL_INITIALIZE)(
+typedef NTSTATUS
+(DDKAPI *PMM_DLL_INITIALIZE)(
IN PUNICODE_STRING RegistryPath);
-typedef NTSTATUS DDKAPI
-(*PMM_DLL_UNLOAD)(
+typedef NTSTATUS
+(DDKAPI *PMM_DLL_UNLOAD)(
VOID);
-typedef NTSTATUS DDKAPI
-(*PDRIVER_ENTRY)(
+typedef NTSTATUS
+(DDKAPI *PDRIVER_ENTRY)(
IN struct _DRIVER_OBJECT *DriverObject,
IN PUNICODE_STRING RegistryPath);
-typedef NTSTATUS DDKAPI
-(*PDRIVER_INITIALIZE)(
+typedef NTSTATUS
+(DDKAPI *PDRIVER_INITIALIZE)(
IN struct _DRIVER_OBJECT *DriverObject,
IN PUNICODE_STRING RegistryPath);
-typedef BOOLEAN DDKAPI
-(*PKSERVICE_ROUTINE)(
+typedef BOOLEAN
+(DDKAPI *PKSERVICE_ROUTINE)(
IN struct _KINTERRUPT *Interrupt,
IN PVOID ServiceContext);
-typedef VOID DDKAPI
-(*PIO_TIMER_ROUTINE)(
+typedef VOID
+(DDKAPI *PIO_TIMER_ROUTINE)(
IN struct _DEVICE_OBJECT *DeviceObject,
IN PVOID Context);
-typedef VOID DDKAPI
-(*PDRIVER_REINITIALIZE)(
+typedef VOID
+(DDKAPI *PDRIVER_REINITIALIZE)(
IN struct _DRIVER_OBJECT *DriverObject,
IN PVOID Context,
IN ULONG Count);
-typedef NTSTATUS DDKAPI
-(*PDRIVER_STARTIO)(
+typedef NTSTATUS
+(DDKAPI *PDRIVER_STARTIO)(
IN struct _DEVICE_OBJECT *DeviceObject,
IN struct _IRP *Irp);
-typedef BOOLEAN DDKAPI
-(*PKSYNCHRONIZE_ROUTINE)(
+typedef BOOLEAN
+(DDKAPI *PKSYNCHRONIZE_ROUTINE)(
IN PVOID SynchronizeContext);
-typedef VOID DDKAPI
-(*PDRIVER_UNLOAD)(
+typedef VOID
+(DDKAPI *PDRIVER_UNLOAD)(
IN struct _DRIVER_OBJECT *DriverObject);
UCHAR MoreEntries : 1;
} EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE;
+#include <pshpack1.h>
typedef struct _EISA_MEMORY_CONFIGURATION {
EISA_MEMORY_TYPE ConfigurationByte;
UCHAR DataSize;
UCHAR AddressHighByte;
USHORT MemorySize;
} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;
+#include <poppack.h>
typedef struct _EISA_IRQ_DESCRIPTOR {
UCHAR Interrupt : 4;
DMA_CONFIGURATION_BYTE1 ConfigurationByte1;
} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;
+#include <pshpack1.h>
typedef struct _EISA_PORT_DESCRIPTOR {
UCHAR NumberPorts : 5;
UCHAR Reserved : 1;
EISA_PORT_DESCRIPTOR Configuration;
USHORT PortAddress;
} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;
+#include <poppack.h>
typedef struct _CM_EISA_FUNCTION_INFORMATION {
ULONG CompressedId;
ULONG BusNumber;
} PNP_BUS_INFORMATION, *PPNP_BUS_INFORMATION;
+#include <pshpack1.h>
typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
UCHAR Type;
UCHAR ShareDisposition;
USHORT MaxHeads;
USHORT NumberDrives;
} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;
+#include <poppack.h>
typedef struct _CM_KEYBOARD_DEVICE_DATA {
USHORT Version;
WCHAR FileName[1];
} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
-typedef struct FILE_BASIC_INFORMATION {
+typedef struct _FILE_BASIC_INFORMATION {
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush;
} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;
-/* NOTE: PVOID for methods to avoid 'assignment from incompatible pointer type' warning */
typedef struct _DRIVER_OBJECT {
CSHORT Type;
CSHORT Size;
PDRIVER_EXTENSION DriverExtension;
UNICODE_STRING DriverName;
PUNICODE_STRING HardwareDatabase;
- PVOID FastIoDispatch;
- PVOID DriverInit;
- PVOID DriverStartIo;
- PVOID DriverUnload;
- PVOID MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
+ PFAST_IO_DISPATCH FastIoDispatch;
+ PDRIVER_INITIALIZE DriverInit;
+ PDRIVER_STARTIO DriverStartIo;
+ PDRIVER_UNLOAD DriverUnload;
+ PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
} DRIVER_OBJECT;
typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT;
PVOID ProcessAuditId;
} SECURITY_SUBJECT_CONTEXT, *PSECURITY_SUBJECT_CONTEXT;
+#include <pshpack4.h>
typedef struct _ACCESS_STATE {
LUID OperationID;
BOOLEAN SecurityEvaluated;
UNICODE_STRING ObjectName;
UNICODE_STRING ObjectTypeName;
} ACCESS_STATE, *PACCESS_STATE;
+#include <poppack.h>
typedef struct _IO_SECURITY_CONTEXT {
PSECURITY_QUALITY_OF_SERVICE SecurityQos;
PVOID ReservePointer;
} IO_CSQ, *PIO_CSQ;
+#include <pshpack4.h>
typedef struct _IO_STACK_LOCATION {
UCHAR MajorFunction;
UCHAR MinorFunction;
PIO_COMPLETION_ROUTINE CompletionRoutine;
PVOID Context;
} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
+#include <poppack.h>
/* IO_STACK_LOCATION.Control */
#define LOW_LEVEL 0
#define APC_LEVEL 1
#define DISPATCH_LEVEL 2
+#define SYNCH_LEVEL 27
#define PROFILE_LEVEL 27
#define CLOCK1_LEVEL 28
#define CLOCK2_LEVEL 28
DWORD Version; /* 10 */
} DUMMYUNIONNAME;
PVOID ArbitraryUserPointer; /* 14 */
-} KPCR_TIB, *PKPCR_TIB; /* 18 */
+ struct _NT_TIB *Self; /* 18 */
+} KPCR_TIB, *PKPCR_TIB; /* 1C */
#define PCR_MINOR_VERSION 1
#define PCR_MAJOR_VERSION 1
typedef struct _KPCR {
KPCR_TIB Tib; /* 00 */
- struct _KPCR *Self; /* 18 */
- struct _KPRCB *PCRCB; /* 1C */
- KIRQL Irql; /* 20 */
- ULONG IRR; /* 24 */
- ULONG IrrActive; /* 28 */
- ULONG IDR; /* 2C */
- PVOID KdVersionBlock; /* 30 */
- PUSHORT IDT; /* 34 */
- PUSHORT GDT; /* 38 */
- struct _KTSS *TSS; /* 3C */
- USHORT MajorVersion; /* 40 */
- USHORT MinorVersion; /* 42 */
- KAFFINITY SetMember; /* 44 */
- ULONG StallScaleFactor; /* 48 */
- UCHAR DebugActive; /* 4C */
- UCHAR ProcessorNumber; /* 4D */
- UCHAR Reserved[2]; /* 4E */
-} KPCR, *PKPCR; /* 50 */
+ struct _KPCR *Self; /* 1C */
+ struct _KPRCB *PCRCB; /* 20 */
+ KIRQL Irql; /* 24 */
+ ULONG IRR; /* 28 */
+ ULONG IrrActive; /* 2C */
+ ULONG IDR; /* 30 */
+ PVOID KdVersionBlock; /* 34 */
+ PUSHORT IDT; /* 38 */
+ PUSHORT GDT; /* 3C */
+ struct _KTSS *TSS; /* 40 */
+ USHORT MajorVersion; /* 44 */
+ USHORT MinorVersion; /* 46 */
+ KAFFINITY SetMember; /* 48 */
+ ULONG StallScaleFactor; /* 4C */
+ UCHAR SpareUnused; /* 50 */
+ UCHAR Number; /* 51 */
+} KPCR, *PKPCR; /* 54 */
typedef struct _KFLOATING_SAVE {
ULONG ControlWord;
return Entry;
}
+#if !defined(_WINBASE_H) || _WIN32_WINNT < 0x0501
+
NTOSAPI
PSLIST_ENTRY
DDKFASTAPI
IN PSLIST_HEADER ListHead,
IN PSLIST_ENTRY ListEntry);
+#endif
+
/*
* USHORT
* QueryDepthSList(
/*
* BOOLEAN
* RtlEqualLuid(
- * IN LUID* Luid1,
- * IN LUID* Luid2)
+ * IN LUID Luid1,
+ * IN LUID Luid2)
*/
-#define RtlEqualLuid(_Luid1,_Luid2) \
- ((BOOLEAN) (((_Luid1)->LowPart == (_Luid2)->LowPart) \
- && ((_Luid1)->HighPart == (_Luid2)->HighPart)))
+#define RtlEqualLuid(_Luid1, \
+ _Luid2) \
+ ((Luid1.LowPart == Luid2.LowPart) && (Luid1.HighPart == Luid2.HighPart))
/*
* ULONG
IN PUSHORT Register,
IN USHORT Value);
-
-
/** I/O manager routines **/
NTOSAPI
OUT PKIRQL OldIrql);
/* System Service Dispatch Table */
-typedef struct _SSDT {
- ULONG SysCallPtr;
-} SSDT, *PSSDT;
+typedef PVOID (NTAPI * SSDT)(VOID);
+typedef SSDT * PSSDT;
/* System Service Parameters Table */
-typedef struct _SSPT {
- ULONG ParamBytes;
-} SSPT, *PSSPT;
+typedef UCHAR SSPT, * PSSPT;
typedef struct _SSDT_ENTRY {
PSSDT SSDT;
KeLeaveCriticalRegion(
VOID);
-NTOSAPI
-VOID
-DDKAPI
-KeLowerIrql(
- IN KIRQL NewIrql);
-
NTOSAPI
NTSTATUS
DDKAPI
KeQueryTimeIncrement(
VOID);
-NTOSAPI
-VOID
-DDKAPI
-KeRaiseIrql(
- IN KIRQL NewIrql,
- OUT PKIRQL OldIrql);
-
-NTOSAPI
-KIRQL
-DDKAPI
-KeRaiseIrqlToDpcLevel(
- VOID);
-
NTOSAPI
LONG
DDKAPI
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL);
+#if defined(_X86_)
+NTOSAPI
+VOID
+FASTCALL
+KfLowerIrql(
+ IN KIRQL NewIrql);
+
+NTOSAPI
+KIRQL
+FASTCALL
+KfRaiseIrql(
+ IN KIRQL NewIrql);
+
+#define KeLowerIrql(a) KfLowerIrql(a)
+#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
+
+#else
+
+NTOSAPI
+VOID
+DDKAPI
+KeLowerIrql(
+ IN KIRQL NewIrql);
+
+NTOSAPI
+KIRQL
+DDKAPI
+KeRaiseIrql(
+ IN KIRQL NewIrql);
+
+#endif
+
+NTOSAPI
+KIRQL
+DDKAPI
+KeRaiseIrqlToDpcLevel(
+ VOID);
/** Memory manager routines **/
#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled
#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
typedef struct _ZONE_SEGMENT_HEADER {
SINGLE_LIST_ENTRY SegmentList;
PVOID Reserved;
#endif /* _X86_ */
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif
extern "C" {
#endif
-#pragma pack(push,4)
-
#include <winsock2.h>
#include "ntddk.h"
IN OUT LPDWORD lpdwDescriptorLength,
OUT LPINT lpErrno);
-#pragma pack(pop)
-
#ifdef __cplusplus
}
#endif