42 #ifndef __PACKET_INCLUDE______
43 #define __PACKET_INCLUDE______
45 #if !defined(NDIS30) && !defined(NDIS50)
46 #error NDIS30 or NDIS50 should be defined
54 #ifdef HAVE_BUGGY_TME_SUPPORT
56 #error TME support is available only on x86 architectures
58 #endif //HAVE_BUGGY_TME_SUPPORT
66 #pragma warning(disable:4068)
71 #define MAX_REQUESTS 32
73 #define Packet_ALIGNMENT sizeof(int)
74 #define Packet_WORDALIGN(x) (((x)+(Packet_ALIGNMENT-1))&~(Packet_ALIGNMENT-1))
77 #define KERNEL_EVENT_NAMESPACE L"\\BaseNamedObjects\\"
84 #define MODE_DUMP 0x10
89 #define NDIS_FLAGS_SKIP_LOOPBACK_W2K 0x400
93 #define TCPDUMP_MAGIC 0xa1b2c3d4
94 #define PCAP_VERSION_MAJOR 2
95 #define PCAP_VERSION_MINOR 4
98 #define NPF_DISABLE_LOOPBACK 1
99 #define NPF_ENABLE_LOOPBACK 2
189 #define RESERVED(_p) ((PPACKET_RESERVED)((_p)->ProtocolReserved))
296 #ifdef HAVE_BUGGY_TME_SUPPORT
299 #endif //HAVE_BUGGY_TME_SUPPORT
352 #define TRANSMIT_PACKETS 256
357 #define EXIT_SUCCESS(quantity) Irp->IoStatus.Information=quantity;\
358 Irp->IoStatus.Status = STATUS_SUCCESS;\
359 IoCompleteRequest(Irp, IO_NO_INCREMENT);\
360 return STATUS_SUCCESS;\
363 #define EXIT_FAILURE(quantity) Irp->IoStatus.Information=quantity;\
364 Irp->IoStatus.Status = STATUS_UNSUCCESSFUL;\
365 IoCompleteRequest(Irp, IO_NO_INCREMENT);\
366 return STATUS_UNSUCCESSFUL;\
395 IN PDRIVER_OBJECT DriverObject,
396 IN PUNICODE_STRING RegistryPath
429 IN OUT PDRIVER_OBJECT adriverObjectP,
430 IN PUNICODE_STRING amacNameP
445 IN PDEVICE_OBJECT DeviceObject,
460 IN NDIS_HANDLE ProtocolBindingContext,
461 IN NDIS_STATUS Status,
462 IN NDIS_STATUS OpenErrorStatus
477 IN PDEVICE_OBJECT DeviceObject,
483 IN PDEVICE_OBJECT DeviceObject,
499 IN NDIS_HANDLE ProtocolBindingContext,
500 IN NDIS_STATUS Status
527 IN NDIS_HANDLE ProtocolBindingContext,
528 IN NDIS_HANDLE MacReceiveContext,
529 IN PVOID HeaderBuffer,
530 IN UINT HeaderBufferSize,
531 IN PVOID LookAheadBuffer,
532 IN UINT LookaheadBufferSize,
548 IN NDIS_HANDLE ProtocolBindingContext,
549 IN PNDIS_PACKET Packet,
550 IN NDIS_STATUS Status,
551 IN UINT BytesTransferred
588 IN PDEVICE_OBJECT DeviceObject,
604 IN NDIS_HANDLE ProtocolBindingContext,
605 IN PNDIS_REQUEST pRequest,
606 IN NDIS_STATUS Status
623 IN PDEVICE_OBJECT DeviceObject,
649 IN ULONG UserBuffSize,
672 IN NDIS_HANDLE ProtocolBindingContext,
673 IN PNDIS_PACKET pPacket,
674 IN NDIS_STATUS Status
688 IN NDIS_HANDLE ProtocolBindingContext,
689 IN NDIS_STATUS Status
697 IN NDIS_HANDLE ProtocolBindingContext,
698 IN NDIS_STATUS Status,
699 IN PVOID StatusBuffer,
700 IN UINT StatusBufferSize
742 IN PDEVICE_OBJECT DeviceObject,
753 IN PWSTR *MacDriverName,
754 IN PWSTR *PacketDriverName,
755 IN PUNICODE_STRING RegistryPath
769 IN ULONG ValueLength,
771 IN PVOID EntryContext
780 OUT PNDIS_STATUS Status,
781 IN NDIS_HANDLE BindContext,
782 IN PNDIS_STRING DeviceName,
783 IN PVOID SystemSpecific1,
784 IN PVOID SystemSpecific2
800 OUT PNDIS_STATUS Status,
801 IN NDIS_HANDLE ProtocolBindingContext,
802 IN NDIS_HANDLE UnbindContext
813 NTSTATUS
NPF_OpenDumpFile(POPEN_INSTANCE Open , PUNICODE_STRING fileName, BOOLEAN append);
855 PLARGE_INTEGER Offset,
858 PIO_STATUS_BLOCK IoStatusBlock);
871 IN POPEN_INSTANCE pOpen);
875 IN POPEN_INSTANCE pOpen);
879 IN POPEN_INSTANCE pOpen);
883 IN POPEN_INSTANCE pOpen);
887 IN POPEN_INSTANCE pOpen);
891 IN POPEN_INSTANCE pOpen);
895 IN POPEN_INSTANCE pOpen,
917 NDIS_STATUS NPF_PowerChange(IN NDIS_HANDLE ProtocolBindingContext, IN PNET_PNP_EVENT pNetPnPEvent);