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

Reply via email to