Uses
        Windows,
        Classes,
        BlckSock;

Const
        TAP_Device = '\\.\Global\{44F7688F-77FA-43DC-8D8F-9CBA23E01BB0}.tap'#00;
        TAP_Buffer = 8192;

Var
        Handle : Integer;
        Buffer : Pointer;
        Stream : THandleStream;
        Count  : Integer;
        
Begin
        Handle := CreateFileA(PChar(TAP_Device), GENERIC_READ or
GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, 0);
        Stream := THandleStream.Create(Handle);
        Buffer := GetMem(TAP_Buffer);
        Repeat
                Count := Stream.Read(Buffer^, TAP_Buffer);
                If Count > 0 Then
                        Stream.Write(Buffer^, Count);
        Until False;
        Stream.Free;
        FreeMem(Buffer, TAP_Buffer);
        CloseHandle(Handle);
End.


=========

i am able to receive packets setting up a tap device with a fixed ip
and doing ping to the gateway address...

now i need to decipher the ioctl calls...

2010/5/13 José Mejuto <joshy...@gmail.com>:
> Hello FPC-Pascal,
>
> Friday, May 14, 2010, 12:14:31 AM, you wrote:
>
> JAGdFJ> This is the C# example i found :
> JAGdFJ> http://www.varsanofiev.com/inside/TunTest.cs
>
> Also this line is wrong IMHO:
>
> TAP_Device = '\\\\.\\Global\\{44F7688F-77FA-43DC-8D8F-9CBA23E01BB0}.tap';
>
> it should be:
>
> TAP_Device = '\\.\Global\{44F7688F-77FA-43DC-8D8F-9CBA23E01BB0}.tap';
>
> Pascal does not need the slash escape sequence.
>
> --
> Best regards,
>  José
>
> _______________________________________________
> fpc-pascal maillist  -  fpc-pas...@lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to