On 9/13/07, Bachman Kharazmi <[EMAIL PROTECTED]> wrote:
> int main(int argc){
> int fd,err;
> char* myString = "helloworld\n";
> fd = open("rtser0", O_RDWR);
> if (fd < 0) {
> printf(MAIN_PREFIX "1 : can't open %s (write), %s\n",
> WRITE_FILE,
> strerror(-fd));
> return fd;
> }
> err=ioctl(fd, RTSER_RTIOC_SET_CONFIG, &write_config);
> if (err < 0) {
> printf(MAIN_PREFIX "2 : error %s (write), %s\n", WRITE_FILE,
> strerror(-fd));
> return err;
> }
> err=write(fd, myString, strlen(myString));
> if (err < 0) {
> printf(MAIN_PREFIX "3 : error %s (write), %s\n", WRITE_FILE,
> strerror(-fd));
> return err;
> }
> printf("err is %d\n", err);
> close(fd);
> return 0;
> }
>
> sandbox:/home/bkw/code/driver_v4# ./simpledriver_v4
> main : 1 : can't open rtser0 (write), Operation not permitted
>
> why that, I'm running as root? :/
> /BK
When a posix function returns -1, the reason for the failure is stored
in errno. You are not checking errno.
If you do not know what errno is, type simply "man errno".
--
Gilles Chanteperdrix
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help