Files
reactos/drivers/network/ndis/include/buffer.h
T
Cameron Gutman c2d0d784c7 [USB-BRINGUP-TRUNK]
- Create a branch to do a proper merge of USB work from a trunk base instead of from cmake-bringup
- In the future, DO NOT under any circumstances branch another branch. This leads to merge problems!

svn path=/branches/usb-bringup-trunk/; revision=55018
2012-01-20 20:58:46 +00:00

61 lines
1.4 KiB
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS NDIS library
* FILE: include/buffer.h
* PURPOSE: Buffer management routine definitions
*/
#pragma once
#include "ndissys.h"
/* FIXME: Possibly move this to ntddk.h */
typedef struct _NETWORK_HEADER
{
MDL Mdl; /* Memory Descriptor List */
struct _NETWORK_HEADER *Next; /* Link to next NDIS buffer in pool */
struct _NDIS_BUFFER_POOL *BufferPool; /* Link to NDIS buffer pool */
} NETWORK_HEADER, *PNETWORK_HEADER;
typedef struct _NDIS_BUFFER_POOL
{
KSPIN_LOCK SpinLock;
PNETWORK_HEADER FreeList;
NETWORK_HEADER Buffers[0];
} NDIS_BUFFER_POOL, *PNDIS_BUFFER_POOL;
typedef struct _NDISI_PACKET_POOL {
NDIS_SPIN_LOCK SpinLock;
struct _NDIS_PACKET *FreeList;
UINT PacketLength;
UCHAR Buffer[1];
} NDISI_PACKET_POOL, * PNDISI_PACKET_POOL;
UINT CopyBufferToBufferChain(
PNDIS_BUFFER DstBuffer,
UINT DstOffset,
PUCHAR SrcData,
UINT Length);
UINT CopyBufferChainToBuffer(
PUCHAR DstData,
PNDIS_BUFFER SrcBuffer,
UINT SrcOffset,
UINT Length);
UINT CopyPacketToBuffer(
PUCHAR DstData,
PNDIS_PACKET SrcPacket,
UINT SrcOffset,
UINT Length);
UINT CopyPacketToBufferChain(
PNDIS_BUFFER DstBuffer,
UINT DstOffset,
PNDIS_PACKET SrcPacket,
UINT SrcOffset,
UINT Length);
/* EOF */