[Mono-list] Problem calling ioctl() on 32bit systems, works on 64bit

Natalia Portillo claunia at claunia.com
Fri Jan 29 04:12:30 UTC 2016


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Ok I found the problem, the ioctl number must be 32bit (still works
like that on 64bit systems) or displaces the pointer.

El 29/1/16 a las 3:51, Natalia Portillo escribió:
> On a follow up I have made a little C snippet to intercept the
> ioctl() call.
> 
> On 64 bit: Received fd=3, request=8837, pointer=0x7ffce86ac3b8
> 
> On 32 bit: Received fd=3, request=8837, pointer=(nil)
> 
> El 29/1/16 a las 2:36, Natalia Portillo escribió:
>> Hi all,
> 
>> I've got stuck trying to solve why calling Linux ioctl() on 64bit
>>  systems works perfectly but on 32bit ones doesn't.
> 
>> I have checked the marshalling size, and is as expected (64
>> bytes). Trying to strace on my 32bit system give "ioctl(3, SG_IO,
>> 0)".
> 
>> I have the structure defined in 
>> https://github.com/claunia/DiscImageChef/blob/master/DiscImageChef.De
v
>
>> 
ic
> 
> 
> 
> es/Linux/Structs.cs
> 
>> DllImport defined in 
>> https://github.com/claunia/DiscImageChef/blob/master/DiscImageChef.De
v
>
>> 
ic
> 
> 
> 
> es/Linux/Extern.cs
> 
>> And the calling code in 
>> https://github.com/claunia/DiscImageChef/blob/master/DiscImageChef.De
v
>
>> 
ic
> 
> 
> 
> es/Linux/Command.cs
>> method SendScsiCommand()
> 
>> I have absolutely no clue at this time on why this is happening, 
>> so any help is welcome.
> 
>> Regards, Natalia Portillo 
>> _______________________________________________ Mono-list
>> maillist -  Mono-list at lists.ximian.com 
>> http://lists.ximian.com/mailman/listinfo/mono-list
> 
> _______________________________________________ Mono-list maillist
> -  Mono-list at lists.ximian.com 
> http://lists.ximian.com/mailman/listinfo/mono-list
> 
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iF4EAREIAAYFAlaq5q4ACgkQVFd6BnR3EAAvYwEArGijXGiLoXp64ZVS4Epil/Q8
xkMYgtjNfr10ww/k1pEBAIRbsBQ0Nkrc+OR4Wr+LKQvZsrf4xS7yOyzhP6D9qFFC
=HHd0
-----END PGP SIGNATURE-----


More information about the Mono-list mailing list