mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 15:52:57 +00:00
Convert NdisQueryPacket to an inline function (The DDK also defines it as an inline function). Should fix some warnings with GCC4.2
svn path=/trunk/; revision=25563
This commit is contained in:
parent
603823ffb8
commit
a8897783d7
2 changed files with 47 additions and 43 deletions
|
@ -155,7 +155,7 @@ typedef struct _NIC_ADAPTER
|
||||||
UINT TXFree; /* Number of free transmit buffers */
|
UINT TXFree; /* Number of free transmit buffers */
|
||||||
UINT TXNext; /* Next buffer to use */
|
UINT TXNext; /* Next buffer to use */
|
||||||
/* Length of packet. 0 means buffer is unused */
|
/* Length of packet. 0 means buffer is unused */
|
||||||
INT TXSize[DRIVER_DEFAULT_TX_BUFFER_COUNT];
|
UINT TXSize[DRIVER_DEFAULT_TX_BUFFER_COUNT];
|
||||||
INT TXCurrent; /* Current buffer beeing transmitted. -1 means none */
|
INT TXCurrent; /* Current buffer beeing transmitted. -1 means none */
|
||||||
|
|
||||||
/* Head of transmit queue */
|
/* Head of transmit queue */
|
||||||
|
|
|
@ -2022,48 +2022,52 @@ NdisQueryBufferOffset(
|
||||||
* OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
|
* OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
|
||||||
* OUT PUINT TotalPacketLength OPTIONAL);
|
* OUT PUINT TotalPacketLength OPTIONAL);
|
||||||
*/
|
*/
|
||||||
#define NdisQueryPacket(Packet, \
|
static __inline
|
||||||
PhysicalBufferCount, \
|
VOID
|
||||||
BufferCount, \
|
NdisQueryPacket(
|
||||||
FirstBuffer, \
|
IN PNDIS_PACKET Packet,
|
||||||
TotalPacketLength) \
|
OUT PUINT PhysicalBufferCount OPTIONAL,
|
||||||
{ \
|
OUT PUINT BufferCount OPTIONAL,
|
||||||
if (FirstBuffer) \
|
OUT PNDIS_BUFFER *FirstBuffer OPTIONAL,
|
||||||
*((PNDIS_BUFFER*)FirstBuffer) = (Packet)->Private.Head; \
|
OUT PUINT TotalPacketLength OPTIONAL)
|
||||||
if ((TotalPacketLength) || (BufferCount) || (PhysicalBufferCount)) \
|
{
|
||||||
{ \
|
if (FirstBuffer)
|
||||||
if (!(Packet)->Private.ValidCounts) { \
|
*((PNDIS_BUFFER*)FirstBuffer) = Packet->Private.Head;
|
||||||
UINT _Offset; \
|
if (TotalPacketLength || BufferCount || PhysicalBufferCount)
|
||||||
UINT _PacketLength; \
|
{
|
||||||
PNDIS_BUFFER _NdisBuffer; \
|
if (!Packet->Private.ValidCounts)
|
||||||
UINT _PhysicalBufferCount = 0; \
|
{
|
||||||
UINT _TotalPacketLength = 0; \
|
UINT Offset;
|
||||||
UINT _Count = 0; \
|
UINT PacketLength;
|
||||||
\
|
PNDIS_BUFFER NdisBuffer;
|
||||||
for (_NdisBuffer = (Packet)->Private.Head; \
|
UINT PhysicalBufferCount = 0;
|
||||||
_NdisBuffer != (PNDIS_BUFFER)NULL; \
|
UINT TotalPacketLength = 0;
|
||||||
_NdisBuffer = _NdisBuffer->Next) \
|
UINT Count = 0;
|
||||||
{ \
|
|
||||||
_PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(_NdisBuffer); \
|
for (NdisBuffer = Packet->Private.Head;
|
||||||
NdisQueryBufferOffset(_NdisBuffer, &_Offset, &_PacketLength); \
|
NdisBuffer != (PNDIS_BUFFER)NULL;
|
||||||
_TotalPacketLength += _PacketLength; \
|
NdisBuffer = NdisBuffer->Next)
|
||||||
_Count++; \
|
{
|
||||||
} \
|
PhysicalBufferCount += NDIS_BUFFER_TO_SPAN_PAGES(NdisBuffer);
|
||||||
(Packet)->Private.PhysicalCount = _PhysicalBufferCount; \
|
NdisQueryBufferOffset(NdisBuffer, &Offset, &PacketLength);
|
||||||
(Packet)->Private.TotalLength = _TotalPacketLength; \
|
TotalPacketLength += PacketLength;
|
||||||
(Packet)->Private.Count = _Count; \
|
Count++;
|
||||||
(Packet)->Private.ValidCounts = TRUE; \
|
}
|
||||||
} \
|
Packet->Private.PhysicalCount = PhysicalBufferCount;
|
||||||
\
|
Packet->Private.TotalLength = TotalPacketLength;
|
||||||
if (PhysicalBufferCount) \
|
Packet->Private.Count = Count;
|
||||||
*((PUINT)PhysicalBufferCount) = (Packet)->Private.PhysicalCount; \
|
Packet->Private.ValidCounts = TRUE;
|
||||||
\
|
}
|
||||||
if (BufferCount) \
|
|
||||||
*((PUINT)BufferCount) = (Packet)->Private.Count; \
|
if (PhysicalBufferCount)
|
||||||
\
|
*((PUINT)PhysicalBufferCount) = Packet->Private.PhysicalCount;
|
||||||
if (TotalPacketLength) \
|
|
||||||
*((PUINT)TotalPacketLength) = (Packet)->Private.TotalLength; \
|
if (BufferCount)
|
||||||
} \
|
*((PUINT)BufferCount) = Packet->Private.Count;
|
||||||
|
|
||||||
|
if (TotalPacketLength)
|
||||||
|
*((PUINT)TotalPacketLength) = Packet->Private.TotalLength;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue