question about pread() while reading /dev/sdb

joso@post.cz joso@post.cz
Tue Jun 6 17:27:00 GMT 2017


Hello, I'm porting tool from Linux envirmnment to Windows Cygwin.
I'm unable to get correct data from pread() while reading /dev/sdx
On Linux it works as expected, under Cygwin I receive uncorrect data.
I have isolated the problem with the following program:
#include stdio.h
#include sys/types.h
#include sys/stat.h
#include fcntl.h
#include unistd.h
int main(int argc, char *argv[])
{
 unsigned char sbuff[512];
 int f1;
 f1=open(argv[1], O_RDWR);
 pread(f1, sbuff, 512, 0);
 for(int i=0; i 512; i++) printf("%x ",sbuff[i]);
 close(f1);
}
If the argument is regular file it works. But if the argument is /dev/sdb it does not provide correct data. The shell is run under Administrator permission.
Thank you for your opinion.
Josef
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /