remove internal files
[ipfw-google.git] / original_passthru / passthru.h
diff --git a/original_passthru/passthru.h b/original_passthru/passthru.h
deleted file mode 100644 (file)
index badde8a..0000000
+++ /dev/null
@@ -1,477 +0,0 @@
-/*++\r
-\r
-Copyright (c) 1992-2000  Microsoft Corporation\r
-\r
-Module Name:\r
-\r
-    passthru.h\r
-\r
-Abstract:\r
-\r
-    Ndis Intermediate Miniport driver sample. This is a passthru driver.\r
-\r
-Author:\r
-\r
-Environment:\r
-\r
-\r
-Revision History:\r
-\r
\r
---*/\r
-\r
-#ifdef NDIS51_MINIPORT\r
-#define PASSTHRU_MAJOR_NDIS_VERSION            5\r
-#define PASSTHRU_MINOR_NDIS_VERSION            1\r
-#else\r
-#define PASSTHRU_MAJOR_NDIS_VERSION            4\r
-#define PASSTHRU_MINOR_NDIS_VERSION            0\r
-#endif\r
-\r
-#ifdef NDIS51\r
-#define PASSTHRU_PROT_MAJOR_NDIS_VERSION    5\r
-#define PASSTHRU_PROT_MINOR_NDIS_VERSION    0\r
-#else\r
-#define PASSTHRU_PROT_MAJOR_NDIS_VERSION    4\r
-#define PASSTHRU_PROT_MINOR_NDIS_VERSION    0\r
-#endif\r
-\r
-#define MAX_BUNDLEID_LENGTH 50\r
-\r
-#define TAG 'ImPa'\r
-#define WAIT_INFINITE 0\r
-\r
-\r
-\r
-//advance declaration\r
-typedef struct _ADAPT ADAPT, *PADAPT;\r
-\r
-DRIVER_INITIALIZE DriverEntry;\r
-extern\r
-NTSTATUS\r
-DriverEntry(\r
-    IN PDRIVER_OBJECT            DriverObject,\r
-    IN PUNICODE_STRING           RegistryPath\r
-    );\r
-\r
-DRIVER_DISPATCH PtDispatch;\r
-NTSTATUS\r
-PtDispatch(\r
-    IN PDEVICE_OBJECT            DeviceObject,\r
-    IN PIRP                      Irp\r
-    );\r
-\r
-NDIS_STATUS\r
-PtRegisterDevice(\r
-    VOID\r
-    );\r
-\r
-NDIS_STATUS\r
-PtDeregisterDevice(\r
-    VOID\r
-   );\r
-\r
-DRIVER_UNLOAD PtUnload;\r
-VOID\r
-PtUnloadProtocol(\r
-    VOID\r
-    );\r
-\r
-//\r
-// Protocol proto-types\r
-//\r
-extern\r
-VOID\r
-PtOpenAdapterComplete(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN NDIS_STATUS                Status,\r
-    IN NDIS_STATUS                OpenErrorStatus\r
-    );\r
-\r
-extern\r
-VOID\r
-PtCloseAdapterComplete(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN NDIS_STATUS                Status\r
-    );\r
-\r
-extern\r
-VOID\r
-PtResetComplete(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN NDIS_STATUS                Status\r
-    );\r
-\r
-extern\r
-VOID\r
-PtRequestComplete(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN PNDIS_REQUEST              NdisRequest,\r
-    IN NDIS_STATUS                Status\r
-    );\r
-\r
-extern\r
-VOID\r
-PtStatus(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN NDIS_STATUS                GeneralStatus,\r
-    IN PVOID                      StatusBuffer,\r
-    IN UINT                       StatusBufferSize\r
-    );\r
-\r
-extern\r
-VOID\r
-PtStatusComplete(\r
-    IN NDIS_HANDLE                ProtocolBindingContext\r
-    );\r
-\r
-extern\r
-VOID\r
-PtSendComplete(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN PNDIS_PACKET               Packet,\r
-    IN NDIS_STATUS                Status\r
-    );\r
-\r
-extern\r
-VOID\r
-PtTransferDataComplete(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN PNDIS_PACKET               Packet,\r
-    IN NDIS_STATUS                Status,\r
-    IN UINT                       BytesTransferred\r
-    );\r
-\r
-extern\r
-NDIS_STATUS\r
-PtReceive(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN NDIS_HANDLE                MacReceiveContext,\r
-    IN PVOID                      HeaderBuffer,\r
-    IN UINT                       HeaderBufferSize,\r
-    IN PVOID                      LookAheadBuffer,\r
-    IN UINT                       LookaheadBufferSize,\r
-    IN UINT                       PacketSize\r
-    );\r
-\r
-extern\r
-VOID\r
-PtReceiveComplete(\r
-    IN NDIS_HANDLE                ProtocolBindingContext\r
-    );\r
-\r
-extern\r
-INT\r
-PtReceivePacket(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN PNDIS_PACKET               Packet\r
-    );\r
-\r
-extern\r
-VOID\r
-PtBindAdapter(\r
-    OUT PNDIS_STATUS              Status,\r
-    IN  NDIS_HANDLE               BindContext,\r
-    IN  PNDIS_STRING              DeviceName,\r
-    IN  PVOID                     SystemSpecific1,\r
-    IN  PVOID                     SystemSpecific2\r
-    );\r
-\r
-extern\r
-VOID\r
-PtUnbindAdapter(\r
-    OUT PNDIS_STATUS              Status,\r
-    IN  NDIS_HANDLE               ProtocolBindingContext,\r
-    IN  NDIS_HANDLE               UnbindContext\r
-    );\r
-    \r
-VOID\r
-PtUnload(\r
-    IN PDRIVER_OBJECT             DriverObject\r
-    );\r
-\r
-\r
-\r
-extern \r
-NDIS_STATUS\r
-PtPNPHandler(\r
-    IN NDIS_HANDLE                ProtocolBindingContext,\r
-    IN PNET_PNP_EVENT             pNetPnPEvent\r
-    );\r
-\r
-\r
-\r
-\r
-NDIS_STATUS\r
-PtPnPNetEventReconfigure(\r
-    IN PADAPT            pAdapt,\r
-    IN PNET_PNP_EVENT    pNetPnPEvent\r
-    );    \r
-\r
-NDIS_STATUS \r
-PtPnPNetEventSetPower (\r
-    IN PADAPT                    pAdapt,\r
-    IN PNET_PNP_EVENT            pNetPnPEvent\r
-    );\r
-    \r
-\r
-//\r
-// Miniport proto-types\r
-//\r
-NDIS_STATUS\r
-MPInitialize(\r
-    OUT PNDIS_STATUS             OpenErrorStatus,\r
-    OUT PUINT                    SelectedMediumIndex,\r
-    IN PNDIS_MEDIUM              MediumArray,\r
-    IN UINT                      MediumArraySize,\r
-    IN NDIS_HANDLE               MiniportAdapterHandle,\r
-    IN NDIS_HANDLE               WrapperConfigurationContext\r
-    );\r
-\r
-VOID\r
-MPSendPackets(\r
-    IN NDIS_HANDLE                MiniportAdapterContext,\r
-    IN PPNDIS_PACKET              PacketArray,\r
-    IN UINT                       NumberOfPackets\r
-    );\r
-\r
-NDIS_STATUS\r
-MPSend(\r
-    IN NDIS_HANDLE                MiniportAdapterContext,\r
-    IN PNDIS_PACKET               Packet,\r
-    IN UINT                       Flags\r
-    );\r
-\r
-NDIS_STATUS\r
-MPQueryInformation(\r
-    IN NDIS_HANDLE                MiniportAdapterContext,\r
-    IN NDIS_OID                   Oid,\r
-    IN PVOID                      InformationBuffer,\r
-    IN ULONG                      InformationBufferLength,\r
-    OUT PULONG                    BytesWritten,\r
-    OUT PULONG                    BytesNeeded\r
-    );\r
-\r
-NDIS_STATUS\r
-MPSetInformation(\r
-    IN NDIS_HANDLE                                      MiniportAdapterContext,\r
-    IN NDIS_OID                                         Oid,\r
-    __in_bcount(InformationBufferLength) IN PVOID       InformationBuffer,\r
-    IN ULONG                                            InformationBufferLength,\r
-    OUT PULONG                                          BytesRead,\r
-    OUT PULONG                                          BytesNeeded\r
-    );\r
-\r
-VOID\r
-MPReturnPacket(\r
-    IN NDIS_HANDLE                MiniportAdapterContext,\r
-    IN PNDIS_PACKET               Packet\r
-    );\r
-\r
-NDIS_STATUS\r
-MPTransferData(\r
-    OUT PNDIS_PACKET              Packet,\r
-    OUT PUINT                     BytesTransferred,\r
-    IN NDIS_HANDLE                MiniportAdapterContext,\r
-    IN NDIS_HANDLE                MiniportReceiveContext,\r
-    IN UINT                       ByteOffset,\r
-    IN UINT                       BytesToTransfer\r
-    );\r
-\r
-VOID\r
-MPHalt(\r
-    IN NDIS_HANDLE                MiniportAdapterContext\r
-    );\r
-\r
-\r
-VOID\r
-MPQueryPNPCapabilities(  \r
-    OUT PADAPT                    MiniportProtocolContext, \r
-    OUT PNDIS_STATUS              Status\r
-    );\r
-\r
-\r
-#ifdef NDIS51_MINIPORT\r
-\r
-VOID\r
-MPCancelSendPackets(\r
-    IN NDIS_HANDLE            MiniportAdapterContext,\r
-    IN PVOID                  CancelId\r
-    );\r
-\r
-VOID\r
-MPAdapterShutdown(\r
-    IN NDIS_HANDLE                MiniportAdapterContext\r
-    );\r
-\r
-VOID\r
-MPDevicePnPEvent(\r
-    IN NDIS_HANDLE                MiniportAdapterContext,\r
-    IN NDIS_DEVICE_PNP_EVENT      DevicePnPEvent,\r
-    IN PVOID                      InformationBuffer,\r
-    IN ULONG                      InformationBufferLength\r
-    );\r
-\r
-#endif // NDIS51_MINIPORT\r
-\r
-VOID\r
-MPFreeAllPacketPools(\r
-    IN PADAPT                    pAdapt\r
-    );\r
-\r
-\r
-VOID\r
-MPProcessSetPowerOid(\r
-    IN OUT PNDIS_STATUS                             pNdisStatus,\r
-    IN PADAPT                                       pAdapt,\r
-    __in_bcount(InformationBufferLength) IN PVOID   InformationBuffer,\r
-    IN ULONG                                        InformationBufferLength,\r
-    OUT PULONG                                      BytesRead,\r
-    OUT PULONG                                      BytesNeeded\r
-    );\r
-\r
-VOID\r
-PtReferenceAdapt(\r
-    IN PADAPT     pAdapt\r
-    );\r
-\r
-BOOLEAN\r
-PtDereferenceAdapt(\r
-    IN PADAPT     pAdapt\r
-    );\r
-\r
-//\r
-// There should be no DbgPrint's in the Free version of the driver\r
-//\r
-#if DBG\r
-\r
-#define DBGPRINT(Fmt)                                        \\r
-    {                                                        \\r
-        DbgPrint("Passthru: ");                                \\r
-        DbgPrint Fmt;                                        \\r
-    }\r
-\r
-#else // if DBG\r
-\r
-#define DBGPRINT(Fmt)                                            \r
-\r
-#endif // if DBG \r
-\r
-#define    NUM_PKTS_IN_POOL    256\r
-\r
-\r
-//\r
-// Protocol reserved part of a sent packet that is allocated by us.\r
-//\r
-typedef struct _SEND_RSVD\r
-{\r
-    PNDIS_PACKET    OriginalPkt;\r
-} SEND_RSVD, *PSEND_RSVD;\r
-\r
-//\r
-// Miniport reserved part of a received packet that is allocated by\r
-// us. Note that this should fit into the MiniportReserved space\r
-// in an NDIS_PACKET.\r
-//\r
-typedef struct _RECV_RSVD\r
-{\r
-    PNDIS_PACKET    OriginalPkt;\r
-} RECV_RSVD, *PRECV_RSVD;\r
-\r
-C_ASSERT(sizeof(RECV_RSVD) <= sizeof(((PNDIS_PACKET)0)->MiniportReserved));\r
-\r
-//\r
-// Event Codes related to the PassthruEvent Structure\r
-//\r
-\r
-typedef enum \r
-{\r
-    Passthru_Invalid,\r
-    Passthru_SetPower,\r
-    Passthru_Unbind\r
-\r
-} PASSSTHRU_EVENT_CODE, *PPASTHRU_EVENT_CODE; \r
-\r
-//\r
-// Passthru Event with  a code to state why they have been state\r
-//\r
-\r
-typedef struct _PASSTHRU_EVENT\r
-{\r
-    NDIS_EVENT Event;\r
-    PASSSTHRU_EVENT_CODE Code;\r
-\r
-} PASSTHRU_EVENT, *PPASSTHRU_EVENT;\r
-\r
-\r
-//\r
-// Structure used by both the miniport as well as the protocol part of the intermediate driver\r
-// to represent an adapter and its corres. lower bindings\r
-//\r
-typedef struct _ADAPT\r
-{\r
-    struct _ADAPT *                Next;\r
-    \r
-    NDIS_HANDLE                    BindingHandle;    // To the lower miniport\r
-    NDIS_HANDLE                    MiniportHandle;    // NDIS Handle to for miniport up-calls\r
-    NDIS_HANDLE                    SendPacketPoolHandle;\r
-    NDIS_HANDLE                    RecvPacketPoolHandle;\r
-    NDIS_STATUS                    Status;            // Open Status\r
-    NDIS_EVENT                     Event;            // Used by bind/halt for Open/Close Adapter synch.\r
-    NDIS_MEDIUM                    Medium;\r
-    NDIS_REQUEST                   Request;        // This is used to wrap a request coming down\r
-                                                // to us. This exploits the fact that requests\r
-                                                // are serialized down to us.\r
-    PULONG                         BytesNeeded;\r
-    PULONG                         BytesReadOrWritten;\r
-    BOOLEAN                        ReceivedIndicationFlags[32];\r
-    \r
-    BOOLEAN                        OutstandingRequests;      // TRUE iff a request is pending\r
-                                                        // at the miniport below\r
-    BOOLEAN                        QueuedRequest;            // TRUE iff a request is queued at\r
-                                                        // this IM miniport\r
-\r
-    BOOLEAN                        StandingBy;                // True - When the miniport or protocol is transitioning from a D0 to Standby (>D0) State\r
-    BOOLEAN                        UnbindingInProcess;\r
-    NDIS_SPIN_LOCK                 Lock;\r
-                                                        // False - At all other times, - Flag is cleared after a transition to D0\r
-\r
-    NDIS_DEVICE_POWER_STATE        MPDeviceState;            // Miniport's Device State \r
-    NDIS_DEVICE_POWER_STATE        PTDeviceState;            // Protocol's Device State \r
-    NDIS_STRING                    DeviceName;                // For initializing the miniport edge\r
-    NDIS_EVENT                     MiniportInitEvent;        // For blocking UnbindAdapter while\r
-                                                        // an IM Init is in progress.\r
-    BOOLEAN                        MiniportInitPending;    // TRUE iff IMInit in progress\r
-    NDIS_STATUS                    LastIndicatedStatus;    // The last indicated media status\r
-    NDIS_STATUS                    LatestUnIndicateStatus; // The latest suppressed media status\r
-    ULONG                          OutstandingSends;\r
-    LONG                           RefCount;\r
-    BOOLEAN                        MiniportIsHalted;\r
-} ADAPT, *PADAPT;\r
-\r
-extern    NDIS_HANDLE                        ProtHandle, DriverHandle;\r
-extern    NDIS_MEDIUM                        MediumArray[4];\r
-extern    PADAPT                             pAdaptList;\r
-extern    NDIS_SPIN_LOCK                     GlobalLock;\r
-\r
-\r
-#define ADAPT_MINIPORT_HANDLE(_pAdapt)    ((_pAdapt)->MiniportHandle)\r
-#define ADAPT_DECR_PENDING_SENDS(_pAdapt)     \\r
-    {                                         \\r
-        NdisAcquireSpinLock(&(_pAdapt)->Lock);   \\r
-        (_pAdapt)->OutstandingSends--;           \\r
-        NdisReleaseSpinLock(&(_pAdapt)->Lock);   \\r
-    }\r
-\r
-//\r
-// Custom Macros to be used by the passthru driver \r
-//\r
-/*\r
-BOOLEAN\r
-IsIMDeviceStateOn(\r
-   PADAPT \r
-   )\r
-\r
-*/\r
-#define IsIMDeviceStateOn(_pP)        ((_pP)->MPDeviceState == NdisDeviceStateD0 && (_pP)->PTDeviceState == NdisDeviceStateD0 ) \r
-\r