This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

ioctl() confusion


Hi,
You said that it could be because of the RAS device. But the host that I
am testing on has 3 devices: "lo0" (loopback), "eth0" (ether) and 
"ppp4" ( the RAS device ??)
I am confused really because the flags that are returned when I run the
program in the gdb are 0x99 but when I run the executable the flags
returned are 0x34. This observation is quite inexplicable to me.
I would be really grateful if you could clear this issue with me.
If you need I can send you the segment of code where the ioctl() call is
made.
Meanwhile, I wait for your reply.
Thank you for all the help.


Regards,
Ashish

Corinna Vinschen wrote:
> 
> "Ashish C. Nagre" wrote:
> > I have made a strange observation, when the following call is made:
> >
> >         ioctl(fd, SIOCGIFFLAGS, (char *)&ifr)
> >
> > The value returned in the member ifr.ifr_ifru.ifru_flags is different
> > when I just run the executable compared to when I run it in the
> > debugger.
> >         ifr.ifr_ifru.ifru_flags = 34 (executable)
> >         ifr.ifr_ifru.ifru_flags = 99 (in gdb)
> > [...]
> >  Why are the flags returned with different values ?
> 
> The flags are computed through the address of the interface.
> Is it possible, that you are testing it on a RAS device, e.g
> a modem line? When a modem line isn't connected, it returns
> the IP address 0.0.0.0, when it's connected, it returns a legal
> address.
> In case of address 0.0.0.0, the cygwin DLL knows, that the interface
> isn't connected and so returns the flags
>         IFF_NOTRAILERS | IFF_BROADCAST
> The hex value of the above flags is 0x34.
> 
> If the address is a legal IP address, the cygwin DLL knows that the
> interface is connected and so returns
>         IFF_NOTRAILERS | IFF_BROADCAST | IFF_UP | IFF_RUNNING
> The hex code is 0x99.
> 
> You see, both values are possible and you should check it out, if
> you have tested it under different conditions.
> 
> Regards,
> Corinna

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]