Пример #1
0
// set data packet without crc16
static void Dot11BPreparePacket(const Config& config, PVOID pSymbolBuffer, ULONG SymbolBufferSize)
{
	ULONG	i;
    PUCHAR  pbIn = DataBuffer;
    unsigned int dataSize = config.GetPayloadLength();

    assert(DataBufferSize >= dataSize + 4);
	for (i = 0; i < dataSize; i++)
    {
		*pbIn = 'B';
        pbIn++;
    }

	PDOT11RFC1042ENCAP pWlanHeader = (PDOT11RFC1042ENCAP)DataBuffer;
	pWlanHeader->MacHeader.FrameControl.Type = FRAME_DATA;

    *(PULONG)pbIn = CalcCRC32(DataBuffer, dataSize);

	Mdl.Next					= NULL;
	Mdl.StartVa					= (PULONG)DataBuffer;
	Mdl.ByteOffset				= 0;
	Mdl.MappedSystemVa		    = (PULONG)DataBuffer;
	Mdl.ByteCount				= dataSize;

	Packet.pMdl					= &Mdl;
	Packet.PacketSize			= dataSize;
	Packet.pReserved			= pSymbolBuffer;
	Packet.Reserved2			= SymbolBufferSize;
	Packet.Reserved1			= *(PULONG)(DataBuffer + dataSize);

    TxVector.DateRate			= Dot11BDataRate_Kbps2Code(config.GetDataRate());
	TxVector.PreambleType		= DOT11B_PLCP_IS_LONG_PREAMBLE;
}
Пример #2
0
void PreparePacket(const Config& config, PVOID pSymbolBuffer, ULONG SymbolBufferSize)
{
	UINT    i;
    PUCHAR  pbIn = DataBuffer;
    //ULONG   CRC32;

    unsigned int DataSize = config.GetPayloadLength();
    assert(DataBufferSize >= DataSize + 4);
	for (i = 0; i < DataSize; i++)
    {
		*pbIn = 'A';
        pbIn++;
    }

	PDOT11RFC1042ENCAP pWlanHeader = (PDOT11RFC1042ENCAP)DataBuffer;
	pWlanHeader->MacHeader.FrameControl.Type = FRAME_DATA;

    *(PULONG)pbIn = CalcCRC32(DataBuffer, DataSize);

	Mdl.Next					= NULL;
	Mdl.StartVa					= (PULONG)DataBuffer;
	Mdl.ByteOffset				= 0;
	Mdl.MappedSystemVa		    = (PULONG)DataBuffer;
	Mdl.ByteCount				= DataSize;

	Packet.pMdl					= &Mdl;
	Packet.PacketSize			= DataSize;
	Packet.pReserved			= pSymbolBuffer;
	Packet.Reserved2			= SymbolBufferSize;
	Packet.Reserved1			= *(PULONG)(DataBuffer + DataSize);

    TxVector.ti_uiDataRate		= Dot11ADataRate_Kbps2Code(config.GetDataRate());
	TxVector.ti_uiBufferLength	= DataSize;
    TxVector.SampleRate         = config.GetSampleRate();
}