Hey guys,
I am willing to write a code in win32 on windows or in gcc on Linux. Actually i am novice in this HDD ATA thing and thought will gain knowledge by programming some ATA stuff.
Now, my problems are,
1.How to by pass Windows HAL to get direct access to HDD SA
2.Which win32 API's should be used to read/write on SA
( I have tried DeviceIOControl & ioctl but havnt got much out of that

)
3.In order to read/write using ATA command set what kind of programming mechanism should be used ?
(Is there any recommended way)
4.Can any one share some sample code to read/write HDD with ATA commands? (please)