This is the mail archive of the cygwin 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] |
Other format: | [Raw text] |
On Jun 6 19:27, joso@post.cz wrote: > 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. Cygwin's pread is only implemented for regular files at the moment, for all other objects it returns -1 with errno set to ESPIPE. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
Attachment:
signature.asc
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |