ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

protocol.h
Go to the documentation of this file.
00001 /*
00002  * COPYRIGHT:   See COPYING in the top level directory
00003  * PROJECT:     ReactOS NDIS library
00004  * FILE:        ndis/protocol.h
00005  * PURPOSE:     Definitions for routines used by NDIS protocol drivers
00006  */
00007 
00008 #pragma once
00009 
00010 typedef struct _PROTOCOL_BINDING {
00011     LIST_ENTRY                    ListEntry;        /* Entry on global list */
00012     KSPIN_LOCK                    Lock;             /* Protecting spin lock */
00013     NDIS_PROTOCOL_CHARACTERISTICS Chars;            /* Characteristics */
00014     WORK_QUEUE_ITEM               WorkItem;         /* Work item */
00015     LIST_ENTRY                    AdapterListHead;  /* List of adapter bindings */
00016 } PROTOCOL_BINDING, *PPROTOCOL_BINDING;
00017 
00018 #define GET_PROTOCOL_BINDING(Handle)((PPROTOCOL_BINDING)Handle)
00019 
00020 
00021 typedef struct _ADAPTER_BINDING {
00022     NDIS_OPEN_BLOCK NdisOpenBlock;                            /* NDIS defined fields */
00023 
00024     LIST_ENTRY        ListEntry;                /* Entry on global list */
00025     LIST_ENTRY        ProtocolListEntry;        /* Entry on protocol binding adapter list */
00026     LIST_ENTRY        AdapterListEntry;         /* Entry on logical adapter list */
00027     KSPIN_LOCK        Lock;                     /* Protecting spin lock */
00028     PPROTOCOL_BINDING ProtocolBinding;          /* Protocol that opened adapter */
00029     PLOGICAL_ADAPTER  Adapter;                  /* Adapter opened by protocol */
00030 } ADAPTER_BINDING, *PADAPTER_BINDING;
00031 
00032 typedef struct _NDIS_REQUEST_MAC_BLOCK {
00033     PVOID Unknown1;
00034     PNDIS_OPEN_BLOCK Binding;
00035     PVOID Unknown3;
00036     PVOID Unknown4;
00037 } NDIS_REQUEST_MAC_BLOCK, *PNDIS_REQUEST_MAC_BLOCK;
00038 
00039 #define GET_ADAPTER_BINDING(Handle)((PADAPTER_BINDING)Handle)
00040 
00041 
00042 extern LIST_ENTRY ProtocolListHead;
00043 extern KSPIN_LOCK ProtocolListLock;
00044 
00045 
00046 NDIS_STATUS
00047 ProIndicatePacket(
00048     PLOGICAL_ADAPTER Adapter,
00049     PNDIS_PACKET Packet);
00050 
00051 VOID NTAPI
00052 ProSendPackets(
00053     IN  NDIS_HANDLE     NdisBindingHandle,
00054     IN  PPNDIS_PACKET   PacketArray,
00055     IN  UINT            NumberOfPackets);
00056 
00057 NTSTATUS
00058 NTAPI
00059 NdisIPnPQueryStopDevice(
00060     IN PDEVICE_OBJECT DeviceObject,
00061     PIRP Irp);
00062 
00063 NTSTATUS
00064 NTAPI
00065 NdisIPnPCancelStopDevice(
00066     IN PDEVICE_OBJECT DeviceObject,
00067     PIRP Irp);
00068 
00069 NDIS_STATUS
00070 proSendPacketToMiniport(PLOGICAL_ADAPTER Adapter, PNDIS_PACKET Packet);
00071 
00072 VOID
00073 NTAPI
00074 ndisBindMiniportsToProtocol(OUT PNDIS_STATUS Status, IN PPROTOCOL_BINDING Protocol);
00075 
00076 /* EOF */

Generated on Fri May 25 2012 04:26:10 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.